:root {
    --rmh-green: #0a6048;
    --rmh-gold: #fcce11;
    --rmh-ink: #17231f;
    --rmh-muted: #66706c;
    --rmh-soft: #f6f2ea;
    --rmh-line: #e5ded1;
    --rmh-white: #ffffff;
    --rmh-purple: #652974;
    --rmh-navy: #171c55;
    --gp-accent: #893b96;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--rmh-ink);
    font-family: Montserrat, Arial, sans-serif;
    background: var(--rmh-white);
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

.container {
    width: min(1260px, calc(100% - 32px));
    margin: 0 auto;
}

.skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 1000;
    transform: translateY(-150%);
    background: var(--rmh-green);
    color: var(--rmh-white);
    padding: 10px 14px;
}

.skip-link:focus {
    transform: translateY(0);
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: var(--rmh-white);
    border-bottom: 8px solid var(--rmh-gold);
    box-shadow: none;
}

#main-content {
    padding-top: 95px;
}

.top-strip {
    display: none;
}

.top-strip__inner,
.top-strip__links,
.main-header__inner,
.desktop-nav,
.header-actions,
.hero-actions,
.social-links {
    display: flex;
    align-items: center;
}

.top-strip__inner {
    min-height: 38px;
    justify-content: space-between;
    gap: 18px;
}

.top-strip p {
    margin: 0;
}

.top-strip__links {
    gap: 18px;
    white-space: nowrap;
}

.main-header__inner {
    position: relative;
    width: calc(100% - 24px);
    max-width: none;
    height: 95px;
    min-height: 95px;
    margin: 0 12px;
    padding: 0;
    display: block;
}

.brand img {
    width: 260px;
    height: auto;
    margin-left: 30px;
}

.brand {
    position: absolute;
    left: 0;
    top: 24px;
    display: block;
}

.desktop-nav {
    position: absolute;
    right: 0;
    top: 50px;
    min-width: 643px;
    justify-content: flex-start;
    gap: 0;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 19.5px;
    text-transform: uppercase;
}

.nav-item {
    position: relative;
    display: block;
    padding: 8px 11.2px;
    min-height: 36px;
    border: 0;
    background: transparent;
    color: var(--rmh-ink);
    cursor: pointer;
    font: inherit;
    white-space: nowrap;
}

.desktop-nav > .nav-item:first-child {
    color: var(--rmh-purple);
}

.nav-item--dropdown > .nav-link {
    display: block;
    color: inherit;
    font: inherit;
    line-height: inherit;
    padding: 0;
    position: relative;
    white-space: nowrap;
}

.nav-item--dropdown > .nav-link::after {
    content: "";
    position: absolute;
    right: -8px;
    top: 50%;
    width: 0;
    height: 0;
    margin-top: -1px;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 4px solid currentColor;
    opacity: .7;
}

.nav-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    display: none;
    background: var(--rmh-white);
    border: 1px solid #e9e9ee;
    border-radius: 10px;
    padding: 8px 0;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
    text-transform: none;
    z-index: 9999;
}

.nav-item--dropdown:hover .nav-dropdown,
.nav-item--dropdown:focus-within .nav-dropdown {
    display: block;
}

.nav-dropdown a {
    display: block;
    padding: 10px 16px;
    color: #222;
    white-space: nowrap;
}

.nav-dropdown a:hover,
.nav-dropdown a:focus {
    background: rgba(137, 59, 150, .08);
    color: #893b96;
}

.header-actions {
    position: absolute;
    right: 0;
    top: 10px;
    justify-content: flex-end;
    width: 349px;
    gap: 14px;
    height: 30px;
    align-items: flex-start;
}

.icon-button,
.apply-button,
.hero-actions a,
.search-overlay button {
    border: 1px solid var(--rmh-purple);
    background: var(--rmh-purple);
    color: var(--rmh-white);
    padding: 6px 20px;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;
    cursor: pointer;
}

.apply-button {
    width: 226px;
    height: 30px;
    min-width: 226px;
    min-height: 30px;
    padding: 0 20px;
    margin-top: 4px;
    border-radius: 18px;
    white-space: nowrap;
    line-height: 28px;
}

.icon-button {
    width: 15px;
    height: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--rmh-purple);
    font-size: 22px;
    line-height: 1;
}

.icon-button::before {
    content: "";
    display: block;
    width: 15px;
    height: 24px;
    background: var(--rmh-purple);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.656a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z'/%3E%3C/svg%3E") center / 15px 15px no-repeat;
}

.header-social {
    display: flex;
    align-items: center;
    gap: 4px;
}

.header-social img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.menu-button {
    display: none;
    width: 44px;
    height: 44px;
    border: 0;
    background: var(--rmh-white);
    padding: 10px;
}

.menu-button span {
    display: block;
    height: 2px;
    margin: 5px 0;
    background: var(--rmh-ink);
}

.mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1001;
    display: block;
    width: 165px;
    max-width: 72vw;
    height: 100vh;
    overflow-y: auto;
    background: #212556;
    transform: translateX(100%);
    transition: transform .6s ease-in-out;
}

.mobile-menu.is-open {
    transform: translateX(0);
}

.mobile-menu nav {
    width: 100%;
    margin: 0;
    padding: 118px 0 0;
}

.mobile-menu a,
.mobile-menu summary {
    position: relative;
    display: block;
    padding: 7px 0 7px 30px;
    border-bottom: 0;
    color: #fff;
    font-family: "PT Sans", Montserrat, Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    text-decoration: none;
}

.mobile-menu nav > a:first-child {
    color: #fcce11;
}

.mobile-menu details {
    position: relative;
}

.mobile-menu summary {
    list-style: none;
    cursor: pointer;
}

.mobile-menu summary::-webkit-details-marker {
    display: none;
}

.mobile-menu summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 0;
    display: grid;
    width: 24px;
    height: 32px;
    place-items: center;
    border-radius: 5px 0 0 5px;
    background: #fff;
    color: #212556;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-50%);
}

.mobile-menu details[open] summary::after {
    content: "-";
}

.mobile-menu details a {
    padding-left: 42px;
    color: #fff;
    font-size: 14px;
    line-height: 21px;
}

.mobile-menu__close {
    position: absolute;
    top: 22px;
    right: 10px;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 48px;
    font-weight: 300;
    line-height: 38px;
    cursor: pointer;
}

.mobile-menu__admissions {
    margin-top: 23px;
    color: #fcce11 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 21px !important;
    text-decoration: underline !important;
}

.mobile-menu__social {
    display: flex;
    gap: 14px;
    padding: 24px 0 0 30px;
}

.mobile-menu__social a {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    padding: 0;
    color: #212556;
    border-radius: 50%;
    background: #fff;
    font-size: 17px;
    line-height: 1;
}

.search-overlay {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: grid;
    place-items: center;
    background: rgba(10, 96, 72, .94);
    padding: 24px;
}

.search-overlay[hidden] {
    display: none;
}

