/* =====================================================================
   Paramos Meeds - "stay near" pages (MyOwner, 2026)
   ===================================================================== */
.lp { background: #fff; color: #4A453F; font-family: var(--pm-sans); font-size: 17px; line-height: 1.65; }
.lp main p { margin: 0; }
.lp-h2 {
    font-family: var(--pm-serif); font-weight: 400; color: var(--pm-ink); text-transform: none; letter-spacing: 0;
    font-size: clamp(30px, 3.3vw, 42px); line-height: 1.12; margin: 0 0 28px;
}
.lp-h2--sm { font-size: clamp(24px, 2.4vw, 30px); margin-bottom: 20px; }
.lp-link { color: var(--pm-brass-deep) !important; font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.lp-link:hover { color: var(--pm-ink) !important; }
.lp-link--light { color: var(--pm-brass) !important; }
.lp-link--light:hover { color: #fff !important; }

/* ---------- hero: text on ink, photo beside it ---------- */
.lp-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); min-height: 680px; background: var(--pm-ink); color: #fff; }
.lp-hero__text { display: flex; align-items: center; padding: calc(var(--pm-head-h) + 56px) 0 72px; }
.lp-hero__inner { width: 100%; max-width: 600px; margin-left: auto; padding: 0 56px 0 28px; }
.lp-crumbs { font-size: 14px; color: rgba(255,255,255,.6); margin-bottom: 22px; display: flex; gap: 10px; flex-wrap: wrap; }
.lp-crumbs a { color: rgba(255,255,255,.75); text-decoration: none; }
.lp-crumbs a:hover { color: var(--pm-brass); }
.lp-crumbs [aria-current] { color: var(--pm-brass); }
.lp-hero__title {
    font-family: var(--pm-serif); font-weight: 400; color: #fff; text-transform: none; letter-spacing: -.005em;
    font-size: clamp(38px, 4.4vw, 60px); line-height: 1.06; margin: 0 0 24px; max-width: 13em;
}
.lp-hero__lede { font-size: 18.5px; line-height: 1.65; color: rgba(255,255,255,.8); max-width: 33em; }
.lp-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.lp-hero__media { position: relative; margin: 0; min-height: 100%; }
.lp-hero__media img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }

/* ---------- facts ---------- */
.lp-facts { background: var(--pm-sand); border-bottom: 1px solid var(--pm-line); }
.lp-facts__list { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 auto; }
.lp-facts__item { padding: 30px 26px 28px; border-left: 1px solid var(--pm-line); }
.lp-facts__item:first-child { border-left: 0; padding-left: 0; }
.lp-facts dt { font-family: var(--pm-serif); font-weight: 400; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.1; color: var(--pm-ink); }
.lp-facts dd { margin: 6px 0 0; font-size: 15px; color: var(--pm-mute); line-height: 1.4; }

/* ---------- why ---------- */
.lp-why { padding: 104px 0; }
.lp-why__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 72px; align-items: center; }
.lp-why__media { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; }
.lp-why__media img { width: 100% !important; height: 100% !important; object-fit: cover; }
.lp-why__points { display: grid; grid-template-columns: 1fr 1fr; gap: 34px 40px; }
.lp-why__point { border-top: 1px solid var(--pm-brass); padding-top: 18px; }
.lp-why__point h3 { font-family: var(--pm-sans); font-size: 18px; font-weight: 600; color: var(--pm-ink); margin: 0 0 8px; line-height: 1.35; text-transform: none; letter-spacing: 0; }
.lp-why__point p { font-size: 16px; line-height: 1.65; }

/* ---------- area write-up ---------- */
.lp-area { padding: 0 0 100px; }
.lp-area__grid { display: grid; grid-template-columns: 4fr 8fr; gap: 56px; align-items: start; border-top: 1px solid var(--pm-line); padding-top: 72px; }
.lp-area__text { max-width: 44em; }
.lp-area__text p { font-size: 17.5px; line-height: 1.85; color: #4A453F; }
.lp-area__text p + p { margin-top: 20px !important; }
.lp-area__text p:first-child::first-line { color: var(--pm-ink); }

/* ---------- route ---------- */
.lp-route { background: var(--pm-sand); padding: 88px 0; }
.lp-route__grid { display: grid; grid-template-columns: 4fr 8fr; gap: 56px; align-items: start; }
.lp-route__list { margin: 0; padding: 0; list-style: none; }
.lp-route__list li { display: grid; grid-template-columns: 52px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--pm-line); }
.lp-route__list li:first-child { padding-top: 4px; }
.lp-route__icon { width: 52px; height: 52px; border-radius: 50%; background: #fff; display: inline-flex; align-items: center; justify-content: center; color: var(--pm-brass-deep); font-size: 20px; }
.lp-route__list h3 { font-family: var(--pm-sans); font-size: 18px; font-weight: 600; color: var(--pm-ink); margin: 4px 0 4px; line-height: 1.35; text-transform: none; letter-spacing: 0; }
.lp-route__list p { font-size: 16px; }

/* ---------- nearby + map ---------- */
.lp-near { padding: 100px 0; }
.lp-near__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.lp-table { width: 100%; border-collapse: collapse; font-size: 16px; }
.lp-table thead th { font-size: 13.5px; font-weight: 600; color: var(--pm-mute); text-align: left; padding: 0 12px 12px 0; border-bottom: 1px solid var(--pm-ink); }
.lp-table tbody th { font-weight: 500; color: var(--pm-ink); text-align: left; padding: 15px 12px 15px 0; border-bottom: 1px solid var(--pm-line); }
.lp-table td { padding: 15px 12px 15px 0; border-bottom: 1px solid var(--pm-line); white-space: nowrap; color: #4A453F; }
.lp-table td:nth-child(2) { font-family: var(--pm-serif); font-size: 18px; color: var(--pm-ink); }
.lp-note { font-size: 14px; color: var(--pm-mute); margin-top: 14px !important; }
.lp-map iframe { display: block; width: 100%; aspect-ratio: 4 / 3.4; border: 0; background: var(--pm-sand); }
.lp-map__foot { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; padding-top: 16px; font-size: 15px; }
.lp-map__foot address { font-style: normal; margin: 0; max-width: 28em; }

/* ---------- rooms ---------- */
.lp-rooms { background: var(--pm-ink); padding: 96px 0; color: rgba(255,255,255,.75); }
.lp-rooms .lp-h2 { color: #fff; margin: 0; }
.lp-rooms__head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 36px; }
.lp-rooms__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.lp-room { display: block; text-decoration: none; color: inherit; }
.lp-room__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; margin-bottom: 16px; }
.lp-room__img img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .6s ease; }
.lp-room:hover .lp-room__img img { transform: scale(1.04); }
.lp-room__name { display: block; font-family: var(--pm-serif); font-size: 23px; color: #fff; line-height: 1.2; }
.lp-room__meta { display: block; font-size: 15px; margin-top: 6px; color: rgba(255,255,255,.65); }
.lp-room__price { display: block; font-size: 15px; margin-top: 4px; color: var(--pm-brass); font-weight: 500; }

/* ---------- faq ---------- */
.lp-faq { padding: 100px 0; }
.lp-faq__grid { display: grid; grid-template-columns: 4fr 8fr; gap: 56px; align-items: start; }
.lp-faq__item { border-bottom: 1px solid var(--pm-line); }
.lp-faq__item:first-child { border-top: 1px solid var(--pm-line); }
.lp-faq__item summary {
    list-style: none; cursor: pointer; padding: 22px 44px 22px 0; position: relative;
    font-family: var(--pm-serif); font-size: 21px; line-height: 1.35; color: var(--pm-ink);
}
.lp-faq__item summary::-webkit-details-marker { display: none; }
.lp-faq__item summary::after { content: "+"; position: absolute; right: 4px; top: 18px; font-family: var(--pm-sans); font-weight: 300; font-size: 28px; color: var(--pm-brass-deep); }
.lp-faq__item[open] summary::after { content: "\2212"; }
.lp-faq__item summary:focus-visible { outline: 2px solid var(--pm-brass); outline-offset: 2px; }
.lp-faq__item p { padding: 0 44px 24px 0; font-size: 16.5px; }
.lp-faq__more { margin-top: 24px !important; font-size: 16px; }

/* ---------- related ---------- */
.lp-related { background: var(--pm-sand); padding: 64px 0 72px; }
.lp-related__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.lp-related__list a { display: block; background: #fff; padding: 20px 22px; text-decoration: none; border-bottom: 2px solid transparent; transition: border-color .2s; height: 100%; }
.lp-related__list a:hover { border-bottom-color: var(--pm-brass); }
.lp-related__list span { display: block; font-family: var(--pm-serif); font-size: 20px; color: var(--pm-ink); line-height: 1.25; }
.lp-related__list small { display: block; font-size: 14px; color: var(--pm-mute); margin-top: 4px; }

/* ---------- responsive ---------- */
@media (max-width: 1199px) {
    .lp-rooms__list { grid-template-columns: repeat(2, 1fr); }
    .lp-why__grid { gap: 48px; }
}
@media (max-width: 991px) {
    .lp-hero { grid-template-columns: 1fr; min-height: 0; }
    .lp-hero__media { order: -1; aspect-ratio: 4 / 3.2; min-height: 0; }
    .lp-hero__text { padding: 36px 0 52px; }
    .lp-hero__inner { margin: 0; padding: 0 28px; max-width: 680px; }
    .lp-facts__list { grid-template-columns: 1fr 1fr; }
    .lp-facts__item { padding: 22px 18px; border-left: 1px solid var(--pm-line); }
    .lp-facts__item:nth-child(odd) { border-left: 0; padding-left: 0; }
    .lp-facts__item:nth-child(n+3) { border-top: 1px solid var(--pm-line); }
    .lp-why, .lp-near, .lp-faq { padding: 72px 0; }
    .lp-route, .lp-rooms { padding: 68px 0; }
    .lp-why__grid, .lp-route__grid, .lp-near__grid, .lp-faq__grid, .lp-area__grid { grid-template-columns: 1fr; gap: 28px; }
    .lp-area { padding-bottom: 72px; }
    .lp-area__grid { padding-top: 56px; }
    .lp-why__media { aspect-ratio: 16 / 10; }
    .lp-related__list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 575px) {
    .lp { font-size: 16.5px; }
    .lp-hero__inner { padding: 0 18px; }
    .lp-hero__lede { font-size: 17px; }
    .lp-hero__actions .pm-btn { flex: 1 1 auto; }
    .lp-why__points { grid-template-columns: 1fr; gap: 26px; }
    .lp-rooms__list { grid-template-columns: 1fr; gap: 30px; }
    .lp-rooms__head { flex-direction: column; gap: 8px; }
    .lp-table td:nth-child(3), .lp-table th:nth-child(3) { display: none; }
    .lp-map__foot { flex-direction: column; gap: 8px; }
    .lp-faq__item summary { font-size: 19px; }
    .lp-area__text p { font-size: 16.5px; line-height: 1.8; }
    .lp-related__list { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .lp-room__img img { transition: none; }
}


/* =====================================================================
   Room pages and rooms list
   ===================================================================== */
.rm-specs { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 34px; }
.rm-specs li { font-size: 16px; color: #fff; line-height: 1.4; }
.rm-specs span { display: block; font-size: 13px; color: rgba(255,255,255,.55); margin-bottom: 2px; }

.rm-gallery { padding: 28px 0 0; }
.rm-gallery__grid { display: grid; gap: 10px; grid-template-columns: 2fr 1fr 1fr; grid-auto-rows: 210px; }
.rm-gallery__item { display: block; overflow: hidden; position: relative; background: var(--pm-sand); }
.rm-gallery__item img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .6s ease; }
.rm-gallery__item:hover img { transform: scale(1.04); }
.rm-gallery__item:first-child { grid-row: span 2; }
.rm-gallery__grid--4 .rm-gallery__item:nth-child(4) { grid-column: span 2; }
.rm-gallery__grid--6 { grid-template-columns: 2fr 1fr 1fr 1fr; }
.rm-gallery__grid--6 .rm-gallery__item:nth-child(6) { grid-column: span 2; }

.rm-high { padding: 40px 0 0; }
.rm-high__list { list-style: none; margin: 0 auto; padding: 0 28px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--pm-line); border-bottom: 1px solid var(--pm-line); }
.rm-high__list li { padding: 26px 22px; border-left: 1px solid var(--pm-line); display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto 1fr; column-gap: 12px; align-items: start; }
.rm-high__list li:first-child { border-left: 0; padding-left: 0; }
.rm-high__list i { grid-row: span 2; font-size: 24px; color: var(--pm-brass-deep); margin-top: 3px; }
.rm-high__list strong { font-family: var(--pm-serif); font-weight: 400; font-size: 21px; color: var(--pm-ink); line-height: 1.25; }
.rm-high__list span { font-size: 14.5px; color: var(--pm-mute); line-height: 1.45; }

.lp-area--room { padding-top: 0; }
.lp-area--room .lp-area__grid { border-top: 0; }

.rm-amen { background: var(--pm-sand); padding: 88px 0; }
.rm-amen__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; }
.rm-amen__list li { display: flex; gap: 14px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--pm-line); font-size: 16.5px; color: var(--pm-ink); line-height: 1.4; }
.rm-amen__list i { color: var(--pm-brass-deep); font-size: 19px; width: 24px; text-align: center; flex: 0 0 24px; }

.rm-rules { padding: 96px 0; }
.rm-rules__grid { display: grid; grid-template-columns: 4fr 8fr; gap: 56px; align-items: start; }
.rm-rules__list { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 30px 40px; }
.rm-rules__list div { border-top: 1px solid var(--pm-brass); padding-top: 16px; }
.rm-rules__list dt { font-size: 17px; font-weight: 600; color: var(--pm-ink); margin-bottom: 6px; }
.rm-rules__list dd { margin: 0; font-size: 16px; line-height: 1.65; }

.lp-rooms__list--3 { grid-template-columns: repeat(3, 1fr); }