.search-overlay form {
    display: grid;
    width: min(720px, 100%);
    gap: 14px;
}

.search-overlay label {
    color: var(--rmh-white);
    font-family: Domine, Georgia, serif;
    font-size: 42px;
    font-weight: 700;
}

.search-overlay input {
    width: 100%;
    border: 0;
    padding: 18px;
    font-size: 18px;
}

.home-hero,
.page-hero {
    background: #652974;
    color: var(--rmh-white);
}

.home-hero__inner,
.page-hero .container {
    min-height: 255px;
    display: grid;
    align-content: center;
    gap: 16px;
    padding: 58px 0 54px;
}

.home-hero p,
.page-hero p {
    margin: 0;
    color: #fcce11;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
    text-transform: uppercase;
}

.home-hero h1,
.page-hero h1 {
    max-width: 780px;
    margin: 0;
    font-family: Domine, Georgia, serif;
    font-size: 48px;
    font-weight: 400;
    line-height: 58px;
}

.home-hero span,
.page-hero span {
    max-width: 680px;
    color: rgba(255, 255, 255, .9);
    font-family: Montserrat, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 29px;
}

.inner-page {
    padding: 50px 0;
    background: var(--rmh-white);
}

.inner-page__grid {
    display: grid;
    grid-template-columns: minmax(0, 760px) 300px;
    gap: 70px;
    align-items: start;
}

.inner-page__grid--wide {
    grid-template-columns: minmax(0, 1fr);
}

.inner-page__content {
    max-width: 760px;
}

.inner-page__grid--wide .inner-page__content {
    max-width: none;
}

.inner-page__sidebar {
    display: grid;
    gap: 18px;
    padding: 28px;
    background: #f7f4f7;
}

.inner-page__after {
    margin-top: 58px;
}

.editable-content h2,
.editable-content h3,
.editable-content h4 {
    margin: 0 0 20px;
    color: #652974;
    font-family: Domine, Georgia, serif;
    font-weight: 400;
}

.editable-content h2 {
    font-size: 36px;
    line-height: 44px;
}

.editable-content h3 {
    font-size: 28px;
    line-height: 36px;
}

.editable-content h4 {
    font-size: 22px;
    line-height: 30px;
}

.editable-content p,
.editable-content li {
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 29px;
}

.editable-content p,
.editable-content ul,
.editable-content ol {
    margin: 0 0 24px;
}

.editable-content ul,
.editable-content ol {
    padding-left: 24px;
}

.editable-content a {
    color: #652974;
    font-weight: 700;
    text-decoration: underline;
}

.editable-content img {
    max-width: 100%;
    height: auto;
}

.editable-content code {
    color: #652974;
    font-family: Consolas, Monaco, monospace;
    font-size: .9em;
}

.breadcrumb-wrapper {
    margin: 15px 0;
    padding-top: 25px;
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin: 0 0 0 20px;
    padding: 0;
    background: transparent;
    color: #6c757d;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 29px;
    list-style: none;
}

.breadcrumb li + li::before {
    content: ">>";
    color: #652974;
    padding: 0 5px;
}

.breadcrumb a {
    color: #652974;
    font-size: 18px;
    margin-right: 10px;
    text-decoration: none;
}

.breadcrumb a:hover {
    text-decoration: underline;
}

.about-link-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.about-link-grid a {
    display: grid;
    min-height: 170px;
    align-content: end;
    gap: 14px;
    padding: 30px;
    background: #f7f4f7;
    color: #652974;
    text-decoration: none;
}

.about-link-grid span {
    color: #652974;
    font-family: Domine, Georgia, serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 38px;
}

.about-link-grid strong {
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 25px;
}

.about-story,
.team-list {
    display: grid;
    gap: 54px;
    padding-top: 60px;
}

.about-split {
    display: grid;
    grid-template-columns: 340px minmax(0, 800px);
    gap: 40px;
    align-items: start;
}

.about-split--offset {
    grid-template-columns: 340px minmax(0, 800px);
}

.about-split--offset > * {
    grid-column: 2;
}

.about-split__title h2 {
    margin: 0;
    color: #652974;
    font-family: Domine, Georgia, serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 48px;
    text-align: right;
}

.about-split__body img,
.hostel-team img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}

.about-stone {
    display: grid;
    grid-template-columns: 269px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.about-stone img {
    display: block;
    width: 100%;
    height: auto;
}

.about-stone p:nth-child(2) {
    color: #652974;
}

.editable-content .rmquote {
    color: #652974;
    font-weight: 700;
    font-size: 14px;
    line-height: 29px;
}

h1.customh1 {
    font-size: 14px;
    padding-bottom: 20px;
    position: absolute;
    margin-top: -45px;
    font-weight: 500;
    margin-left: 32px;
    text-align: center;
}

.team-member {
    display: grid;
    grid-template-columns: 335px minmax(0, 1fr);
    gap: 42px;
    align-items: start;
}

.team-member img {
    display: block;
    width: 158px;
    height: 158px;
    justify-self: end;
    border-radius: 50%;
    object-fit: cover;
}

.team-member h2 {
    margin-bottom: 4px;
    font-size: 20px;
    font-family: 'Montserrat';
    font-weight: 600;
    color: #000;
}

.team-member h2 span {
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
}

.team-member h3 {
    margin: 0 0 2px;
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 26px;
}

.team-list--compact {
    gap: 42px;
}

.team-list--compact .team-member img {
    width: 150px;
    height: 150px;
}

.hostel-team {
    display: grid;
    max-width: 760px;
    margin: 64px 0 52px 375px;
}

.hostel-team h2 {
    color: #506978;
    font-size: 27px;
    font-weight: 700;
    line-height: 36px;
}

.about-actions {
    display: flex;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 64px;
}

.about-actions .rmh-button {
    min-width: 320px;
    color: #FCCE11;
    text-decoration: none;
}

.static-row {
    display: grid;
    grid-template-columns: 340px minmax(0, 800px);
    gap: 40px;
    align-items: start;
    margin-bottom: 64px;
}

.static-title h1,
.static-title h2 {
    margin: 0 0 15px;
    color: #652974;
    font-family: Domine, Georgia, serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 48px;
    text-align: right;
}

.static-title h2 {
    font-size: 27px;
    line-height: 36px;
}

.static-content > img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 22px;
}

.image-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 26px;
}

.image-grid figure {
    margin: 0;
}

.image-grid img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.image-grid figcaption {
    margin-top: 8px;
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 13px;
    line-height: 20px;
}

.event-gallery {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 26px;
}

.event-gallery__item {
    display: none;
    margin: 0;
}

.event-gallery__item.is-visible {
    display: block;
}

.event-gallery__item img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.event-gallery__arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: grid;
    width: 45px;
    height: 55px;
    place-items: center;
    transform: translateY(-50%);
    border: 0;
    background: #212556;
    color: #fff;
    cursor: pointer;
    font-size: 30px;
    line-height: 1;
}

.event-gallery__arrow--prev {
    left: 0;
}

.event-gallery__arrow--next {
    right: 0;
}

.section-heading-blue {
    margin: 0 0 32px;
    color: rgb(80, 105, 120);
    font-family: Domine, Georgia, serif;
    font-size: 27px;
    font-weight: 700;
    line-height: 32px;
}

.editable-content .section-heading-blue {
    margin: 0 0 32px;
    color: rgb(80, 105, 120);
    font-family: Domine, Georgia, serif;
    font-size: 27px;
    font-weight: 700;
    line-height: 32px;
}

.section-heading-blue--center {
    text-align: center;
}

.student-life-row {
    width: 100%;
    grid-template-columns: 340px minmax(0, 1fr);
}

.student-life-gallery-row {
    margin-top: 88px;
}

.student-representatives-row {
    margin-top: 38px;
}

.student-representatives-heading {
    margin-left: 340px;
}

.student-representatives {
    display: grid;
    gap: 64px;
    max-width: none;
}

.student-representative {
    display: grid;
    width: calc(100% + 340px);
    margin-left: -340px;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 0;
    align-items: center;
}

.student-representative img {
    display: block;
    width: 150px;
    height: 150px;
    justify-self: end;
    margin-right: 44px;
    border-radius: 50%;
    object-fit: cover;
}

.student-representative p {
    margin: 0 0 8px;
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
}

.student-representative strong {
    font-weight: 800;
}

.stay-carousel {
    position: relative;
    margin-bottom: 26px;
}

.stay-carousel__slides {
    display: grid;
    position: relative;
}

.stay-carousel__slide {
    display: block;
    grid-area: 1 / 1;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 1200ms ease, visibility 0s linear 1200ms;
}

.stay-carousel__slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 1200ms ease;
}

.stay-carousel__slide img {
    display: block;
    width: 100%;
    height: auto;
}

.stay-carousel__slide figcaption {
    margin-top: 18px;
    color: #212556;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 29px;
}

.stay-carousel__arrow {
    position: absolute;
    top: calc(50% - 30px);
    z-index: 2;
    display: grid;
    width: 48px;
    height: 60px;
    place-items: center;
    border: 0;
    background: transparent;
    color: #171c55;
    cursor: pointer;
    font-size: 30px;
    line-height: 1;
}

.stay-carousel__arrow--prev {
    left: -92px;
}

.stay-carousel__arrow--next {
    right: -92px;
}

.stay-carousel__dots {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 18px;
}

.stay-carousel__dots button {
    width: 12px;
    height: 12px;
    padding: 0;
    border: 2px solid #9eb2bd;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.stay-carousel__dots button.is-active {
    background: #506978;
    border-color: #506978;
}

.feature-list,
.faq-list,
.testimonial-list,
.compact-list {
    display: grid;
    gap: 28px;
}

.feature-list article,
.faq-list article,
.testimonial-list article {
    padding-bottom: 24px;
    border-bottom: 1px solid #eee;
}

.faq-list--original {
    gap: 0;
}

.faq-list--original article {
    padding-bottom: 26px;
    border-bottom: 0;
}

.feature-list h3,
.faq-list h2,
.testimonial-list h2,
.testimonial-list h3 {
    margin-bottom: 10px;
    color: #652974;
    font-family: Domine, Georgia, serif;
    font-weight: 700;
}

.feature-list h3 {
    font-size: 23px;
    line-height: 32px;
}

.features-subtitle {
    margin: 0 0 0;
    color: #652974;
    font-family: Domine, Georgia, serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 42px;
}

.features-page .feature-group {
    margin-bottom: 74px;
}

.feature-group__heading {
    display: grid;
    grid-template-columns: 340px minmax(0, 800px);
    gap: 40px;
    align-items: start;
    margin-bottom: 62px;
}

.features-page .feature-list {
    display: grid;
    gap: 54px;
}

.features-page .feature-card {
    display: grid;
    grid-template-columns: 340px minmax(0, 800px);
    gap: 40px;
    align-items: start;
    padding-bottom: 0;
    border-bottom: 0;
}

.features-page .feature-card__media {
    text-align: right;
}

.features-page .feature-card__media img {
    display: block;
    width: 100%;
    height: auto;
}

.features-page .feature-card h3 {
    margin: 0 0 24px;
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 29px;
}

.features-page .feature-card p {
    margin: 0;
}

.alumni-page {
    display: grid;
    gap: 48px;
}

.alumni-entry {
    display: grid;
    grid-template-columns: 340px minmax(0, 800px);
    gap: 40px;
    align-items: start;
}

.alumni-entry--offset {
    padding-top: 8px;
}

.alumni-card__head {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 12px;
}

.alumni-card__head img {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    object-fit: cover;
}

.alumni-card__head strong {
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

.alumni-card h2 {
    margin: 0 0 18px;
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
}

.alumni-card p {
    margin: 0;
}

.faq-list h2,
.testimonial-list h2 {
    font-size: 24px;
    line-height: 32px;
}

.testimonial-list h3 {
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 16px;
    line-height: 24px;
}

.download-list {
    display: grid;
    gap: 22px;
    margin: 0;
    padding-left: 22px;
}

.download-list a {
    color: #652974;
    font-family: Domine, Georgia, serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 34px;
}

.page-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 24px;
}

.page-actions--faqs {
    display: grid;
    justify-items: start;
    gap: 14px;
}

.page-actions--faqs .rmh-button {
    width: 280px;
}

.static-form {
    display: grid;
    gap: 18px;
    max-width: 560px;
}

.form-errors {
    max-width: 560px;
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid #f1b7b7;
    background: #fff5f5;
    color: #8b1a1a;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px;
    line-height: 22px;
}

.form-errors ul {
    margin: 6px 0 0 18px;
    padding: 0;
}

.honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.static-form label {
    display: grid;
    gap: 7px;
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 24px;
}

.static-form input,
.static-form textarea {
    width: 100%;
    border: 1px solid #ddd;
    padding: 12px 14px;
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 15px;
    line-height: 24px;
}

.contact-page-shell,
.inner-page:has(.contact-intro-row) {
    padding-top: 96px;
}

.contact-page-shell .static-row,
.inner-page:has(.contact-intro-row) .static-row {
    grid-template-columns: 340px minmax(0, 1fr);
}

.contact-intro-row {
    margin-bottom: 88px;
}

.contact-intro-row .static-content {
    max-width: 1160px;
}

.contact-intro-row .static-content p {
    margin-bottom: 0;
}

.contact-text-link {
    color: rgb(101, 41, 116);
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 29px;
    text-decoration: underline;
}

.contact-form-row {
    margin-bottom: 64px;
}

.contact-form-row .static-title {
    min-height: 1px;
}

.contact-form-row .static-form,
.contact-form-row .form-errors {
    max-width: none;
}