.rl-compare { padding: 88px 0 24px; }
.rl-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rl-table { min-width: 680px; }
.rl-table tbody th a { color: var(--pm-ink); text-decoration: none; font-family: var(--pm-serif); font-size: 19px; }
.rl-table tbody th a:hover { color: var(--pm-brass-deep); }
.rl-table td { white-space: normal; }
.rl-table td:nth-child(2) { white-space: nowrap; }

.rl-list { padding: 64px 0 40px; }
.rl-room { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: center; margin-bottom: 88px; }
.rl-room--flip { grid-template-columns: 5fr 7fr; }
.rl-room--flip .rl-room__img { order: 2; }
.rl-room__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.rl-room__img img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .6s ease; }
.rl-room__img:hover img { transform: scale(1.03); }
.rl-room__name { font-family: var(--pm-serif); font-weight: 400; font-size: clamp(30px, 3vw, 40px); line-height: 1.1; margin: 0 0 12px; text-transform: none; letter-spacing: 0; }
.rl-room__name a { color: var(--pm-ink); text-decoration: none; }
.rl-room__meta { font-size: 15px; color: var(--pm-brass-deep); font-weight: 500; margin-bottom: 16px !important; }
.rl-room__text { font-size: 17px; line-height: 1.75; }
.rl-room__actions { display: flex; align-items: center; gap: 24px; margin-top: 28px; }

@media (max-width: 991px) {
    .rm-gallery__grid, .rm-gallery__grid--6 { grid-template-columns: 1fr 1fr; grid-auto-rows: 180px; }
    .rm-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
    .rm-gallery__grid--4 .rm-gallery__item:nth-child(4) { grid-column: auto; }
    .rm-gallery__grid--6 .rm-gallery__item:nth-child(6) { grid-column: span 2; }
    .rm-high__list { grid-template-columns: 1fr 1fr; padding: 0 28px; }
    .rm-high__list li:nth-child(odd) { border-left: 0; padding-left: 0; }
    .rm-high__list li:nth-child(n+3) { border-top: 1px solid var(--pm-line); }
    .rm-amen__list { grid-template-columns: 1fr 1fr; }
    .rm-rules__grid { grid-template-columns: 1fr; gap: 28px; }
    .rm-rules { padding: 72px 0; }
    .rm-amen { padding: 68px 0; }
    .lp-rooms__list--3 { grid-template-columns: 1fr 1fr; }
    .rl-room, .rl-room--flip { grid-template-columns: 1fr; gap: 26px; margin-bottom: 64px; }
    .rl-room--flip .rl-room__img { order: 0; }
}
@media (max-width: 575px) {
    .rm-gallery__grid, .rm-gallery__grid--6 { grid-auto-rows: 130px; gap: 6px; }
    .rm-gallery { padding-top: 6px; }
    .rm-high__list { grid-template-columns: 1fr; padding: 0 18px; }
    .rm-high__list li { border-left: 0 !important; padding: 18px 0 !important; border-top: 1px solid var(--pm-line); }
    .rm-high__list li:first-child { border-top: 0; }
    .rm-amen__list { grid-template-columns: 1fr; }
    .rm-rules__list { grid-template-columns: 1fr; gap: 22px; }
    .lp-rooms__list--3 { grid-template-columns: 1fr; }
    .rm-specs { gap: 10px 24px; }
}


/* =====================================================================
   Update 7: dining, amenities, about, gallery, contact and FAQ pages
   ===================================================================== */
.pm-btn--ink { background: var(--pm-ink); color: #fff !important; }
.pm-btn--ink:hover { background: var(--pm-brass-deep); }
.lp-area--first { padding-top: 96px; }
.lp-area--first .lp-area__grid { border-top: 0; padding-top: 0; }
.lp-facts__list--5 { grid-template-columns: repeat(5, 1fr); }
.lp-facts__list--5 dt { font-size: clamp(22px, 1.9vw, 27px); }
.lp-near--sand { background: var(--pm-sand); }
.lp-related--white { background: #fff; padding-top: 88px; }
.lp-related--white .lp-related__list a { background: var(--pm-sand); }

/* ---------- short page head (gallery, contact, FAQ) ---------- */
.pg-head { background: var(--pm-ink); color: #fff; padding: calc(var(--pm-head-h) + 64px) 0 68px; }
.pg-head__title { max-width: 16em; }
.pg-head .lp-hero__lede { max-width: 40em; }

/* ---------- cuisines ---------- */
.dn-cuis { padding: 0 0 96px; }
.dn-cuis__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--pm-ink); }
.dn-cuis__list li { padding: 22px 22px 24px 0; border-bottom: 1px solid var(--pm-line); }
.dn-cuis__list li:not(:nth-child(4n+1)) { padding-left: 22px; border-left: 1px solid var(--pm-line); }
.dn-cuis__list strong { display: block; font-family: var(--pm-serif); font-weight: 400; font-size: 23px; color: var(--pm-ink); line-height: 1.2; }
.dn-cuis__list span { display: block; font-size: 15px; color: var(--pm-mute); margin-top: 6px; line-height: 1.45; }

/* ---------- photo + text feature ---------- */
.dn-feature { padding: 0 0 104px; }
.dn-feature--sand { background: var(--pm-sand); padding: 96px 0; }
.dn-feature__grid { display: grid; grid-template-columns: 6fr 5fr; gap: 72px; align-items: center; }
.dn-feature__media { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.dn-feature__media img { width: 100% !important; height: 100% !important; object-fit: cover; }
.dn-feature__body p { font-size: 17px; line-height: 1.75; }
.dn-feature__body p + p { margin-top: 16px !important; }
.dn-feature__facts { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 0 36px; margin: 32px 0 0; }
.dn-feature__facts div { border-top: 1px solid var(--pm-brass); padding-top: 12px; }
.dn-feature__facts dt { font-size: 13.5px; color: var(--pm-mute); font-weight: 500; }
.dn-feature__facts dd { margin: 4px 0 0; font-family: var(--pm-serif); font-size: 21px; color: var(--pm-ink); }

/* ---------- menu ---------- */
.dn-menu { background: var(--pm-sand); padding: 96px 0; }
.dn-menu__head { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; flex-wrap: wrap; margin-bottom: 28px; }
.dn-menu__head .lp-h2 { margin: 0; }
.mn { background: #fff; padding: 0 48px 40px; border-top: 3px solid var(--pm-ink); }
.mn__tabs { display: none; gap: 4px; overflow-x: auto; scrollbar-width: none; margin: 0 -48px; padding: 0 48px; border-bottom: 1px solid var(--pm-line); }
.mn__tabs::-webkit-scrollbar { display: none; }
.mn.is-tabbed .mn__tabs { display: flex; }
.mn__tab {
    flex: 0 0 auto; background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px;
    font-family: var(--pm-sans); font-size: 15.5px; font-weight: 600; color: var(--pm-mute); padding: 20px 16px 18px; cursor: pointer;
}
.mn__tab:hover { color: var(--pm-ink); }
.mn__tab[aria-selected="true"] { color: var(--pm-ink); border-bottom-color: var(--pm-brass); }
.mn__tab:focus-visible { outline: 2px solid var(--pm-brass); outline-offset: -4px; }
.mn__panel { padding-top: 36px; }
.mn__panel-title { font-family: var(--pm-serif); font-weight: 400; font-size: 30px; color: var(--pm-ink); margin: 0 0 8px; text-transform: none; letter-spacing: 0; }
.mn.is-tabbed .mn__panel-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mn__lead { font-size: 16px; color: var(--pm-mute); margin-bottom: 28px !important; max-width: 46em; }
.mn__groups { columns: 2; column-gap: 64px; }
.mn__group { break-inside: avoid; margin-bottom: 36px; }
.mn__group-title {
    display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
    font-family: var(--pm-serif); font-weight: 400; font-size: 22px; color: var(--pm-ink); text-transform: none; letter-spacing: 0;
    margin: 0 0 10px; padding-bottom: 10px; border-bottom: 1px solid var(--pm-ink);
}
.mn__sizes { font-family: var(--pm-sans); font-size: 13px; color: var(--pm-mute); }
.mn__items { list-style: none; margin: 0; padding: 0; }
.mn__items li { display: flex; align-items: baseline; gap: 10px; padding: 9px 0; font-size: 16px; color: var(--pm-ink); line-height: 1.4; }
.mn__name small { display: block; font-size: 14px; color: var(--pm-mute); margin-top: 2px; }
.mn__dots { flex: 1 1 auto; min-width: 16px; border-bottom: 1px dotted #BDB6AC; transform: translateY(-4px); }
.mn__name small + .mn__dots { align-self: flex-start; margin-top: 15px; transform: none; }
.mn__price { font-family: var(--pm-serif); font-size: 18px; white-space: nowrap; }
.mn__note { font-size: 14px; color: var(--pm-mute); border-top: 1px solid var(--pm-line); padding-top: 18px; margin-top: 8px !important; }

/* ---------- visit band ---------- */
.dn-visit { background: var(--pm-ink); color: rgba(255,255,255,.75); padding: 80px 0; }
.dn-visit .lp-h2 { color: #fff; }
.dn-visit__grid { display: grid; grid-template-columns: 4fr 8fr; gap: 56px; align-items: start; }
.dn-visit__list { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 32px; margin: 0; }
.dn-visit__list div { border-top: 1px solid rgba(255,255,255,.2); padding-top: 16px; }
.dn-visit__list dt { color: var(--pm-brass); font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.dn-visit__list dd { margin: 0; font-size: 16px; line-height: 1.65; color: #fff; }
.dn-visit__list a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.35); text-underline-offset: 4px; }
.dn-visit__list a:hover { color: var(--pm-brass); }

/* ---------- next venue ---------- */
.dn-next { padding: 96px 0 0; }
.dn-next__card { display: grid !important; grid-template-columns: 5fr 7fr; gap: 0; text-decoration: none; color: inherit; }
.dn-next__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.dn-next__img img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .6s ease; }
.dn-next__card:hover .dn-next__img img { transform: scale(1.03); }
.dn-next__text { background: var(--pm-sand); padding: 44px 52px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.dn-next__kicker { font-size: 14px; color: var(--pm-brass-deep); font-weight: 600; }
.dn-next__title { font-family: var(--pm-serif); font-size: clamp(30px, 3vw, 40px); color: var(--pm-ink); line-height: 1.1; margin: 6px 0 10px; }
.dn-next__sub { font-size: 16.5px; margin-bottom: 18px; }

/* ---------- events ---------- */
.dn-events { padding: 96px 0; }
.dn-events__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.dn-event img { width: 100% !important; aspect-ratio: 3 / 2; height: auto !important; object-fit: cover; margin-bottom: 22px; }
.dn-event h3 { font-family: var(--pm-serif); font-weight: 400; font-size: 26px; color: var(--pm-ink); margin: 0 0 8px; text-transform: none; letter-spacing: 0; }
.dn-event p { font-size: 16.5px; }
.dn-event ul, .am-block__list { list-style: none; margin: 16px 0 0; padding: 0; }
.dn-event li, .am-block__list li { position: relative; padding: 7px 0 7px 22px; font-size: 16px; color: var(--pm-ink); border-bottom: 1px solid var(--pm-line); }
.dn-event li::before, .am-block__list li::before { content: ""; position: absolute; left: 0; top: 17px; width: 10px; height: 1px; background: var(--pm-brass-deep); }
.dn-events__cta { margin-top: 40px !important; }

/* ---------- amenities ---------- */
.am-room { padding: 96px 0; }
.am-room__head { display: grid; grid-template-columns: 4fr 8fr; gap: 56px; align-items: baseline; margin-bottom: 40px; }
.am-room__head .lp-h2 { margin: 0; }
.am-room__head p { font-size: 17.5px; max-width: 34em; }
.am-room__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--pm-ink); }
.am-room__list li { display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto 1fr; column-gap: 14px; padding: 22px 24px 22px 0; border-bottom: 1px solid var(--pm-line); }
.am-room__list i { grid-row: span 2; font-size: 22px; color: var(--pm-brass-deep); margin-top: 3px; }
.am-room__list strong { font-size: 17px; font-weight: 600; color: var(--pm-ink); line-height: 1.35; }
.am-room__list span { font-size: 15px; color: var(--pm-mute); line-height: 1.5; margin-top: 3px; }
.am-room__more { margin-top: 26px !important; }
.am-blocks { background: var(--pm-sand); padding: 96px 0 8px; }
.am-block .rl-room__img { margin: 0; }
.am-block__link { margin-top: 22px !important; }
.am-blocks + .lp-area { padding-top: 96px; }
.am-blocks + .lp-area .lp-area__grid { border-top: 0; padding-top: 0; }

/* ---------- about ---------- */
.ab-points { grid-template-columns: repeat(4, 1fr); }

/* ---------- gallery ---------- */
.gl-nav { position: sticky; top: var(--pm-head-h); z-index: 20; background: #fff; border-bottom: 1px solid var(--pm-line); }
.gl-nav__in { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.gl-nav__in::-webkit-scrollbar { display: none; }
.gl-nav a { flex: 0 0 auto; padding: 18px 14px 16px; font-size: 15.5px; font-weight: 600; color: var(--pm-ink); text-decoration: none; border-bottom: 2px solid transparent; }
.gl-nav a:hover { border-bottom-color: var(--pm-brass); }
.gl-nav a span { color: var(--pm-mute); font-weight: 400; margin-left: 4px; }
.gl-sec { padding: 80px 0 24px; scroll-margin-top: calc(var(--pm-head-h) + 56px); }
.gl-sec__head { display: grid; grid-template-columns: 4fr 8fr; gap: 56px; align-items: baseline; margin-bottom: 32px; }
.gl-sec__head .lp-h2 { margin: 0; }
.gl-sec__head p { font-size: 17px; max-width: 40em; }
.gl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px 14px; }
.gl-item { margin: 0; }
.gl-item a { display: block; overflow: hidden; background: var(--pm-sand); aspect-ratio: 4 / 3; }
.gl-item img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .6s ease; }
.gl-item a:hover img { transform: scale(1.03); }
.gl-item figcaption { font-size: 14px; color: var(--pm-mute); padding-top: 8px; line-height: 1.4; }
.gl-cta { background: var(--pm-ink); color: rgba(255,255,255,.75); padding: 80px 0; margin-top: 64px; }
.gl-cta .lp-h2 { color: #fff; margin-bottom: 12px; }
.gl-cta p { font-size: 17.5px; max-width: 36em; }

/* ---------- contact ---------- */
.ct-main { padding: 88px 0 96px; }
.ct-main__grid { display: grid; grid-template-columns: 5fr 6fr; gap: 72px; align-items: start; }
.ct-list { margin: 0; }
.ct-list div { padding: 18px 0; border-top: 1px solid var(--pm-line); }
.ct-list div:first-child { border-top-color: var(--pm-ink); }
.ct-list dt { font-size: 14px; font-weight: 600; color: var(--pm-brass-deep); margin-bottom: 6px; }
.ct-list dd { margin: 0; font-size: 16.5px; color: var(--pm-ink); line-height: 1.6; }
.ct-list dd a:not(.lp-link) { color: var(--pm-ink); font-family: var(--pm-serif); font-size: 20px; text-decoration: none; }
.ct-list dd a:not(.lp-link):hover { color: var(--pm-brass-deep); }
.ct-list address { font-style: normal; margin: 0 0 8px; }
.ct-stay { list-style: none; margin: 18px 0 0; padding: 22px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--pm-line); }
.ct-stay strong { display: block; font-family: var(--pm-serif); font-weight: 400; font-size: 26px; color: var(--pm-ink); line-height: 1.1; }
.ct-stay span { font-size: 14.5px; color: var(--pm-mute); }
.ct-form { background: var(--pm-sand); padding: 44px 44px 40px; }
.ct-form__intro { font-size: 16px; color: var(--pm-mute); margin-bottom: 24px !important; }
.ct-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ct-field { display: block; margin: 0 0 16px; }
.ct-field > span { display: block; font-size: 14.5px; font-weight: 600; color: var(--pm-ink); margin-bottom: 6px; }
.ct-field small { font-weight: 400; color: var(--pm-mute); }
.ct-field input, .ct-field select, .ct-field textarea {
    display: block; width: 100%; font: inherit; font-size: 16px; color: var(--pm-ink); background: #fff;
    border: 1px solid #D6D1C9; border-radius: 2px; padding: 12px 14px; line-height: 1.4; margin: 0; box-shadow: none;
}
.ct-field select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, var(--pm-ink) 50%), linear-gradient(135deg, var(--pm-ink) 50%, transparent 50%); background-position: calc(100% - 20px) 52%, calc(100% - 15px) 52%; background-size: 5px 5px; background-repeat: no-repeat; }
.ct-field textarea { resize: vertical; min-height: 120px; }
.ct-field input:focus, .ct-field select:focus, .ct-field textarea:focus { outline: none; border-color: var(--pm-brass-deep); box-shadow: 0 0 0 3px rgba(189,148,90,.22); }
.ct-field.is-bad input, .ct-field.is-bad select { border-color: #B3412E; }
.ct-trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ct-submit { margin-top: 6px; min-width: 180px; font-family: var(--pm-sans) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1 !important; padding: 15px 28px !important; height: auto !important; }
.ct-submit[disabled] { opacity: .7; cursor: wait; }
.ct-msg { margin-top: 18px; padding: 14px 16px; font-size: 15.5px; line-height: 1.55; border-left: 3px solid var(--pm-brass); background: #fff; }
.ct-msg.is-err { border-left-color: #B3412E; }
.ct-msg a { color: var(--pm-brass-deep); text-decoration: underline; }
.ct-map iframe { display: block; width: 100%; height: 440px; border: 0; background: var(--pm-sand); }

/* ---------- FAQ ---------- */
.fq { padding: 80px 0 100px; }
.fq__grid { display: grid; grid-template-columns: 3fr 9fr; gap: 64px; align-items: start; }
.fq__nav { position: sticky; top: calc(var(--pm-head-h) + 32px); }
.fq__nav-title { font-size: 14px; font-weight: 600; color: var(--pm-mute); margin-bottom: 10px !important; }
.fq__nav ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--pm-ink); }
.fq__nav a { display: block; padding: 12px 0; border-bottom: 1px solid var(--pm-line); font-size: 16px; color: var(--pm-ink); text-decoration: none; }
.fq__nav a:hover { color: var(--pm-brass-deep); }
.fq__group { margin-bottom: 64px; scroll-margin-top: calc(var(--pm-head-h) + 24px); }
.fq__ask { background: var(--pm-sand); padding: 36px 40px; }
.fq__ask .lp-h2 { margin-bottom: 6px; }
.fq__ask-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }

@media (max-width: 1199px) {
    .lp-facts__list--5 { grid-template-columns: repeat(3, 1fr); }
    .lp-facts__list--5 .lp-facts__item:nth-child(4) { border-left: 0; padding-left: 0; }
    .lp-facts__list--5 .lp-facts__item:nth-child(n+4) { border-top: 1px solid var(--pm-line); }
    .ab-points { grid-template-columns: 1fr 1fr; }
    .dn-visit__list { grid-template-columns: 1fr 1fr; }
    .dn-visit__list div:last-child { grid-column: span 2; }
}
@media (max-width: 991px) {
    .pg-head { padding: calc(var(--pm-head-h) + 40px) 0 48px; }
    .lp-area--first { padding-top: 64px; }
    .lp-facts__list--5 .lp-facts__item { padding: 22px 18px; }
    .lp-facts__list--5 .lp-facts__item:nth-child(odd) { border-left: 1px solid var(--pm-line); padding-left: 18px; }
    .dn-cuis__list { grid-template-columns: 1fr 1fr; }
    .dn-cuis__list li:not(:nth-child(4n+1)) { padding-left: 0; border-left: 0; }
    .dn-cuis__list li:nth-child(even) { padding-left: 22px; border-left: 1px solid var(--pm-line); }
    .dn-cuis { padding-bottom: 72px; }
    .dn-feature__grid { grid-template-columns: 1fr; gap: 32px; }
    .dn-feature { padding-bottom: 72px; }
    .dn-feature--sand, .dn-menu, .dn-events, .am-room, .ct-main { padding: 68px 0; }
    .mn { padding: 0 24px 28px; }
    .mn__tabs { margin: 0 -24px; padding: 0 12px; }
    .mn__groups { columns: 1; }
    .dn-visit__grid, .am-room__head, .gl-sec__head, .ct-main__grid, .fq__grid { grid-template-columns: 1fr; gap: 24px; }
    .dn-visit { padding: 64px 0; }
    .dn-next { padding-top: 68px; }
    .dn-next__card { grid-template-columns: 1fr; }
    .dn-next__text { padding: 30px 28px 34px; }
    .dn-events__grid { grid-template-columns: 1fr; gap: 48px; }
    .am-room__list { grid-template-columns: 1fr 1fr; }
    .am-blocks { padding-top: 68px; }
    .gl-grid { grid-template-columns: 1fr 1fr; }
    .gl-sec { padding-top: 56px; }
    .ct-form { padding: 32px 26px; }
    .fq__nav { position: static; }
    .fq__nav ul { display: flex; flex-wrap: wrap; gap: 8px; border: 0; }
    .fq__nav a { border: 1px solid var(--pm-line); padding: 8px 14px; font-size: 15px; border-radius: 2px; }
    .fq { padding-top: 48px; }
}
@media (max-width: 575px) {
    .lp-facts__list--5 { grid-template-columns: 1fr 1fr; }
    .lp-facts__list--5 .lp-facts__item { border-top: 1px solid var(--pm-line); border-left: 0 !important; padding: 18px 12px 18px 0 !important; }
    .lp-facts__list--5 .lp-facts__item:nth-child(-n+2) { border-top: 0; }
    .lp-facts__list--5 .lp-facts__item:nth-child(even) { border-left: 1px solid var(--pm-line) !important; padding-left: 16px !important; }
    .ab-points { grid-template-columns: 1fr; }
    .dn-cuis__list { grid-template-columns: 1fr; }
    .dn-cuis__list li:nth-child(even) { padding-left: 0; border-left: 0; }
    .dn-cuis__list li { padding: 16px 0; }
    .dn-feature__facts { grid-template-columns: repeat(3, 1fr); gap: 0 16px; }
    .dn-feature__facts dd { font-size: 18px; }
    .mn { padding: 0 16px 22px; }
    .mn__tabs { margin: 0 -16px; padding: 0 4px; }
    .mn__tab { padding: 16px 12px 14px; font-size: 15px; }
    .mn__items li { font-size: 15.5px; }
    .dn-visit__list { grid-template-columns: 1fr; gap: 22px; }
    .dn-visit__list div:last-child { grid-column: auto; }
    .am-room__list { grid-template-columns: 1fr; }
    .gl-grid { gap: 14px 8px; }
    .gl-item figcaption { font-size: 13px; }
    .ct-row { grid-template-columns: 1fr; gap: 0; }
    .ct-stay strong { font-size: 22px; }
    .ct-map iframe { height: 340px; }
    .fq__ask { padding: 28px 22px; }
    .fq__ask-actions .pm-btn { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
    .gl-item img, .dn-next__img img { transition: none; }
}


/* =====================================================================
   Update 8: local guide (blog hub and articles)
   ===================================================================== */
.ar-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; font-size: 14.5px; color: var(--pm-brass); margin: 0 0 16px !important; }
.ar-meta span { width: 4px; height: 4px; border-radius: 50%; background: rgba(255,255,255,.35); }
.ar-title { max-width: 18em; }
.ar-head .lp-hero__lede { max-width: 42em; }
.ar-facts dt { font-size: clamp(20px, 1.8vw, 25px); }

.ar-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 80px; align-items: start; padding-top: 64px; padding-bottom: 32px; }
.ar-body { max-width: 720px; }
.ar-figure { margin: 0 0 40px; }
.ar-figure img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
.ar-figure figcaption { font-size: 14px; color: var(--pm-mute); padding-top: 10px; }
.ar-sec { scroll-margin-top: calc(var(--pm-head-h) + 24px); }
.ar-sec + .ar-sec { margin-top: 44px; }
.ar-sec h2 { font-family: var(--pm-serif); font-weight: 400; font-size: clamp(26px, 2.4vw, 32px); line-height: 1.2; color: var(--pm-ink); margin: 0 0 16px; text-transform: none; letter-spacing: 0; }
.ar-sec p { font-size: 18px; line-height: 1.8; color: #3F3A34; }
.ar-sec p + p { margin-top: 18px !important; }
.ar-sec ul { list-style: none; margin: 20px 0 0; padding: 0; border-top: 1px solid var(--pm-line); }
.ar-sec li { position: relative; padding: 11px 0 11px 24px; font-size: 17px; color: var(--pm-ink); border-bottom: 1px solid var(--pm-line); line-height: 1.5; }
.ar-sec li::before { content: ""; position: absolute; left: 0; top: 23px; width: 12px; height: 1px; background: var(--pm-brass-deep); }
.ar-note { margin-top: 48px !important; padding: 16px 18px; background: var(--pm-sand); font-size: 15px; color: var(--pm-mute); border-left: 3px solid var(--pm-brass); }

.ar-aside { position: sticky; top: calc(var(--pm-head-h) + 28px); display: grid; gap: 28px; }
.ar-aside__title, .ar-stay__title { font-family: var(--pm-serif); font-size: 22px; color: var(--pm-ink); margin-bottom: 12px !important; line-height: 1.2; }
.ar-toc ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--pm-ink); counter-reset: toc; }
.ar-toc li { counter-increment: toc; border-bottom: 1px solid var(--pm-line); }
.ar-toc a { display: grid; grid-template-columns: 26px 1fr; padding: 10px 0; font-size: 15px; color: var(--pm-ink); text-decoration: none; line-height: 1.4; }
.ar-toc a::before { content: counter(toc); color: var(--pm-brass-deep); font-family: var(--pm-serif); }
.ar-toc a:hover { color: var(--pm-brass-deep); }
.ar-stay { background: var(--pm-ink); color: rgba(255,255,255,.78); padding: 26px 24px; }
.ar-stay .ar-stay__title { color: #fff; font-size: 22px; line-height: 1.2; margin-bottom: 10px !important; }
.ar-stay p { font-size: 15.5px; line-height: 1.6; margin-bottom: 18px !important; }
.ar-stay .pm-btn + .pm-btn { margin-top: 10px; }
.ar-stay .pm-btn--ink { border-color: rgba(255,255,255,.3); }
.ar-more__head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 20px; }
.ar-more__head .lp-h2 { margin: 0; }
.lp-related__list--3 { grid-template-columns: repeat(3, 1fr); }
.lp--article .lp-faq { padding-top: 72px; }