.contact-address-row .static-content {
    max-width: 800px;
}

.contact-address-heading {
    margin-bottom: 18px;
}

.contact-address-row .static-content p {
    margin-bottom: 56px;
}

.map-embed iframe {
    width: 100%;
    height: 300px;
    border: 0;
}

.hero-actions {
    gap: 14px;
    flex-wrap: wrap;
}

.hero-actions a:nth-child(2) {
    background: transparent;
    border-color: var(--rmh-white);
}

.wp-home-hero {
    position: relative;
    overflow: visible;
    height: calc((100vw * 412 / 1366) + 109px);
    max-height: 681px;
    background: #fff;
}

.wp-home-hero__slides {
    position: relative;
    overflow: hidden;
    height: calc(100vw * 412 / 1366);
    max-height: 572px;
    min-height: 0;
}

.wp-home-hero__slide {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: auto;
    margin: 0;
    opacity: 0;
    transition: opacity .8s ease;
}

.wp-home-hero__slide.is-active {
    opacity: 1;
}

.wp-home-hero__slide img {
    width: 100%;
    height: auto;
}

.wp-home-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: transparent;
    pointer-events: none;
}

.wp-home-hero__caption,
.wp-home-hero__caption-bg {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 98;
}

.wp-home-hero__caption {
    bottom: 70px;
    z-index: 98;
    mix-blend-mode: normal;
}

.wp-home-hero__caption-bg {
    bottom: 20px;
    z-index: 97;
    mix-blend-mode: multiply;
}

.wp-home-hero__caption-inner {
    position: relative;
    display: block;
    width: 589px;
    height: 198px;
    margin-left: calc((100vw - 1180px) / 2 + 351px);
    margin-right: 0;
    padding: 40px 30px 30px;
    background: transparent;
}

.wp-home-hero__caption-bg-inner {
    width: 589px;
    height: 204px;
    margin-left: calc((100vw - 1180px) / 2 + 351px);
    margin-right: 0;
    padding: 40px 30px 30px;
    background: #883b96;
}

.wp-home-hero h1 {
    max-width: 600px;
    margin: 0;
    color: var(--rmh-white);
    font-family: Domine, Georgia, serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 40px;
}

.wp-home-hero h1 strong {
    font-weight: 700;
}

.wp-home-hero h1 a {
    color: #fcce11;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.wp-home-hero__caption .rmh-button {
    margin-top: 20px;
    text-transform: none;
}

.wp-home-hero__dots {
    position: absolute;
    left: 19%;
    bottom: 62px;
    z-index: 99;
    display: inline-block;
    width: auto;
    margin: 0;
    text-align: left;
    transform: none;
}

.wp-home-hero__dots button {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 1px;
    padding: 0;
    border: 2px solid #506978;
    border-radius: 50%;
    background: #fff;
    background-clip: border-box;
    cursor: pointer;
    opacity: 1;
}

.wp-home-hero__dots button.is-active {
    background: #506978;
}

.rmh-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-height: 42px;
    padding: 16px 35px;
    border: 1px solid currentColor;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    text-transform: none;
}

.rmh-button--gold {
    border-color: #fcce11;
    background: #fcce11;
    color: #652974;
    border-radius: 30px;
    min-width: 212px;
}

@media (min-width: 992px) and (max-width: 1215px) {
    .wp-home-hero,
    .wp-home-hero__slides {
        height: calc(100vw * 412 / 1366);
        min-height: 299px;
        max-height: 362px;
    }

    .wp-home-hero__caption,
    .wp-home-hero__caption-bg {
        bottom: -22%;
    }

    .wp-home-hero__caption-inner,
    .wp-home-hero__caption-bg-inner {
        width: 91%;
        height: 213px;
        margin-left: 10%;
        padding: 40px 30px 30px;
    }

    .wp-home-hero__dots {
        left: 10%;
        bottom: -9%;
    }
}

@media (min-width: 1200px) and (max-width: 1299px) {
    .wp-home-hero,
    .wp-home-hero__slides {
        height: 415px;
        min-height: 415px;
    }

    .wp-home-hero__caption {
        bottom: 0;
    }

    .wp-home-hero__caption-bg {
        bottom: -12px;
    }

    .wp-home-hero__caption-inner,
    .wp-home-hero__caption-bg-inner {
        width: 598px;
        height: 213px;
        margin-left: calc((100vw - 1180px) / 2 + 392px);
        padding: 35px 30px 30px;
    }

    .wp-home-hero h1 {
        max-width: 538px;
    }

    .wp-home-hero__dots {
        left: 11%;
        bottom: 6px;
    }
}

@media (min-width: 1300px) {
    .wp-home-hero__caption {
        bottom: 69px;
    }

    .wp-home-hero__caption-bg {
        bottom: 65px;
    }

    .wp-home-hero__caption-inner {
        width: 660px;
        height: 220px;
        margin-left: calc((100vw - 1180px) / 2 + 351px);
        padding: 40px 30px 30px;
    }

    .wp-home-hero__caption-bg-inner {
        width: 750px;
        height: 203px;
        margin-left: calc((100vw - 1180px) / 2 + 351px);
        padding: 43px 30px 30px;
    }

    .wp-home-hero__caption .rmh-button--gold {
        min-width: 0;
        min-height: 53px;
        padding: 15px 39px;
        font-size: 16px;
        font-weight: 600;
        border-radius: 30px;
    }

    .wp-home-hero__dots {
        left: 17%;
        bottom: 75px;
    }
}

.rmh-button--purple {
    border-color: var(--rmh-navy);
    background: var(--rmh-navy);
    color: var(--rmh-gold);
    border-radius: 28px;
}

.rmh-button--navy {
    border-color: var(--rmh-navy);
    background: var(--rmh-navy);
    color: #fcce11 !important;
    border-radius: 28px;
    min-width: 220px;
    text-decoration: none !important;
}

.home-features {
    padding: 85px 0 56px;
}

.home-narrow {
    width: min(855px, calc(100% - 32px));
}

.home-feature {
    display: grid;
    grid-template-columns: 25% 75%;
    gap: 0;
    padding: 25px 0;
    border-bottom: 0;
}

.home-feature:first-child {
    padding-top: 0;
}

.home-feature__icon {
    display: grid;
    justify-items: end;
    align-items: start;
    padding-right: 15px;
}

.home-feature__icon img {
    width: 150px;
    max-height: 150px;
}

.home-feature h2,
.home-video h2,
.home-rooms h2,
.home-social h2 {
    margin: 0 0 15px;
    color: var(--rmh-purple);
    font-family: Domine, Georgia, serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.25;
}

.home-feature h2 {
    font-size: 28px;
    line-height: 35px;
}

.home-feature p {
    margin: 0;
    color: #000;
    font-size: 16px;
    font-weight: 400;
    line-height: 29px;
}

.home-feature a {
    color: var(--rmh-purple);
    font-family: Montserrat, Arial, sans-serif;
    font-weight: 700;
    font-size: 14px;
    text-decoration: underline;
}