/* hub */
.bl-feature { padding: 72px 0 24px; }
.bl-feature__card { display: grid !important; grid-template-columns: 7fr 5fr; text-decoration: none; color: inherit; }
.bl-feature__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.bl-feature__img img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .6s ease; }
.bl-feature__card:hover .bl-feature__img img { transform: scale(1.03); }
.bl-feature__text { background: var(--pm-sand); padding: 44px 48px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.bl-feature__title { font-family: var(--pm-serif); font-size: clamp(30px, 3vw, 42px); line-height: 1.12; color: var(--pm-ink); margin: 8px 0 14px; }
.bl-feature__sub { font-size: 16.5px; line-height: 1.7; margin-bottom: 20px; }
.bl-group { padding: 72px 0 8px; }
.bl-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px 24px; }
.bl-card { display: flex !important; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.bl-card__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--pm-sand); }
.bl-card__img img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .6s ease; }
.bl-card:hover .bl-card__img img { transform: scale(1.03); }
.bl-card__body { display: block; padding-top: 16px; }
.bl-card--text .bl-card__body { background: var(--pm-sand); padding: 28px 26px 30px; height: 100%; border-top: 3px solid var(--pm-brass); }
.bl-card__cat { display: block; font-size: 14px; font-weight: 600; color: var(--pm-brass-deep); }
.bl-card__title { display: block; font-family: var(--pm-serif); font-size: 24px; line-height: 1.22; color: var(--pm-ink); margin: 6px 0 8px; }
.bl-card:hover .bl-card__title { color: var(--pm-brass-deep); }
.bl-card__sub { display: block; font-size: 15.5px; line-height: 1.6; color: var(--pm-mute); }