.home-feature-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 25px;
    justify-content: flex-start;
    padding-left: 25%;
}

.home-video {
    display: grid;
    width: min(870px, calc(100% - 32px));
    gap: 12px;
    margin-top: 58px;
    text-align: center;
}

.home-video__frame {
    overflow: hidden;
    background: #000;
}

.home-video iframe {
    display: block;
    width: 100%;
    height: 350px;
}

.home-rooms {
    position: relative;
    overflow: visible;
}

.home-rooms > img {
    width: 100%;
    height: auto;
}

.home-rooms__panel {
    position: absolute;
    left: calc((100vw - 1180px) / 2 + 340px);
    bottom: -50px;
    display: grid;
    width: 510px;
    height: 199px;
    gap: 0;
    padding: 23px 31px;
    background: rgba(252, 206, 17, .8);
}

.home-rooms h2 {
    margin-bottom: 0;
    padding-bottom: 20px;
    color: var(--rmh-navy);
    font-size: 32px;
    font-weight: 600;
    line-height: 40px;
}

.home-rooms__panel .rmh-button {
    width: 223px;
    height: 53px;
    min-height: 53px;
    margin-top: 0;
    padding: 16px 35px;
}

.home-reviews {
    padding: 75px 0 46px;
}

.home-reviews .home-narrow {
    padding-left: 13%;
}

.home-reviews h2 {
    margin-bottom: 15px;
    color: #212556;
    font-family: Domine, Georgia, serif;
    font-size: 28px;
    font-weight: 600;
    line-height: 35px;
}

.home-reviews__track {
    position: relative;
    min-height: 292px;
    overflow: hidden;
}

.home-review {
    position: absolute;
    inset: 0;
    max-width: none;
    visibility: visible;
    transition: transform 900ms cubic-bezier(.22, .61, .36, 1);
    will-change: transform;
}

.home-review.is-active {
    position: relative;
}

.home-review p {
    margin: 0;
    color: #000;
    min-height: 188px;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 29px;
}

.home-review strong,
.home-review span {
    display: block;
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 16px;
    line-height: 29px;
}

.home-review strong {
    font-weight: 800;
}

.home-review span {
    margin-top: 0;
    font-weight: 400;
}

.home-review-controls {
    display: flex;
    position: relative;
    gap: 10px;
    margin-top: 18px;
}

.home-review-controls button {
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: #212556;
    font-size: 52px;
    line-height: 1;
    cursor: pointer;
    transition: color 220ms ease;
}

.home-review-controls button:hover,
.home-review-controls button:focus {
    color: var(--rmh-purple);
}

.home-review-controls button:first-child {
    position: absolute;
    left: -83px;
    top: -216px;
}

.home-review-controls button:last-child {
    position: absolute;
    right: -83px;
    top: -216px;
}

.home-social-actions {
    display: flex;
    justify-content: center;
    gap: 32px;
    margin-top: 58px;
    flex-wrap: wrap;
}

.home-social {
    padding: 0 0 72px;
}

.home-social .home-narrow {
    padding-left: 13%;
}

#curator-feed-default-feed-layout {
    width: 100%;
    min-height: 180px;
    margin-top: 42px;
}

.site-footer {
    background: var(--rmh-purple);
    color: var(--rmh-white);
}

.footer-grid {
    display: grid;
    grid-template-columns: 150px 250px 1fr;
    column-gap: 78px;
    padding: 60px 22px;
}

.footer-links {
    display: grid;
    align-content: start;
    gap: 18px;
}

.footer-links a {
    color: var(--rmh-white);
    font-size: 14px;
    font-weight: 300;
    line-height: 1;
    text-decoration: underline;
}

.footer-links a:hover {
    color: var(--rmh-gold);
}

.footer-social-icons {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 0;
}

.footer-social-icons img {
    width: 25px;
    height: 25px;
    object-fit: contain;
}

.footer-social-icons__youtube {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    color: var(--rmh-gold) !important;
    font-size: 25px;
    line-height: 1;
    text-decoration: none !important;
    vertical-align: middle;
}

.footer-social-icons__youtube:hover {
    color: var(--rmh-gold) !important;
    text-decoration: none !important;
}

.footer-social-icons__youtube i {
    display: block;
    width: 25px;
    height: 25px;
    color: var(--rmh-gold) !important;
    font-size: 25px;
    line-height: 25px;
    text-align: center;
}

.footer-address {
    display: grid;
    align-content: start;
    gap: 22px;
    font-style: normal;
}

.footer-address,
.footer-address a,
.footer-address span,
.footer-address strong {
    color: var(--rmh-gold);
    font-size: 14px;
    font-weight: 300;
    line-height: 1;
}

.footer-address a {
    text-decoration: none;
}

.footer-address a:hover {
    color: var(--rmh-white);
}

.footer-contact-button {
    width: max-content;
    min-width: 135px;
    height: 53px;
    margin-top: 33px;
    padding: 14px 22px;
    border-radius: 50px;
    background: var(--rmh-gold);
    color: var(--rmh-purple) !important;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 25px !important;
    text-align: center;
}

.footer-bottom {
    background: var(--rmh-white);
    color: #000;
}

.footer-bottom .container {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 15px 0;
}

.footer-bottom p {
    margin: 0;
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
}

.footer-bottom a {
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
    text-decoration: underline;
}

.blog-page {
    padding: 110px 0 95px;
    background: var(--rmh-white);
}

.blog-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 54px;
    align-items: start;
}

.blog-sidebar h1,
.blog-single__header h1 {
    margin: 0 0 24px;
    color: var(--rmh-purple);
    font-family: Domine, serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.14;
}

.blog-sidebar p,
.blog-single__header p,
.blog-card p,
.blog-content p,
.blog-content li {
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 29px;
}

.blog-categories {
    display: grid;
    gap: 12px;
}

.blog-categories a {
    color: var(--rmh-purple);
    font-family: Montserrat, Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-decoration: underline;
}

.blog-categories a.is-active {
    color: var(--rmh-navy);
}

.blog-list {
    display: grid;
    gap: 34px;
}

.blog-card {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    padding-bottom: 34px;
    border-bottom: 1px solid #e8e3ec;
}

.blog-card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.blog-card h2 {
    margin: 4px 0 10px;
    color: var(--rmh-purple);
    font-family: Domine, serif;
    font-size: 30px;
    line-height: 1.2;
}

.blog-card h2 a {
    color: inherit;
    text-decoration: none;
}

.blog-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 8px;
    color: #6c757d;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 13px;
    line-height: 20px;
}

.blog-meta a,
.blog-read-more {
    color: var(--rmh-purple);
    font-weight: 700;
    text-decoration: underline;
}

.blog-empty {
    padding: 34px;
    background: #f8f5fa;
}

.blog-single {
    max-width: 920px;
}

.blog-single__header {
    margin-bottom: 30px;
}

.blog-single__image {
    display: block;
    width: 100%;
    max-height: 520px;
    margin-bottom: 34px;
    object-fit: cover;
}

.blog-content h2,
.blog-content h3,
.blog-content h4 {
    margin: 34px 0 12px;
    color: var(--rmh-purple);
    font-family: Domine, serif;
}

.blog-content img {
    max-width: 100%;
    height: auto;
}

.blog-related {
    margin-top: 54px;
    padding-top: 34px;
    border-top: 1px solid #e8e3ec;
}

.blog-related h2 {
    margin: 0 0 18px;
    color: var(--rmh-purple);
    font-family: Domine, serif;
    font-size: 32px;
}

.blog-related__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.blog-related__grid a {
    display: grid;
    gap: 6px;
    padding: 18px;
    border: 1px solid #e8e3ec;
    color: var(--rmh-navy);
    text-decoration: none;
}

.blog-related__grid span {
    color: #6c757d;
    font-size: 13px;
}

.gp-blog {
    width: 100%;
    padding: 32px 20px;
    background: #fff;
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px;
    line-height: 21px;
}

.gp-blog__header,
.gp-blog__grid,
.gp-blog__pagination,
.gp-single__breadcrumb,
.gp-single__container {
    width: min(1200px, 100%);
    margin-left: auto;
    margin-right: auto;
}

.gp-blog__header {
    margin-bottom: 20px;
}

.gp-blog__title {
    margin: 0 0 4px;
    color: #222;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 43.2px;
    text-align: center;
}

.gp-blog__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.gp-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #ececec;
    background: #fff;
}

.gp-card__thumb {
    display: block;
    height: 215.25px;
    overflow: hidden;
}

.gp-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gp-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
    padding: 18px 18px 16px;
}

.gp-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    color: #6b6b6b;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14.4px;
    font-weight: 400;
    line-height: 21.6px;
}

.gp-card__meta a,
.gp-entry__meta a,
.gp-single__breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.gp-card__title {
    margin: 0;
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 17.6px;
    font-weight: 500;
    line-height: 23.76px;
}

.gp-card__title a {
    color: inherit;
    text-decoration: none;
}

.gp-card__excerpt {
    margin: 0;
    color: #444;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 22.4px;
}

.gp-card__readmore {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    border: 1px solid rgba(137, 59, 150, 0.35);
    border-radius: 999px;
    background: rgba(137, 59, 150, .12);
    color: var(--gp-accent);
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 21px;
    text-decoration: none;
    justify-content: center;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.gp-blog__pagination {
    margin-top: 34px;
}

.gp-blog__pagination nav {
    display: flex;
    justify-content: center;
}

.gp-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #222;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px;
    line-height: 21px;
}

.gp-pagination__pages {
    display: flex;
    align-items: center;
    gap: 6px;
}

.gp-pagination__control,
.gp-pagination__page,
.gp-pagination__ellipsis {
    display: inline-flex;
    min-width: 36px;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(137, 59, 150, 0.35);
    border-radius: 999px;
    background: rgba(137, 59, 150, 0.08);
    color: var(--gp-accent);
    font-weight: 600;
    text-decoration: none;
}

.gp-pagination__control {
    padding: 7px 16px;
}

.gp-pagination__page--current {
    border-color: var(--gp-accent);
    background: var(--gp-accent);
    color: #fff;
}

.gp-pagination__control--disabled {
    opacity: .45;
}

.gp-blog__empty {
    grid-column: 1 / -1;
    padding: 28px;
    border: 1px solid #ececec;
    background: #fff;
}

.gp-single {
    padding: 20px 20px 40px;
    background: #fff;
    color: #000;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px;
    line-height: 21px;
}

.gp-single__breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
    color: #58616a;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 23px;
}

.gp-single__breadcrumb a {
    color: #652974;
    text-decoration: none;
}

.gp-single__breadcrumb > * + *::before {
    content: "/";
    margin-right: 10px;
    color: #222;
}

.gp-single__container {
    display: grid;
    grid-template-columns: minmax(0, 852px) 320px;
    gap: 28px;
    align-items: start;
}

.gp-single__content {
    min-width: 0;
}

.gp-entry__title {
    margin: 0 0 22px;
    color: #652974;
    font-family: Domine, Georgia, serif;
    font-size: 40px;
    font-weight: 600;
    line-height: 48px;
}

.gp-entry__thumb {
    margin: 0 0 14px;
}

.gp-entry__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.gp-entry__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 18px;
    color: #6b6b6b;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 15.2px;
    font-weight: 400;
    line-height: 22.8px;
}

.gp-entry__body,
.gp-entry__body p,
.gp-entry__body li {
    color: #222;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
}

.gp-entry__body p {
    margin: 0 0 21px;
}

.gp-entry__body h2 {
    margin: 32px 0 16px;
    color: #222;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 38.4px;
}

.gp-entry__body h3 {
    margin: 28px 0 14px;
    color: #222;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 33.6px;
}

.gp-entry__body h4 {
    margin: 24px 0 12px;
    color: #222;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 28.8px;
}

.gp-entry__body ul,
.gp-entry__body ol {
    margin: 0 0 21px 24px;
    padding: 0;
}

.gp-entry__body a {
    color: #652974;
    font-weight: 600;
    text-decoration: underline;
}

.gp-entry__body img {
    max-width: 100%;
    height: auto;
}

.gp-single__sidebar {
    min-width: 0;
}

.gp-widget {
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid #ececec;
    background: #fff;
}

.gp-widget__title {
    margin: 0 0 14px;
    color: #222;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 25px;
}

.gp-catlist,
.gp-links {
    display: grid;
    gap: 10px;
}

.gp-catlist a,
.gp-links a {
    color: #652974;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 21px;
    text-decoration: none;
}

.editable-page {
    padding: 70px 0;
}

.content-shell {
    display: grid;
    gap: 16px;
}

.content-shell h2 {
    margin: 0;
    font-family: Domine, Georgia, serif;
    font-size: 34px;
}

.content-shell p {
    max-width: 780px;
    margin: 0;
    color: var(--rmh-muted);
    font-size: 18px;
    line-height: 1.7;
}

.social-links {
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.floating-actions {
    position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 1000;
    display: grid;
    gap: 10px;
}

.floating-actions a {
    display: block;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    border-radius: 50%;
    background: #893b96;
    color: var(--rmh-white);
    box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
    transition: background-color .3s;
}

.floating-actions a:hover {
    background: #fcce11;
}

.floating-actions a::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-top: 12px;
    background: currentColor;
}