@media (max-width: 1199px) {
    .ar-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 48px; }
}
@media (max-width: 991px) {
    .ar-layout { grid-template-columns: 1fr; gap: 40px; padding-top: 44px; }
    .ar-aside { position: static; }
    .ar-toc { display: none; }
    .lp-related__list--3 { grid-template-columns: 1fr; }
    .bl-feature { padding-top: 48px; }
    .bl-feature__card { grid-template-columns: 1fr; }
    .bl-feature__text { padding: 30px 26px 34px; }
    .bl-group { padding-top: 56px; }
    .bl-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 575px) {
    .ar-sec p { font-size: 17px; }
    .ar-sec + .ar-sec { margin-top: 36px; }
    .bl-grid { grid-template-columns: 1fr; }
    .ar-facts { grid-template-columns: 1fr 1fr; }
    .ar-facts dt { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .bl-card__img img, .bl-feature__img img { transition: none; }
}


/* =====================================================================
   Update 9: photo viewer (replaces Magnific Popup on the new templates)
   ===================================================================== */
.pml { position: fixed; inset: 0; z-index: 3000; background: rgba(12,12,12,.94); display: none; align-items: center; justify-content: center; padding: 56px 72px; }
.pml.is-open { display: flex; }
.pml__fig { margin: 0; display: flex; flex-direction: column; align-items: center; max-width: 100%; max-height: 100%; }
.pml__img { display: block; max-width: min(1400px, 100%); max-height: calc(100vh - 150px); width: auto !important; height: auto !important; object-fit: contain; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
.pml__cap { display: flex; justify-content: space-between; gap: 20px; width: 100%; padding-top: 14px; font-size: 15px; color: rgba(255,255,255,.8); }
.pml__count { color: rgba(255,255,255,.5); white-space: nowrap; }
.pml__close, .pml__nav { position: absolute; background: none; border: 0; color: #fff; cursor: pointer; line-height: 1; font-family: var(--pm-sans); opacity: .8; }
.pml__close:hover, .pml__nav:hover { opacity: 1; color: var(--pm-brass); }
.pml__close:focus-visible, .pml__nav:focus-visible { outline: 2px solid var(--pm-brass); outline-offset: 2px; }
.pml__close { top: 14px; right: 18px; font-size: 40px; width: 48px; height: 48px; }
.pml__nav { top: 50%; transform: translateY(-50%); font-size: 64px; width: 56px; height: 80px; }
.pml__nav--prev { left: 8px; }
.pml__nav--next { right: 8px; }
.pml--single .pml__nav { display: none; }
@media (max-width: 767px) {
    .pml { padding: 60px 12px 24px; }
    .pml__nav { top: auto; bottom: 10px; transform: none; font-size: 48px; height: 56px; }
    .pml__img { max-height: calc(100vh - 190px); }
    .pml__cap { font-size: 14px; padding-bottom: 50px; }
}


/* =====================================================================
   Update 13: legal pages and 404
   ===================================================================== */
.lg-updated { font-size: 14.5px !important; color: var(--pm-mute) !important; margin-bottom: 24px !important; }
.lg-intro { border-left: 3px solid var(--pm-brass); padding: 4px 0 4px 22px; margin-bottom: 48px; }
.lg-intro p { font-size: 19px !important; line-height: 1.75 !important; color: var(--pm-ink) !important; }
.lg-intro p + p { margin-top: 14px !important; }
.lg-body .ar-sec h3 { font-family: var(--pm-sans); font-size: 18px; font-weight: 600; color: var(--pm-ink); margin: 26px 0 8px; text-transform: none; letter-spacing: 0; }
.lg-body .ar-sec p { font-size: 17px; }
.lg-body .ar-sec ul { margin-top: 14px; }
.lg-body .ar-sec ul + p, .lg-body .ar-sec dl + p, .lg-body .ar-sec .lg-note + p { margin-top: 18px !important; }
.lg-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0 0; }
.lg-cards div { background: var(--pm-sand); padding: 18px 20px 20px; border-top: 2px solid var(--pm-brass); }
.lg-cards dt { font-size: 16.5px; font-weight: 600; color: var(--pm-ink); line-height: 1.4; margin-bottom: 6px; }
.lg-cards dd { margin: 0; font-size: 15.5px; line-height: 1.65; color: #4A453F; }
.lg-badge { display: block; font-size: 13.5px; font-weight: 600; color: var(--pm-brass-deep); margin-bottom: 4px; }
.lg-note { background: #fff; border: 1px solid var(--pm-line); padding: 18px 22px; margin-top: 20px; }
.lg-note p { font-size: 16px !important; }
.lg-note p + p, .lg-note ul + p { margin-top: 10px !important; }
.lg-note ul { margin-top: 8px !important; }
.lg-others { display: grid; gap: 10px; padding-top: 4px; }
@media (max-width: 575px) {
    .lg-cards { grid-template-columns: 1fr; }
    .lg-intro p { font-size: 17.5px !important; }
}
.nf-hero { position: relative; min-height: 78vh; display: flex; align-items: center; color: #fff; background: var(--pm-ink); overflow: hidden; }
.nf-hero__img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
.nf-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,20,20,.88) 0%, rgba(20,20,20,.62) 55%, rgba(20,20,20,.35) 100%); }
.nf-hero__in { position: relative; z-index: 1; padding-top: calc(var(--pm-head-h) + 56px); padding-bottom: 72px; }
.nf-hero__code { font-family: var(--pm-serif); font-size: 22px; color: var(--pm-brass); margin-bottom: 12px !important; }
.nf-hero__title { max-width: 11em; }
.nf-hero .lp-hero__lede { max-width: 32em; }
.nf-links { background: var(--pm-sand); }
@media (max-width: 767px) {
    .nf-hero { min-height: 72vh; }
    .nf-hero::after { background: rgba(20,20,20,.7); }
}

.ar-stay p a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.35); text-underline-offset: 3px; }
.ar-stay p a:hover { color: var(--pm-brass); }