.floating-actions__call::before {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M391 351c-24 0-47-4-68-12-10-4-22-1-29 7l-43 32c-50-27-91-68-118-118l31-42c8-8 11-19 7-30-8-21-12-44-12-68 0-17-14-31-31-31H59c-17 0-31 14-31 31 0 196 159 355 355 355 17 0 31-14 31-31v-62c0-17-14-31-31-31z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.floating-actions__whatsapp::before {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32 101 32 1 132 1 255c0 39.3 10.3 77.7 29.9 111.5L0 480l116.1-30.5C148.7 467.3 185.8 477 223.8 477h.1c123 0 223-100 223-223 0-59.4-23.1-115.2-66-156.9zM223.9 439.6c-33.8 0-66.9-9.1-95.8-26.2l-6.9-4.1-68.9 18.1 18.4-67.2-4.5-6.9C47.4 323.5 37.5 289.5 37.5 255c0-102.8 83.6-186.4 186.4-186.4 49.8 0 96.6 19.4 131.8 54.6 35.2 35.2 54.6 82 54.6 131.8 0 102.8-83.7 184.6-186.4 184.6zm101.7-138.4c-5.6-2.8-33.1-16.3-38.2-18.2-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18.2-17.5 21.9-3.2 3.7-6.5 4.2-12.1 1.4-33.1-16.5-54.8-29.5-76.6-66.8-5.8-10 5.8-9.3 16.5-30.9 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2s-9.7 1.4-14.8 6.9c-5.1 5.6-19.4 19-19.4 46.3s19.9 53.7 22.7 57.4c2.8 3.7 39.1 59.7 94.8 83.8 13.2 5.7 23.5 9.1 31.5 11.7 13.2 4.2 25.3 3.6 34.8 2.2 10.6-1.6 33.1-13.5 37.7-26.6 4.6-13 4.6-24.2 3.2-26.6-1.4-2.5-5.1-3.9-10.7-6.7z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.enquire-tab {
    position: fixed;
    top: 40%;
    right: -68px;
    z-index: 1;
    transform: rotate(-90deg);
    width: 170px;
    height: 34px;
    overflow: hidden;
    border: 1px solid #fff;
    border-bottom: 0;
    border-radius: 4px;
    background: #893b96;
    color: var(--rmh-white);
    padding: 2px 0;
    text-align: center;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 27px;
}

code {
    background: var(--rmh-soft);
    padding: 2px 6px;
}

@media (max-width: 1050px) {
    .desktop-nav,
    .apply-button,
    .header-social {
        display: none;
    }

    .menu-button {
        display: block;
    }
}

@media (max-width: 1050px) {
    .wp-home-hero {
        height: auto;
        overflow: visible;
    }

    .wp-home-hero__caption-bg {
        display: none;
    }

    .wp-home-hero__slides {
        height: calc(100vw * 412 / 1366);
        min-height: 166px;
        max-height: 299px;
        overflow: hidden;
    }

    .wp-home-hero__caption {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        z-index: 98;
    }

    .wp-home-hero__caption-inner {
        width: 100%;
        height: auto;
        min-height: 226px;
        margin: 0;
        padding: 40px 35px 60px;
        background: #652974;
    }

    .wp-home-hero h1 {
        max-width: none;
        color: #fcce11;
        font-size: 24px;
        line-height: 32px;
    }

    .wp-home-hero__dots {
        left: 0;
        right: 0;
        top: calc((100vw * 412 / 1366) - 38px);
        bottom: auto;
        width: 100%;
        text-align: center;
    }

    .wp-home-hero__dots button {
        width: 8px;
        height: 8px;
        margin: 0 2px;
    }
}

@media (max-width: 760px) {
    .container {
        width: min(1180px, calc(100% - 50px));
        margin: 0 auto;
    }

    .site-header {
        border-bottom-width: 6px;
    }

    main {
        padding-top: 62px;
    }

    .top-strip__inner,
    .top-strip__links,
    .main-header__inner {
        align-items: flex-start;
    }

    .top-strip__inner {
        display: grid;
        padding: 10px 0;
    }

    .top-strip__links {
        flex-wrap: wrap;
    }

    .main-header__inner {
        width: calc(100% - 16px);
        height: 68px;
        min-height: 68px;
        margin: 0 8px;
    }

    .brand {
        top: 12px;
        left: 20px;
    }

    .brand img {
        width: 200px;
        margin-left: 0;
    }

    .header-actions {
        top: 13px;
        right: 0;
        width: 66px;
        height: 38px;
        gap: 11px;
        align-items: center;
    }

    .icon-button {
        width: 16px;
        height: 24px;
    }

    .icon-button::before {
        width: 16px;
        height: 24px;
        mask-size: 14px 14px;
    }

    .menu-button {
        width: 34px;
        height: 34px;
        padding: 6px;
    }

    .menu-button span {
        height: 3px;
        margin: 5px 0;
        background: #652974;
    }

    .home-hero__inner,
    .page-hero .container {
        min-height: 210px;
        padding: 42px 22px 40px;
    }

    .page-hero h1 {
        font-size: 34px;
        line-height: 42px;
    }

    .page-hero span {
        font-size: 15px;
        line-height: 25px;
    }

    .inner-page {
        padding: 85px 0 58px;
    }

    .inner-page__grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .inner-page__content {
        max-width: none;
    }

    .inner-page__sidebar {
        padding: 22px;
    }

    .inner-page__after {
        margin-top: 38px;
    }

    .editable-content p,
    .editable-content li {
        font-size: 15px;
        line-height: 23px;
    }

    .editable-content .rmquote {
        line-height: 23px;
    }

    .editable-content h2 {
        font-size: 30px;
        line-height: 38px;
    }

    .editable-content h3 {
        font-size: 20px;
        line-height: 32px;
    }

    .about-link-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .about-link-grid a {
        min-height: 135px;
        padding: 24px;
    }

    .about-link-grid span {
        font-size: 28px;
        line-height: 36px;
    }

    .about-story,
    .team-list {
        gap: 38px;
    }

    .about-split,
    .about-split--offset {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .about-split--offset > * {
        grid-column: auto;
    }

    .about-split__title h2 {
        font-size: 40px;
        line-height: 42px;
        text-align: right;
    }

    h1.customh1 {
        margin-top: -210px;
        margin-left: 30px;
        margin-right: 30px;
    }

    .about-stone {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .team-member {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .team-member img {
        justify-self: start;
        width: 120px;
        height: 120px;
    }

    .team-list--compact .team-member img {
        width: 135px;
        height: 135px;
    }

    .team-member h2 span {
        display: block;
        margin-top: 4px;
        font-size: 16px;
        line-height: 24px;
    }

    .hostel-team {
        max-width: none;
        margin: 42px 0 38px;
    }

    .about-actions {
        display: grid;
        gap: 14px;
        margin-top: 42px;
    }

    .about-actions .rmh-button {
        width: 100%;
        min-width: 0;
    }

    .static-row {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 48px;
    }

    .static-title h1,
    .static-title h2 {
        font-size: 34px;
        line-height: 42px;
        text-align: left;
    }

    .static-title h2 {
        font-size: 27px;
        line-height: 35px;
    }

    .image-grid {
        grid-template-columns: 1fr;
    }

    .event-gallery {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .event-gallery__arrow {
        width: 30px;
        height: 40px;
        font-size: 18px;
    }

    .student-life-row {
        width: auto;
        grid-template-columns: 1fr;
    }

    .student-life-gallery-row {
        margin-top: 0;
    }

    .section-heading-blue {
        margin-bottom: 24px;
    }

    .section-heading-blue--center {
        text-align: left;
    }

    .student-representatives-row {
        margin-top: 0;
    }

    .student-representatives-heading {
        margin-left: 0;
    }

    .student-representatives {
        gap: 36px;
    }

    .student-representative {
        width: auto;
        margin-left: 0;
        grid-template-columns: 120px minmax(0, 1fr);
        gap: 22px;
    }

    .student-representative img {
        width: 110px;
        height: 110px;
        justify-self: start;
        margin-right: 0;
    }

    .features-subtitle {
        font-size: 30px;
        line-height: 38px;
    }

    .feature-group__heading {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 32px;
    }

    .features-page .feature-list {
        gap: 38px;
    }

    .features-page .feature-card {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .features-page .feature-card__media {
        text-align: left;
    }

    .features-page .feature-card h3 {
        margin-bottom: 10px;
        font-size: 18px;
        line-height: 26px;
    }

    .alumni-page {
        gap: 38px;
    }

    .alumni-entry {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .alumni-entry--offset {
        padding-top: 0;
    }

    .alumni-card__head {
        gap: 16px;
    }

    .alumni-card__head img {
        width: 90px;
        height: 90px;
    }

    .stay-carousel {
        width: 100%;
        overflow: visible;
    }

    .stay-carousel__slide img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    .stay-carousel__slide figcaption {
        margin-top: 8px;
        text-align: center;
        font-size: 10px;
        line-height: 14px;
    }

    .stay-carousel__arrow {
        top: calc(50% - 28px);
        width: 18px;
        height: 28px;
        font-size: 15px;
    }

    .stay-carousel__arrow--prev {
        left: -18px;
    }

    .stay-carousel__arrow--next {
        right: -18px;
    }

    .stay-carousel__dots {
        gap: 7px;
        margin-top: 14px;
    }

    .stay-carousel__dots button {
        width: 10px;
        height: 10px;
    }

    .page-actions {
        display: grid;
        gap: 14px;
    }

    .page-actions .rmh-button {
        width: 100%;
    }

    .wp-home-hero {
        display: grid;
        grid-template-rows: auto auto auto;
    }

    .wp-home-hero__caption {
        grid-row: 1;
    }

    .wp-home-hero__slides {
        grid-row: 2;
        height: calc(110vw * .705);
        min-height: 235px;
        max-height: 310px;
        margin-top: clamp(-39px, -6vw, -24px);
    }

    .wp-home-hero__slide img {
        height: 310px;
        object-fit: cover;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        row-gap: 0;
        padding: 38px 4px 44px;
    }

    .footer-links {
        gap: 16px;
        margin-bottom: 30px;
    }

    .footer-links--secondary {
        margin-top: 8px;
    }

    .footer-social-icons {
        gap: 10px;
        margin: 6px 0 0;
    }

    .footer-social-icons img {
        width: 25px;
        height: 25px;
    }

    .footer-address {
        gap: 18px;
        margin-top: 2px;
    }

    .footer-address,
    .footer-address a,
    .footer-address span,
    .footer-address strong {
        line-height: 18px;
    }

    .footer-contact-button {
        min-width: 103px;
        height: 50px;
        margin-top: 24px;
        padding: 13px 20px;
        line-height: 23px !important;
    }

    .footer-bottom .container {
        display: grid;
        gap: 6px;
    }

    .blog-page {
        padding: 72px 0 58px;
    }

    .blog-layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .blog-sidebar h1,
    .blog-single__header h1 {
        font-size: 40px;
        line-height: 42px;
    }

    .blog-card {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .blog-card h2 {
        font-size: 26px;
    }

    .blog-related__grid {
        grid-template-columns: 1fr;
    }

    .gp-blog {
        padding: 28px 16px 48px;
    }

    .gp-blog__title {
        font-size: 30px;
        line-height: 38px;
    }

    .gp-blog__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .gp-card__thumb {
        height: auto;
    }

    .gp-card__img {
        height: auto;
        aspect-ratio: 447 / 300;
    }

    .gp-card__body {
        padding: 16px;
    }

    .gp-single {
        padding: 22px 16px 44px;
    }

    .gp-single__container {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .gp-entry__title {
        font-size: 30px;
        line-height: 38px;
    }

    .gp-entry__body h2 {
        font-size: 25px;
        line-height: 32px;
    }

    .gp-entry__body h3 {
        font-size: 22px;
        line-height: 29px;
    }

    .gp-entry__body h4 {
        font-size: 20px;
        line-height: 27px;
    }

    .wp-home-hero__caption-inner {
        position: relative;
        min-height: clamp(205px, 45vw, 279px);
        padding: clamp(42px, 8vw, 54px) clamp(36px, 8.5vw, 54px) 0;
    }

    .wp-home-hero h1 {
        color: #fff;
        font-family: Domine, serif;
        font-size: 24px;
        font-weight: 400;
        line-height: 32px;
    }

    .wp-home-hero h1 strong,
    .wp-home-hero h1 a {
        color: #fcce11;
        text-decoration: underline;
    }

    .wp-home-hero__caption .rmh-button--gold {
        position: absolute;
        left: clamp(35px, 10.8vw, 70px);
        bottom: clamp(-39px, -6vw, -19px);
        margin-top: 0;
        padding: 14px 36px;
        color: #652974;
        font-family: Montserrat, Arial, sans-serif;
        font-size: 16px;
        font-weight: 600;
        line-height: 24px;
        z-index: 2;
    }

    .wp-home-hero__dots {
        position: static;
        grid-row: 3;
        width: 100%;
        margin: 15px 0 0;
        text-align: center;
    }

    .wp-home-hero__dots button {
        width: 8px;
        height: 8px;
        margin: 0 3px;
        border-width: 2px;
    }

    .home-feature {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .home-feature__icon {
        place-items: start;
    }

    .home-feature-actions {
        display: flex;
        gap: 12px;
        padding-left: 0;
    }

    .home-feature-actions .rmh-button {
        width: 100%;
        min-height: 60px;
        border-radius: 30px;
    }

    .home-social-actions {
        display: flex;
        gap: 28px;
        margin-top: 36px;
    }

    .home-social-actions .rmh-button {
        width: 100%;
        min-height: 60px;
        border-radius: 30px;
    }

    .home-rooms__panel {
        position: static;
        width: 100%;
        padding: 28px 24px;
    }

    .home-reviews .home-narrow {
        padding-left: 0;
    }

    .home-reviews__track {
        min-height: 380px;
    }

    .home-review-controls button:first-child,
    .home-review-controls button:last-child {
        position: static;
    }
}