/* ---------- area pages: local guide + map ---------- */
.lp-guide { background: var(--pm-sand); padding: 88px 0; }
.lp-guide .lp-h2 { max-width: 18em; margin-bottom: 36px; }
.lp-guide__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 64px; }
.lp-guide__item { border-top: 1px solid rgba(20,20,20,.18); padding-top: 22px; }
.lp-guide__item h3 { font-family: var(--pm-serif); font-weight: 400; font-size: 23px; line-height: 1.25; color: var(--pm-ink); text-transform: none; letter-spacing: 0; margin: 0 0 10px; }
.lp-guide__item p { font-size: 16.5px; line-height: 1.75; margin: 0; max-width: 34em; }
.lp-route--map { background: var(--pm-ink); color: rgba(255,255,255,.75); padding: 96px 0; }
.lp-route--map .lp-route__grid { grid-template-columns: 7fr 5fr; gap: 48px; }
.lp-route--map .lp-h2 { color: #fff; }
.lp-route--map .lp-route__list li { border-bottom-color: rgba(255,255,255,.12); }
.lp-route--map .lp-route__icon { background: rgba(255,255,255,.08); color: var(--pm-brass); }
.lp-route--map .lp-route__list h3 { color: #fff; }
.lp-route--map .lp-route__list p { color: rgba(255,255,255,.72); }
.lp-route__dir { margin-top: 28px; }
@media (max-width: 991px) {
    .lp-guide { padding: 68px 0; }
    .lp-guide__grid { grid-template-columns: 1fr; gap: 28px; }
    .lp-route--map { padding: 68px 0; }
    .lp-route--map .lp-route__grid { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 575px) {
    .lp-route__dir { width: 100%; }
}

/* =====================================================================
   "Where we are" map (homepage and area pages), drawn by includes/area-map.php
   ===================================================================== */
.hm-map__fig { margin: 0; position: sticky; top: calc(var(--pm-head-h) + 24px); }
.hm-map__fig figcaption { font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,.5); margin-top: 14px; max-width: 40em; }
.hm-map__canvas { position: relative; aspect-ratio: 1 / 1; max-width: 620px; font-family: var(--pm-sans); }
/* the far east pin (HSR) makes the drawing heavier on the right, so the layer sits slightly left to look centred */
.hm-map__layer { position: absolute; inset: 0; transform: translateX(-1.2%); }
.hm-map__base { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.hm-map__axis { stroke: rgba(255,255,255,.07); stroke-width: 1; }
.hm-map__ring { fill: none; stroke: rgba(255,255,255,.2); stroke-width: 1; stroke-dasharray: 2 5; }
.hm-map__ringlbl { fill: rgba(255,255,255,.42); font-size: 9.5px; font-family: var(--pm-sans); letter-spacing: .02em; }
.hm-map__north { fill: rgba(255,255,255,.42); }
.hm-map__arrow { stroke: var(--pm-brass); stroke-width: 1.4; stroke-dasharray: 3 3; fill: none; }
.hm-map__pulse { fill: none; stroke: var(--pm-brass); stroke-width: 1.2; opacity: 0; transform-origin: 0 0; animation: hm-pulse 3.2s ease-out infinite; }
@keyframes hm-pulse { 0% { transform: scale(.6); opacity: .7; } 100% { transform: scale(3.4); opacity: 0; } }

/* pins: a zero-size anchor at the place, with the dot centred on it and the label beside it */
.hm-pin { position: absolute; width: 0; height: 0; text-decoration: none !important; z-index: 1; }
.hm-pin__dot { position: absolute; left: -6px; top: -6px; width: 12px; height: 12px; border-radius: 50%; background: var(--pm-brass); box-shadow: 0 0 0 4px rgba(189,148,90,.16); transition: box-shadow .2s; }
.hm-pin__lbl { position: absolute; white-space: nowrap; line-height: 1.2; }
.hm-pin__name { display: block; font-size: 16px; color: #fff; }
.hm-pin__dist { display: block; font-size: 13.5px; color: var(--pm-brass); margin-top: 2px; }
a.hm-pin:hover .hm-pin__dot, a.hm-pin:focus-visible .hm-pin__dot { box-shadow: 0 0 0 7px rgba(189,148,90,.3); }
a.hm-pin:hover .hm-pin__name { text-decoration: underline; text-underline-offset: 3px; }
a.hm-pin:focus-visible { outline: none; }
a.hm-pin:focus-visible .hm-pin__name { outline: 2px solid var(--pm-brass); outline-offset: 2px; }
.hm-pin--r .hm-pin__lbl { left: 14px; top: 0; transform: translateY(-50%); }
.hm-pin--l .hm-pin__lbl { right: 14px; top: 0; transform: translateY(-50%); text-align: right; }
.hm-pin--t .hm-pin__lbl { left: 0; bottom: 13px; transform: translateX(-50%); text-align: center; }
.hm-pin--b .hm-pin__lbl { left: 0; top: 13px; transform: translateX(-50%); text-align: center; }
.hm-pin--hotel { z-index: 2; }
.hm-pin__short { display: none; }
.hm-pin--hotel .hm-pin__dot { left: -11px; top: -11px; width: 22px; height: 22px; background: #fff; box-shadow: 0 0 0 7px rgba(189,148,90,.45); }
.hm-pin--hotel .hm-pin__lbl { right: 26px; top: 0; transform: translateY(-50%); text-align: right; }
.hm-pin--hotel .hm-pin__lbl { background: var(--pm-ink); padding: 2px 6px 4px; }   /* keeps a route line from running through the hotel name */
.hm-pin--hotel .hm-pin__name { font-family: var(--pm-serif); font-size: 21px; }
.hm-pin--hotel .hm-pin__dist { font-family: var(--pm-serif); font-size: 14px; }
@media (prefers-reduced-motion: reduce) { .hm-map__pulse { animation: none; } }
.hm-map__route { stroke: var(--pm-brass); stroke-width: 1.6; stroke-dasharray: 5 4; opacity: .9; }
.hm-pin--focus { z-index: 2; }
.hm-pin--focus .hm-pin__dot { background: #fff; box-shadow: 0 0 0 5px rgba(189,148,90,.55); }
.hm-pin--focus .hm-pin__name { color: var(--pm-brass); font-weight: 600; }
.hm-pin--focus .hm-pin__dist { color: #fff; }
@media (max-width: 991px) {
    .hm-map__fig { position: static; }
    .hm-map__canvas { margin: 0 auto; }
}
@media (max-width: 575px) {
    .hm-map__canvas { margin: 8px -6px 0; }
    .hm-map__layer { transform: translateX(-3.2%); }
    .hm-pin__name { font-size: 13.5px; }
    .hm-pin__dist { font-size: 12px; margin-top: 1px; }
    .hm-pin__dot { left: -5px; top: -5px; width: 10px; height: 10px; box-shadow: 0 0 0 3px rgba(189,148,90,.16); }
    .hm-pin .hm-pin__lbl { left: auto; right: auto; top: auto; bottom: auto; transform: none; text-align: left; }
    .hm-pin--m-r .hm-pin__lbl { left: 11px; top: 0; transform: translateY(-50%); }
    .hm-pin--m-l .hm-pin__lbl { right: 11px; top: 0; transform: translateY(-50%); text-align: right; }
    .hm-pin--m-t .hm-pin__lbl { left: 0; bottom: 10px; transform: translateX(-50%); text-align: center; }
    .hm-pin--m-b .hm-pin__lbl { left: 0; top: 10px; transform: translateX(-50%); text-align: center; }
    .hm-pin--hotel .hm-pin__dot { left: -9px; top: -9px; width: 18px; height: 18px; box-shadow: 0 0 0 5px rgba(189,148,90,.45); }
    .hm-pin--hotel .hm-pin__lbl { left: 0; top: 17px; transform: translateX(-50%); text-align: center; padding: 0 1px 2px; }
    .hm-pin__full { display: none; }
    .hm-pin__short { display: inline; }
    .hm-pin--hotel .hm-pin__name { font-size: 16px; }
    .hm-pin--hotel .hm-pin__dist { font-size: 12px; }
}
@media (max-width: 359px) {
    .hm-pin__name { font-size: 12px; }
    .hm-pin__dist { font-size: 11px; }
    .hm-pin--hotel .hm-pin__name { font-size: 14px; }
    .hm-pin--hotel .hm-pin__dist { font-size: 11px; }
}
