/* Flat Margaret | Consolidated stylesheet · v11 (2026-10-08)
 Safe cascade refactor of v10. The existing rule order, media queries, specificity, and visual design are preserved.
 Sections follow the historical component layers; redundant property overrides have been removed.
*/
/* Flat Margaret | CONSOLIDATED STYLESHEET | 2026-10-08
   Original cascade retained; redundant declarations removed. Refer to the v10 ZIP for rollback.
*/
/* ========= LAYER: flat-margaret.min.css ========= */
:root {
    --fm-blue: #3e6f8f
}
* {
    box-sizing: border-box
}
body.fm-body {
    margin: 0
}
body.menu-open {
    overflow: hidden
}
img {
    max-width: 100%;
    height: auto;
    display: block
}
a {
    color: inherit;
    text-decoration: none
}
.fm-container {
    margin: 0 auto
}
.fm-navbar {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000
}
.fm-nav-container {
    height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between
}
.fm-brand {
    line-height: 1
}
.fm-brand-main {
    font-family: var(--fm-heading);
    color: var(--fm-gold);
    letter-spacing: .02em
}
.fm-brand-sub {
    margin-top: 5px;
    font-size: 11px
}
.fm-nav-menu {
    display: flex;
    align-items: center;
    margin-left: auto
}
.fm-nav-menu ul {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0
}
.fm-nav-menu a {
    font-weight: 700
}
.fm-nav-menu li a {
    position: relative
}
.fm-nav-menu li a:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 22px;
    width: 0;
    height: 1px;
    background: var(--fm-gold);
    transition: .25s
}
.fm-nav-menu li a:hover {
    color: #fff
}
.fm-nav-menu li a:hover:after {
    width: 100%
}
.fm-lang-switch {
    display: inline-flex;
    align-items: center;
    overflow: hidden
}
.fm-lang-switch a {
    color: rgba(255,255,255,.72);
    font-weight: 800
}
.fm-lang-switch span {
    width: 1px;
    align-self: stretch;
    background: rgba(184,135,70,.45)
}
.fm-nav-toggle {
    display: none;
    background: none;
    gap: 5px;
    flex-direction: column
}
.fm-nav-toggle span {
    width: 28px;
    height: 2px;
    border-radius: 2px
}
.fm-mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 1200;
    backdrop-filter: blur(22px);
    opacity: 0;
    pointer-events: none;
    transform: scale(1.02);
    transition: .3s
}
.fm-mobile-menu.open {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1)
}
.fm-mobile-head {
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between
}
.fm-menu-close {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 24px
}
.fm-mobile-links {
    display: flex;
    flex-direction: column;
    align-items: center
}
.fm-mobile-links a {
    color: #fff;
    font-family: var(--fm-heading);
    font-size: 34px
}
.fm-lang-switch-mobile {
    margin-top: 18px
}
.fm-lang-switch-mobile a {
    font-family: var(--fm-body);
    font-size: 14px
}
.fm-hero {
    position: relative;
    background: #111
}
.fm-hero-media {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(0,0,0,.74) 0%,rgba(0,0,0,.38) 46%,rgba(0,0,0,.15) 100%),url('/images/flat-margaret-bedroom-beds-blue-sofa.webp') center/cover no-repeat
}
.fm-hero-overlay {
    position: absolute;
    inset: auto 0 0
}
.fm-hero-inner {
    position: relative
}
.fm-hero-copy {
    color: #fff
}
.fm-kicker,.fm-eyebrow {
    margin: 0 0 14px
}
.fm-kicker {
    font-family: var(--fm-heading);
    font-size: 28px;
    text-transform: none;
    letter-spacing: .02em
}
.fm-hero h1 {
    margin: 0
}
.fm-lead {
    margin: 22px 0 0;
    color: rgba(255,255,255,.88);
    font-size: 18px;
    line-height: 1.75
}
.fm-hero-actions {
    flex-wrap: wrap
}
.fm-hero-card {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    margin-top: 46px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.16);
    color: #fff
}
.fm-hero-card div {
    padding-left: 18px
}
.fm-hero-card span {
    display: block;
    color: var(--fm-gold);
    font-size: 13px;
    font-weight: 800
}
.fm-hero-card strong {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.35
}
.fm-benefit-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr)
}
.fm-benefit-grid article {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 14px;
    border-left: 1px solid rgba(184,135,70,.14)
}
.fm-benefit-grid span {
    font-size: 28px;
    color: var(--fm-gold)
}
.fm-benefit-grid h2 {
    margin: 0
}
.fm-benefit-grid p {
    margin: 5px 0 0
}
.fm-split,.fm-location-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center
}
.fm-image-card {
    margin: 0;
    box-shadow: var(--fm-shadow);
    overflow: hidden
}
.fm-copy h2,.fm-location h2,.fm-booking h2,.fm-section-title {
    margin: 0 0 20px;
    color: var(--fm-navy);
    font-family: var(--fm-heading);
    font-size: clamp(38px,3.4vw,58px);
    line-height: 1;
    font-weight: 600;
    letter-spacing: -.03em
}
.fm-stats {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    margin: 24px 0
}
.fm-stats span {
    border: 1px solid var(--fm-border);
    color: var(--fm-ink);
    font-size: 13px;
    font-weight: 700
}
.center {
    text-align: center;
    display: block
}
.fm-section-title {
    text-align: center
}
.fm-gallery-grid {
    display: grid;
    grid-template-columns: repeat(5,1fr)
}
.fm-gallery-grid img {
    aspect-ratio: 1.35/1;
    object-fit: cover
}
.fm-note {
    text-align: center;
    margin: 20px auto 0;
    max-width: 760px;
    font-size: 14px
}
.fm-amenities {
    background: var(--fm-cream)
}
.fm-icon-grid {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    gap: 16px
}
.fm-icon-grid article {
    background: #fff;
    padding: 26px 18px;
    text-align: center;
    border: 1px solid var(--fm-border);
    box-shadow: 0 10px 30px rgba(31,36,40,.04)
}
.fm-icon-grid span {
    font-size: 30px;
    color: var(--fm-gold)
}
.fm-icon-grid h3 {
    margin: 12px 0 5px;
    font-size: 15px
}
.fm-icon-grid p {
    margin: 0;
    color: var(--fm-muted);
    font-size: 13px
}
.fm-check-list {
    list-style: none;
    margin: 26px 0 0;
    padding: 0;
    display: grid
}
.fm-check-list li {
    position: relative;
    padding-left: 28px;
    color: var(--fm-ink);
    font-weight: 600
}
.fm-check-list li:before {
    position: absolute;
    left: 0;
    color: var(--fm-gold);
    font-weight: 900
}
.fm-map-card {
    background: #fff;
    border: 1px solid var(--fm-border)
}
.fm-map-card iframe {
    width: 100%;
    height: 100%;
    border: 0
}
.fm-card-grid {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    gap: 18px
}
.fm-card-grid article {
    background: #fff;
    border: 1px solid var(--fm-border);
    box-shadow: 0 10px 28px rgba(31,36,40,.06);
    overflow: hidden
}
.fm-card-grid img {
    aspect-ratio: 1.35/1;
    object-fit: cover
}
.fm-card-grid h3 {
    margin: 16px 16px 6px;
    font-size: 17px;
    color: var(--fm-navy)
}
.fm-card-grid p {
    margin: 0 16px 18px;
    color: var(--fm-muted);
    font-size: 13px;
    line-height: 1.55
}
.fm-booking-inner {
    justify-content: space-between
}
.fm-booking h2 {
    margin-bottom: 10px
}
.fm-eyebrow.light {
    color: var(--fm-gold)
}
.fm-faq-grid {
    grid-template-columns: repeat(2,1fr);
    gap: 14px
}
.fm-faq details {
    background: #fff;
    border: 1px solid var(--fm-border);
    padding: 18px 20px
}
.fm-faq summary {
    cursor: pointer;
    font-weight: 800;
    color: var(--fm-navy)
}
.fm-faq details p {
    margin: 14px 0 0;
    color: var(--fm-muted);
    line-height: 1.7
}
.fm-footer {
    color: #fff;
    padding: 58px 0 0
}
.fm-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 36px
}
.fm-footer h3 {
    margin: 0 0 16px;
    color: #fff;
    font-size: 15px
}
.fm-footer p,.fm-footer a {
    color: rgba(255,255,255,.72);
    line-height: 1.8;
    font-size: 14px
}
.fm-footer-bottom {
    padding: 18px 24px;
    display: flex;
    justify-content: space-between
}
.fm-cookie {
    position: fixed;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 1300;
    width: min(920px,calc(100% - 36px));
    margin: auto;
    background: #fff;
    border: 1px solid rgba(31,36,40,.12);
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
    padding: 16px 18px;
    align-items: center;
    justify-content: space-between;
    gap: 18px
}
.fm-cookie p {
    margin: 0;
    color: var(--fm-muted);
    font-size: 13px
}
.fm-cookie-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap
}
.fm-cookie button,.fm-cookie a {
    border: 0;
    background: var(--fm-navy);
    color: #fff;
    padding: 10px 14px;
    font-weight: 800;
    font-size: 12px
}
.fm-cookie .secondary {
    background: #eee;
    color: var(--fm-ink)
}
.fm-cookie a {
    background: transparent;
    color: var(--fm-blue)
}
@media(max-width:1100px) {
    .fm-nav-menu ul {
        gap: 16px
    }
    .fm-card-grid {
        grid-template-columns: repeat(3,1fr)
    }
    .fm-icon-grid {
        grid-template-columns: repeat(3,1fr)
    }
    .fm-benefit-grid {
        grid-template-columns: repeat(2,1fr)
    }
    .fm-gallery-grid {
        grid-template-columns: repeat(3,1fr)
    }
}
@media(max-width:860px) {
    .fm-navbar {
        height: 74px
    }
    .fm-nav-menu {
        display: none
    }
    .fm-nav-toggle {
        display: flex
    }
    .fm-hero-card {
        grid-template-columns: repeat(2,1fr)
    }
    .fm-split,.fm-location-grid {
        grid-template-columns: 1fr
    }
    .fm-footer-grid {
        grid-template-columns: 1fr 1fr
    }
    .fm-booking-inner {
        align-items: flex-start;
        flex-direction: column
    }
    .fm-cookie {
        align-items: flex-start;
        flex-direction: column
    }
}
@media(max-width:620px) {
    .fm-hero-card,.fm-benefit-grid,.fm-icon-grid,.fm-faq-grid,.fm-footer-grid {
        grid-template-columns: 1fr
    }
    .fm-card-grid {
        grid-template-columns: 1fr
    }
    .fm-gallery-grid {
        grid-template-columns: 1fr 1fr
    }
    .fm-footer-bottom {
        flex-direction: column;
        gap: 8px
    }
    .fm-mobile-links a {
        font-size: 29px
    }
}
.fm-mini-icon {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(184,135,70,.42);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    font-size: 21px;
    flex: 0 0 auto
}
.fm-benefit-grid article {
    align-items: flex-start
}
.fm-benefit-grid .fm-mini-icon {
    background: #fff
}
.fm-score-grid {
    display: grid;
    grid-template-columns: repeat(5,1fr)
}
.fm-score-card strong {
    display: block;
    line-height: 1
}
.fm-score-card span {
    display: block;
    margin-top: 7px;
    font-weight: 700
}
.fm-review-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px
}
.fm-review-card {
    padding: 24px 22px
}
.fm-review-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.75
}
.fm-review-card footer {
    color: var(--fm-navy);
    font-weight: 800
}
.fm-review-card span {
    display: block;
    margin-top: 3px;
    color: var(--fm-gold);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em
}
.fm-host-card {
    align-items: center
}
.fm-host-score {
    display: flex;
    align-items: center;
    gap: 18px
}
.fm-host-score strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-family: var(--fm-heading);
    font-size: 30px
}
.fm-host-score span {
    font-weight: 700
}
.fm-info-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 16px
}
.fm-info-card {
    background: #fff;
    border: 1px solid var(--fm-border);
    padding: 22px 20px;
    box-shadow: 0 10px 28px rgba(31,36,40,.05)
}
.fm-info-card .fm-mini-icon {
    margin-bottom: 12px;
    background: #fff
}
.fm-info-card h3 {
    margin: 0 0 9px;
    color: var(--fm-navy);
    font-size: 17px
}
.fm-info-card p {
    margin: 0;
    color: var(--fm-muted);
    font-size: 14px;
    line-height: 1.65
}
.fm-rules {
    background: var(--fm-cream)
}
.fm-rules-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 16px
}
.fm-rule-card {
    background: #fff;
    border: 1px solid var(--fm-border);
    padding: 22px 20px
}
.fm-rule-card h3 {
    margin: 0 0 10px;
    color: var(--fm-navy);
    font-size: 17px
}
.fm-rule-card p {
    margin: 0;
    color: var(--fm-muted);
    font-size: 14px;
    line-height: 1.65
}
.fm-nearby-list {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 12px;
    margin-top: 24px
}
.fm-nearby-list span {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid var(--fm-border);
    color: var(--fm-muted);
    font-size: 14px
}
.fm-nearby-list strong {
    color: var(--fm-navy)
}
.fm-booking-badge {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap
}
.fm-booking-badge img {
    width: 180px;
    max-width: 100%;
    border-radius: 10px;
    box-shadow: 0 15px 38px rgba(0,0,0,.18)
}
@media(max-width:1100px) {
    .fm-review-grid {
        grid-template-columns: repeat(2,1fr)
    }
    .fm-info-grid {
        grid-template-columns: repeat(2,1fr)
    }
}
@media(max-width:860px) {
    .fm-host-card {
        grid-template-columns: 1fr;
        padding: 28px
    }
    .fm-rules-grid {
        grid-template-columns: 1fr
    }
}
@media(max-width:620px) {
    .fm-score-grid,.fm-review-grid,.fm-info-grid,.fm-nearby-list {
        grid-template-columns: 1fr
    }
    .fm-mini-icon {
        width: 40px;
        height: 40px
    }
}
:root {
    scroll-padding-top: 104px
}
.fm-section,.fm-benefits,.fm-score-strip,.fm-booking {
    scroll-margin-top: 104px
}
.fm-gallery-grid-all {
    grid-template-columns: repeat(5,1fr)
}
.fm-gallery-item {
    display: block;
    width: 100%;
    padding: 0;
    cursor: zoom-in
}
.fm-gallery-item img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1.35/1;
    object-fit: cover;
    border: 1px solid var(--fm-border);
    transition: transform .35s ease,filter .35s ease
}
.fm-lightbox {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(6,13,18,.92);
    opacity: 0;
    pointer-events: none;
    transition: opacity .24s ease;
    padding: 72px 84px
}
.fm-lightbox.open {
    opacity: 1;
    pointer-events: auto
}
.fm-lightbox figure {
    margin: 0;
    max-width: min(1120px,92vw);
    max-height: 86vh;
    text-align: center
}
.fm-lightbox img {
    max-width: 100%;
    max-height: 78vh;
    width: auto;
    height: auto;
    object-fit: contain;
    box-shadow: 0 24px 80px rgba(0,0,0,.45)
}
.fm-lightbox figcaption {
    margin-top: 14px;
    color: rgba(255,255,255,.78);
    font-size: 14px
}
.fm-lightbox-close,.fm-lightbox-prev,.fm-lightbox-next {
    position: absolute;
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.09);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(10px)
}
.fm-lightbox-close {
    top: 22px;
    right: 24px;
    width: 48px;
    height: 48px;
    font-size: 34px;
    line-height: 1
}
.fm-lightbox-prev,.fm-lightbox-next {
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 72px;
    font-size: 54px;
    line-height: 1
}
.fm-lightbox-prev {
    left: 24px
}
.fm-lightbox-next {
    right: 24px
}
.fm-review-summary {
    margin-bottom: 24px
}
.fm-review-score-big span {
    margin-top: 10px;
    font-weight: 800
}
.fm-review-summary p {
    margin: 0;
    color: var(--fm-muted);
    line-height: 1.7
}
.fm-rating-bars span {
    gap: 14px
}
.fm-rating-bars em {
    font-weight: 900
}
.fm-review-carousel {
    position: relative
}
.fm-review-track {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: thin
}
.fm-review-carousel .fm-review-card {
    min-width: 360px;
    max-width: 360px;
    scroll-snap-align: start
}
.fm-review-top {
    display: flex;
    align-items: center;
    margin-bottom: 14px
}
.fm-review-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--fm-navy);
    color: #fff;
    font-weight: 900
}
.fm-review-top strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 42px;
    border-radius: 8px;
    background: #003b95;
    color: #fff
}
.fm-review-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 44px;
    height: 58px;
    font-size: 38px;
    cursor: pointer
}
.fm-host-photo-placeholder {
    margin-top: 22px;
    border: 1px dashed rgba(184,135,70,.55);
    background: linear-gradient(135deg,#fffaf3,#f2e7d8);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--fm-navy)
}
.fm-host-photo-placeholder:before {
    content: "";
    width: 72px;
    height: 72px;
    border-radius: 50%;
    border: 2px solid rgba(184,135,70,.5);
    background: radial-gradient(circle at 50% 35%,rgba(184,135,70,.55) 0 16%,transparent 17%),radial-gradient(circle at 50% 85%,rgba(184,135,70,.35) 0 34%,transparent 35%)
}
.fm-host-photo-placeholder span {
    display: block;
    margin-top: 14px;
    font-weight: 900
}
.fm-host-photo-placeholder small {
    margin-top: 5px;
    color: var(--fm-muted)
}
.fm-attraction-card-grid {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    gap: 18px;
    margin-top: 30px
}
.fm-attraction-card {
    background: #fff;
    border: 1px solid var(--fm-border);
    box-shadow: 0 10px 28px rgba(31,36,40,.06);
    overflow: hidden
}
.fm-attraction-card img {
    width: 100%;
    aspect-ratio: 1.35/1;
    object-fit: cover;
    background: var(--fm-cream)
}
.fm-attraction-card div {
    padding: 16px
}
.fm-attraction-card span {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--fm-gold);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase
}
.fm-attraction-card h3 {
    margin: 0 0 7px;
    color: var(--fm-navy);
    font-size: 17px
}
.fm-attraction-card p {
    margin: 0;
    color: var(--fm-muted);
    font-size: 13px;
    line-height: 1.55
}
.fm-accordion {
    grid-template-columns: repeat(2,1fr)
}
.fm-accordion-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border: 0;
    color: var(--fm-navy);
    font-weight: 900;
    text-align: left;
    cursor: pointer
}
.fm-accordion-trigger b {
    font-size: 22px;
    color: var(--fm-gold);
    transition: transform .25s ease
}
.fm-accordion-trigger[aria-expanded="true"] b {
    transform: rotate(45deg)
}
.fm-accordion-panel {
    padding: 0 20px 18px
}
.fm-accordion-panel p {
    margin: 0;
    color: var(--fm-muted)
}
@media(max-width:1100px) {
    .fm-attraction-card-grid {
        grid-template-columns: repeat(3,1fr)
    }
    .fm-gallery-grid-all {
        grid-template-columns: repeat(4,1fr)
    }
}
@media(max-width:860px) {
    .fm-accordion {
        grid-template-columns: 1fr
    }
    .fm-lightbox {
        padding: 70px 18px
    }
    .fm-lightbox-prev,.fm-lightbox-next {
        width: 44px;
        height: 58px;
        font-size: 42px
    }
    .fm-lightbox-prev {
        left: 10px
    }
    .fm-lightbox-next {
        right: 10px
    }
}
@media(max-width:620px) {
    .fm-gallery-grid-all {
        grid-template-columns: repeat(2,1fr)
    }
    .fm-attraction-card-grid {
        grid-template-columns: 1fr
    }
    .fm-review-track {
        padding-bottom: 64px
    }
}
.fm-hero-inner {
    z-index: 3
}
.fm-info-card {
    text-align: center
}
.fm-info-card .fm-mini-icon {
    margin-left: auto;
    margin-right: auto
}
.fm-info-card h3 {
    text-align: center
}
.fm-rating-bars span {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    background: #fff;
    border: 1px solid rgba(184,135,70,.16);
    box-shadow: 0 8px 22px rgba(31,36,40,.04)
}
.fm-review-card .fm-review-avatar {
    display: none!important
}
.fm-review-top {
    justify-content: flex-end
}
.fm-faq-grid {
    display: none!important
}
.fm-accordion-trigger {
    min-height: 62px
}
.fm-footer-award {
    width: min(1180px,calc(100% - 48px));
    margin: 38px auto 0;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,.1);
    justify-content: center
}
.fm-footer-award img {
    width: 190px;
    max-width: 100%;
    border-radius: 10px;
    box-shadow: 0 16px 42px rgba(0,0,0,.28)
}
.fm-review-summary {
    gap: 0 !important
}
.fm-review-summary>p {
    padding: 24px 26px 8px !important;
    align-self: end
}
.fm-accordion {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 auto
}
.fm-accordion-item {
    width: 100%
}
.fm-accordion-panel[hidden] {
    display: none!important
}
.fm-accordion-panel:not([hidden]) {
    display: block!important
}
@media(max-width:1180px) {
    .fm-rating-bars {
        grid-template-columns: repeat(4,minmax(120px,1fr)) !important
    }
}
@media(max-width:860px) {
    .fm-review-score-big {
        grid-row: auto;
        min-height: 170px!important
    }
    .fm-review-summary>p {
        grid-column: 1
    }
    .fm-rating-bars {
        grid-column: 1;
        grid-template-columns: repeat(2,1fr)!important
    }
}
.fm-footer-bottom {
    margin-left: max(0px,env(safe-area-inset-left));
    margin-right: max(0px,env(safe-area-inset-right))
}
@media(max-width:620px) {
    .fm-review-track {
        padding: 4px 0 18px;
        scroll-padding-inline: 0;
        scrollbar-width: none
    }
    .fm-review-track::-webkit-scrollbar {
        display: none
    }
    .fm-review-carousel .fm-review-card {
        margin: 0 auto
    }
    .fm-review-nav {
        top: 50%;
        transform: translateY(-50%);
        border-radius: 999px;
        font-size: 34px;
        background: #fff;
        color: var(--fm-navy)
    }
}
@media(max-width:760px) {
    .fm-review-summary {
        border-radius: 0
    }
    .fm-rating-bars span {
        align-items: center;
        text-align: center
    }
}
.fm-line-icon svg {
    width: 23px;
    height: 23px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round
}
.fm-amenity-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(184,135,70,.42);
    border-radius: 50%;
    color: var(--fm-gold);
    background: #fff
}
.fm-icon-grid article>span:not(.fm-amenity-icon) {
    display: none
}
.fm-mini-icon.fm-line-icon {
    background: #fff;
    color: var(--fm-gold)
}
.fm-mini-icon.fm-line-icon svg {
    width: 22px;
    height: 22px
}
.fm-review-carousel {
    padding: 0 72px
}
.fm-review-prev {
    left: 8px
}
.fm-review-next {
    right: 8px
}
.fm-review-award {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 10px;
    border-left: 1px solid rgba(184,135,70,.16);
    border-right: 1px solid rgba(184,135,70,.16)
}
.fm-review-award img {
    max-width: 100%;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(31,36,40,.09)
}
.fm-host-photo-placeholder {
    margin: 0 0 24px;
    min-height: 220px
}
.fm-footer-award {
    display: none!important
}
.fm-footer-bottom-center {
    justify-content: center!important;
    text-align: center
}
@media(max-width:1180px) {
    .fm-review-summary {
        grid-template-columns: 150px 120px 1fr !important
    }
}
@media(max-width:860px) {
    .fm-review-summary {
        grid-template-columns: 1fr !important
    }
    .fm-review-award {
        grid-column: 1!important;
        grid-row: auto;
        border-left: 0;
        border-right: 0;
        border-top: 1px solid rgba(184,135,70,.16);
        border-bottom: 1px solid rgba(184,135,70,.16)
    }
    .fm-review-summary>p,.fm-rating-bars {
        grid-column: 1!important
    }
}
@media(max-width:620px) {
    .fm-review-prev {
        left: 2px
    }
    .fm-review-next {
        right: 2px
    }
}
.fm-check-list li:before {
    content: ""!important;
    top: .45em;
    width: 12px;
    height: 7px;
    border-left: 2px solid var(--fm-gold);
    border-bottom: 2px solid var(--fm-gold);
    transform: rotate(-45deg)
}
@media(max-width:620px) {
    .fm-review-carousel {
        overflow: visible
    }
    .fm-review-track {
        gap: 0!important;
        overflow-x: auto;
        scroll-snap-type: x mandatory
    }
    .fm-review-carousel .fm-review-card {
        flex: 0 0 100%!important;
        min-width: 100%!important;
        max-width: 100%!important;
        scroll-snap-align: center
    }
    .fm-review-nav {
        z-index: 5
    }
}
:root {
    --fm-safe-bg: #07131d
}
html {
    min-height: 100%
}
body.fm-body {
    min-height: 100%
}
.fm-mobile-menu {
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom)
}
@media(min-width:861px) {
    .fm-review-track {
        gap: 18px!important
    }
}
.fm-gallery-grid-all {
    overflow: hidden;
    transition: max-height .45s ease
}
.fm-gallery-grid-all:not(.is-expanded) {
    max-height: calc((((min(1180px,100vw - 48px) - 56px) / 5) / 1.35) * 3 + 28px)
}
.fm-gallery-grid-all.is-expanded {
    max-height: 4000px
}
.fm-gallery-action {
    display: flex;
    justify-content: center
}
@media(max-width:620px) {
    .fm-gallery-grid-all:not(.is-expanded) {
        max-height: calc((((100vw - 28px - 14px) / 2) / 1.35) * 3 + 28px)
    }
}
.fm-seo-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px
}
.fm-seo-grid article,.fm-ideal-grid article {
    background: #fff;
    border: 1px solid var(--fm-border);
    padding: 26px 24px;
    box-shadow: 0 12px 30px rgba(31,36,40,.045)
}
.fm-seo-grid h3,.fm-ideal-grid h3 {
    margin: 0 0 12px;
    color: var(--fm-navy);
    font-size: 20px
}
.fm-seo-grid p,.fm-ideal-grid p {
    margin: 0;
    color: var(--fm-muted);
    font-size: 15px;
    line-height: 1.75
}
.fm-ideal-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 16px
}
.fm-ideal-grid article {
    position: relative;
    padding-top: 58px
}
.fm-ideal-grid article::before {
    content: "";
    position: absolute;
    top: 24px;
    left: 24px;
    width: 24px;
    height: 24px;
    border: 1.8px solid var(--fm-gold);
    border-radius: 50%
}
.fm-ideal-grid article::after {
    content: "";
    position: absolute;
    top: 31px;
    left: 31px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--fm-gold);
    opacity: .8
}
.fm-to-top {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1400;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    font-size: 22px;
    font-weight: 900;
    box-shadow: 0 16px 40px rgba(31,36,40,.22);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .25s ease,transform .25s ease
}
.fm-to-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0)
}
@media(max-width:1100px) {
    .fm-seo-grid {
        grid-template-columns: 1fr
    }
    .fm-ideal-grid {
        grid-template-columns: repeat(2,1fr)
    }
}
@media(max-width:620px) {
    .fm-ideal-grid {
        grid-template-columns: 1fr
    }
    .fm-to-top {
        right: 16px;
        bottom: calc(16px + env(safe-area-inset-bottom));
        width: 44px;
        height: 44px
    }
}
:root {
    --fm-radius-sm: 6px;
    --fm-radius-md: 12px;
    --fm-card-shadow: 0 18px 48px rgba(31,36,40,.075);
    --fm-card-shadow-soft: 0 10px 28px rgba(31,36,40,.045);
    --fm-section-y: 92px
}
.fm-eyebrow.center + .fm-section-title {
    margin-top: 0
}
.fm-brand-main {
    font-size: 26px
}
.fm-lead {
    max-width: 610px
}
.fm-hero-card {
    max-width: 860px;
    padding: 18px;
    gap: 12px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: var(--fm-radius-md);
    background: rgba(7,13,18,.32);
    backdrop-filter: blur(10px)
}
.fm-hero-card div {
    border-left: 0;
    padding: 12px 14px;
    background: rgba(255,255,255,.055);
    border-radius: var(--fm-radius-sm)
}
.fm-score-grid {
    padding: 24px 0
}
.fm-score-card {
    border-radius: var(--fm-radius-sm)
}
.fm-benefit-grid {
    padding: 18px 0
}
.fm-benefit-grid article {
    border-radius: var(--fm-radius-sm);
    padding: 22px 20px
}
.fm-apartment {
    background: linear-gradient(180deg,#fffdf8,#fffaf3)
}
.fm-image-card {
    border-radius: var(--fm-radius-md);
    border: 1px solid rgba(184,135,70,.14)
}
.fm-image-card img {
    aspect-ratio: 1.42/1;
    object-fit: cover
}
.fm-copy {
    max-width: 560px
}
.fm-copy h2,.fm-location h2 {
    text-wrap: balance
}
.fm-stats span {
    box-shadow: 0 8px 22px rgba(31,36,40,.035)
}
.fm-seo-stay {
    background: #fff;
    border-top: 1px solid rgba(184,135,70,.08);
    border-bottom: 1px solid rgba(184,135,70,.08)
}
.fm-seo-grid,.fm-ideal-grid {
    align-items: stretch
}
.fm-seo-grid article,.fm-ideal-grid article,.fm-info-card,.fm-rule-card,.fm-review-card {
    border-radius: var(--fm-radius-sm);
    box-shadow: var(--fm-card-shadow-soft)
}
.fm-seo-grid article,.fm-ideal-grid article {
    min-height: 100%
}
.fm-ideal {
    background: linear-gradient(180deg,#f7f3ed,#efe4d6)
}
.fm-ideal-grid article::before {
    background: #fff
}
.fm-gallery-item img {
    border-radius: 4px;
    box-shadow: 0 8px 18px rgba(31,36,40,.06)
}
.fm-gallery-action .fm-btn {
    min-width: 168px
}
.fm-amenities,.fm-rules {
    background: linear-gradient(180deg,#f7f3ed,#f2e8da)
}
.fm-icon-grid article,.fm-info-card {
    border-radius: var(--fm-radius-sm);
    box-shadow: var(--fm-card-shadow-soft)
}
.fm-info-grid {
    max-width: 980px;
    margin: 0 auto
}
.fm-info-card h3,.fm-icon-grid h3 {
    color: var(--fm-navy)
}
.fm-location {
    background: #fffdf8
}
.fm-attractions {
    background: #fff
}
.fm-attraction-card {
    border-radius: var(--fm-radius-sm)
}
.fm-nearby-list {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto
}
.fm-host-card p {
    color: var(--fm-muted);
    line-height: 1.78
}
.fm-review-summary {
    margin-left: auto;
    margin-right: auto;
    overflow: hidden
}
.fm-review-score-big strong {
    letter-spacing: -.04em
}
.fm-review-award {
    background: linear-gradient(180deg,#fff,#fffaf3)
}
.fm-review-award img {
    width: 96px
}
.fm-rating-bars span {
    border-radius: var(--fm-radius-sm)
}
.fm-review-carousel {
    max-width: 1060px;
    margin: 28px auto 0
}
.fm-review-track {
    padding-bottom: 22px
}
.fm-review-card {
    min-height: 245px;
    display: flex;
    flex-direction: column
}
.fm-review-card p {
    flex: 1
}
.fm-review-card footer {
    border-top: 1px solid rgba(184,135,70,.13);
    padding-top: 14px
}
.fm-booking-inner {
    max-width: 980px
}
.fm-accordion {
    max-width: 900px
}
.fm-accordion-item {
    border-radius: var(--fm-radius-sm);
    overflow: hidden
}
.fm-footer-grid {
    width: min(1040px,calc(100% - 48px));
    margin: 0 auto
}
.fm-footer-bottom-center {
    width: min(1040px,calc(100% - 48px));
    margin-left: auto;
    margin-right: auto
}
@media(min-width:861px) {
    .fm-review-carousel {
        padding: 0 72px!important
    }
    .fm-review-carousel .fm-review-card {
        flex: 0 0 calc((100% - 36px) / 3)!important;
        min-width: calc((100% - 36px) / 3)!important;
        max-width: calc((100% - 36px) / 3)!important
    }
    .fm-review-prev {
        left: 6px!important
    }
    .fm-review-next {
        right: 6px!important
    }
}
@media(max-width:1100px) {
    .fm-container {
        width: min(100% - 40px,1120px)
    }
    .fm-section {
        padding: 76px 0
    }
    .fm-score-grid {
        grid-template-columns: repeat(3,1fr)
    }
    .fm-split,.fm-location-grid {
        gap: 46px
    }
}
@media(max-width:620px) {
    :root {
        --fm-section-y: 62px
    }
    .fm-container,.fm-nav-container {
        width: min(100% - 30px,1120px)
    }
    .fm-hero:before {
        background: linear-gradient(180deg,rgba(7,13,18,.52),rgba(7,13,18,.18) 34%,rgba(7,13,18,.84) 100%),linear-gradient(90deg,rgba(7,13,18,.68),rgba(7,13,18,.22))
    }
    .fm-btn {
        min-height: 46px;
        padding: 13px 20px
    }
    .fm-hero-card {
        grid-template-columns: 1fr 1fr!important;
        padding: 10px
    }
    .fm-hero-card div {
        padding: 10px!important
    }
    .fm-score-grid {
        gap: 10px
    }
    .fm-benefit-grid {
        padding: 12px 0
    }
    .fm-copy h2,.fm-location h2,.fm-booking h2,.fm-section-title {
        font-size: clamp(34px,9vw,42px)
    }
    .fm-seo-grid,.fm-ideal-grid,.fm-info-grid {
        gap: 12px
    }
    .fm-gallery-action {
        margin-top: 20px
    }
    .fm-host-card {
        padding: 24px 18px
    }
    .fm-host-photo img {
        max-height: 310px
    }
    .fm-review-summary {
        border-radius: 0
    }
    .fm-rating-bars {
        gap: 8px!important
    }
    .fm-review-carousel {
        padding: 0 42px!important
    }
    .fm-review-card {
        min-height: 270px
    }
    .fm-review-nav {
        width: 36px!important;
        height: 54px!important
    }
    .fm-footer-grid {
        width: min(100% - 30px,1040px);
        gap: 24px
    }
    .fm-footer-bottom-center {
        width: min(100% - 30px,1040px)
    }
}
.fm-host {
    background: radial-gradient(circle at 18% 18%,rgba(184,135,70,.13),transparent 30%),linear-gradient(135deg,#f2e4d1 0%,#fff8ef 48%,#efe1cf 100%)
}
.fm-host-card {
    position: relative;
    border-radius: 18px;
    border: 1px solid rgba(184,135,70,.18);
    box-shadow: 0 34px 90px rgba(31,36,40,.12)
}
.fm-host-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 7px;
    height: 100%;
    background: linear-gradient(180deg,var(--fm-gold),rgba(184,135,70,.18))
}
.fm-host-card::after {
    content: "";
    position: absolute;
    width: 330px;
    height: 330px;
    border-radius: 50%;
    background: rgba(184,135,70,.08);
    pointer-events: none
}
.fm-host-card>div {
    position: relative;
    z-index: 1
}
.fm-host-card>div:first-child {
    align-self: center
}
.fm-host-card .fm-eyebrow {
    margin-bottom: 18px
}
.fm-host-card .fm-section-title {
    font-size: clamp(44px,4vw,66px);
    line-height: .94;
    max-width: 360px
}
.fm-host-card .fm-subtitle {
    max-width: 390px;
    margin-top: 22px;
    color: #625a52;
    font-size: 17px;
    line-height: 1.75
}
.fm-host-score {
    margin-top: 30px;
    padding: 14px 16px 14px 14px;
    width: max-content;
    max-width: 100%;
    border: 1px solid rgba(184,135,70,.18);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(31,36,40,.065)
}
.fm-host-score strong {
    width: 74px;
    height: 74px;
    background: radial-gradient(circle at 30% 20%,rgba(184,135,70,.24),transparent 40%),var(--fm-navy);
    box-shadow: 0 12px 24px rgba(19,38,53,.22)
}
.fm-host-score span {
    padding-right: 6px;
    color: #4e4842
}
.fm-host-photo {
    grid-row: 1 / span 2;
    position: relative;
    border: 0;
    background: transparent
}
.fm-host-photo::before {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 18px;
    background: linear-gradient(145deg,rgba(184,135,70,.22),rgba(19,38,53,.12))
}
.fm-host-photo img {
    max-height: none;
    aspect-ratio: 4/5;
    object-position: center 28%;
    border-radius: 16px;
    border: 1px solid rgba(184,135,70,.2);
    box-shadow: 0 24px 62px rgba(31,36,40,.16)
}
.fm-host-card>div:last-child p:first-of-type {
    position: relative;
    margin: 0;
    border: 1px solid rgba(184,135,70,.16);
    border-radius: 14px;
    background: linear-gradient(180deg,#fff,#fffaf3);
    color: #5f574f;
    font-size: 17px;
    line-height: 1.86;
    box-shadow: 0 16px 44px rgba(31,36,40,.06)
}
.fm-host-card>div:last-child p:first-of-type::before {
    content: "“";
    position: absolute;
    top: -18px;
    left: 20px;
    color: rgba(184,135,70,.26);
    font-family: var(--fm-heading);
    font-size: 82px;
    line-height: 1
}
.fm-host-card>div:last-child p:last-of-type {
    margin: 0;
    align-self: start;
    padding: 14px 18px;
    border-radius: 999px;
    background: rgba(19,38,53,.06);
    color: #5f574f;
    width: max-content;
    max-width: 100%
}
.fm-host-card>div:last-child p:last-of-type strong {
    color: var(--fm-navy)
}
@media(max-width:980px) {
    .fm-host-card .fm-section-title,.fm-host-card .fm-subtitle {
        max-width: none
    }
}
@media(max-width:700px) {
    .fm-host-card {
        border-radius: 14px
    }
    .fm-host-card>div:last-child {
        gap: 20px
    }
    .fm-host-card>div:last-child p:first-of-type {
        padding: 26px 22px;
        font-size: 15.5px;
        line-height: 1.75
    }
    .fm-host-score {
        width: 100%
    }
    .fm-host-score strong {
        width: 64px;
        height: 64px;
        font-size: 25px
    }
    .fm-host-card>div:last-child p:last-of-type {
        width: 100%;
        border-radius: 12px;
        text-align: center
    }
}
.fm-host-card {
    max-width: 1120px!important;
    width: min(1120px,calc(100% - 40px))!important
}
.fm-host-card>div,.fm-host-card>div:last-child {
    min-width: 0!important
}
.fm-host-card>div:last-child p:first-of-type {
    width: 100%!important;
    max-width: 100%!important;
    box-sizing: border-box!important;
    padding: 26px 26px 26px 30px!important
}
.fm-host-card::after {
    right: -150px!important;
    bottom: -160px!important
}
.fm-footer {
    padding-top: 54px!important
}
.fm-footer-grid {
    padding-bottom: 28px!important
}
.fm-footer-bottom,.fm-footer-bottom-center {
    margin-top: 0!important;
    padding: 16px 0 22px!important
}
.fm-footer-bottom-center span {
    opacity: .9
}
.fm-cookie {
    display: none!important
}
@media(max-width:980px) {
    .fm-host-card {
        width: min(100% - 30px,760px)!important;
        padding: 36px 26px!important;
        gap: 30px!important
    }
}
@media(max-width:700px) {
    .fm-host-card {
        width: min(100% - 24px,560px)!important;
        padding: 28px 18px!important
    }
    .fm-host-card>div:last-child {
        grid-template-columns: 1fr!important
    }
    .fm-host-photo {
        width: min(280px,100%)!important;
        margin: 0 auto!important
    }
    .fm-footer {
        padding-top: 44px!important
    }
    .fm-footer-grid {
        padding-bottom: 20px!important
    }
    .fm-footer-bottom,.fm-footer-bottom-center {
        padding: 14px 0 16px!important
    }
}
html {
    background: #07131d!important;
    overflow-x: hidden!important
}
body.fm-body {
    overflow-x: hidden!important;
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom)
}
.fm-page {
    background: var(--fm-cream-2);
    overflow: hidden
}
.fm-navbar {
    top: env(safe-area-inset-top)!important
}
.fm-footer {
    background: #07131d!important;
    padding-bottom: env(safe-area-inset-bottom)!important
}
.fm-host-card::after {
    display: none!important
}
.fm-host-card>div:last-child p:first-of-type::before {
    display: none!important
}
.fm-host-card {
    overflow: hidden!important
}
.fm-host-card>div:last-child p:first-of-type {
    overflow-wrap: anywhere
}
.fm-host-photo::before {
    inset: 14px -12px -12px 14px!important
}
.fm-review-summary {
    max-width: 1120px!important
}
.fm-rating-bars {
    width: 100%!important;
    padding: 0 18px 22px!important
}
.fm-rating-bars span {
    min-width: 0!important;
    padding: 10px 9px!important;
    min-height: 78px!important
}
.fm-rating-bars b {
    font-size: 12px!important;
    line-height: 1.18!important;
    hyphens: auto
}
.fm-rating-bars em {
    font-size: 22px!important
}
.fm-accordion-item {
    background: #fff!important;
    border: 1px solid rgba(31,36,40,.12)!important;
    box-shadow: 0 10px 26px rgba(31,36,40,.035)!important
}
.fm-accordion-trigger {
    background: #fff!important;
    background-image: none!important
}
.fm-accordion-panel {
    background: #fff!important;
    background-image: none!important
}
.fm-accordion-panel p {
    background: transparent!important
}
@media(max-width:620px) {
    body.fm-body {
        background: #07131d!important
    }
    .fm-page {
        background: var(--fm-cream-2)
    }
    .fm-hero h1,.fm-lead {
        text-shadow: 0 3px 18px rgba(0,0,0,.45)
    }
    .fm-review-summary {
        grid-template-columns: 1fr!important;
        max-width: calc(100% - 28px)!important
    }
    .fm-rating-bars {
        padding: 0 14px 18px!important
    }
    .fm-rating-bars span {
        min-height: 70px!important
    }
}
@media(max-width:420px) {
    .fm-rating-bars {
        grid-template-columns: 1fr!important
    }
}
.fm-lang-switch-compact {
    display: none
}
@media(max-width:860px) {
    .fm-nav-actions {
        margin-left: auto;
        gap: 10px
    }
    .fm-lang-switch-compact {
        display: inline-flex;
        border-color: rgba(184,135,70,.45);
        background: rgba(255,255,255,.04)
    }
    .fm-lang-switch-compact a {
        padding: 6px 8px;
        font-size: 11px;
        line-height: 1;
        color: rgba(255,255,255,.84)
    }
    .fm-lang-switch-compact a.active {
        background: rgba(184,135,70,.22)
    }
}
@media(max-width:620px) {
    .fm-nav-toggle span {
        height: 2.5px
    }
    .fm-hero-card {
        border: 1px solid rgba(255,255,255,.13)!important
    }
}
@media(max-width:420px) {
    .fm-lang-switch-compact a {
        padding: 6px 7px;
        font-size: 10px
    }
}
@media(min-width:621px) and (max-width:1180px) {
    .fm-review-summary {
        display: grid!important;
        grid-template-columns: 190px minmax(0,1fr)!important;
        max-width: calc(100% - 52px)!important;
        overflow: hidden!important;
        min-height: 0!important;
        margin-left: auto!important;
        margin-right: auto!important
    }
    .fm-review-score-big {
        grid-column: 1!important;
        grid-row: 1!important;
        min-height: 190px!important
    }
    .fm-review-award {
        grid-column: 1!important;
        grid-row: 2!important;
        min-height: 120px!important;
        padding: 18px 12px!important;
        border-left: 0!important;
        border-right: 1px solid rgba(184,135,70,.16)!important;
        border-top: 1px solid rgba(184,135,70,.16)!important
    }
    .fm-review-award img {
        width: 112px!important
    }
    .fm-review-summary>p {
        grid-column: 2!important;
        grid-row: 1!important;
        align-self: end!important;
        padding: 28px 30px 12px!important;
        font-size: 16px!important;
        line-height: 1.7!important;
        max-width: 100%!important
    }
    .fm-rating-bars {
        grid-column: 2!important;
        grid-row: 2!important;
        display: grid!important;
        grid-template-columns: repeat(4,minmax(0,1fr))!important;
        gap: 10px!important;
        width: 100%!important;
        min-width: 0!important;
        padding: 0 30px 28px!important;
        align-self: start!important
    }
    .fm-rating-bars span {
        min-width: 0!important;
        min-height: 76px!important;
        padding: 12px 10px!important
    }
    .fm-rating-bars b {
        font-size: 12.5px!important;
        line-height: 1.2!important;
        overflow-wrap: break-word!important;
        hyphens: auto!important
    }
    .fm-rating-bars em {
        font-size: 24px!important
    }
}
@media(min-width:861px) and (max-width:1180px) {
    .fm-review-carousel {
        max-width: calc(100% - 52px)!important;
        padding: 0 58px!important;
        overflow: visible!important;
        margin-left: auto!important;
        margin-right: auto!important
    }
    .fm-review-track {
        gap: 20px!important;
        overflow-x: auto!important;
        scroll-snap-type: x mandatory!important
    }
    .fm-review-carousel .fm-review-card {
        flex: 0 0 calc((100% - 20px) / 2)!important;
        min-width: calc((100% - 20px) / 2)!important;
        max-width: calc((100% - 20px) / 2)!important;
        scroll-snap-align: start!important
    }
    .fm-review-prev {
        left: 4px!important
    }
    .fm-review-next {
        right: 4px!important
    }
}
@media(min-width:1181px) {
    .fm-review-carousel {
        padding: 0 72px!important
    }
    .fm-review-carousel .fm-review-card {
        flex: 0 0 calc((100% - 36px) / 3)!important;
        min-width: calc((100% - 36px) / 3)!important;
        max-width: calc((100% - 36px) / 3)!important
    }
}
@media(min-width:761px) and (max-width:1280px) {
    .fm-review-track {
        padding-inline: 0!important
    }
}
@media(min-width:621px) and (max-width:760px) {
    .fm-review-carousel {
        box-sizing: border-box!important
    }
}
@media(min-width:1281px) {
    .fm-review-carousel {
        padding: 0 72px!important
    }
    .fm-review-carousel .fm-review-card {
        flex: 0 0 calc((100% - 36px) / 3)!important;
        min-width: calc((100% - 36px) / 3)!important;
        max-width: calc((100% - 36px) / 3)!important
    }
}
html,body {
    touch-action: manipulation
}
a,button,.fm-btn,.fm-nav-toggle,.fm-lang-switch a,.fm-gallery-item,.fm-review-nav,.fm-to-top {
    touch-action: manipulation
}
@media(min-width:761px) and (max-width:1280px) {
    .fm-review-carousel {
        width: min(100% - 56px,980px)!important;
        max-width: min(100% - 56px,980px)!important;
        padding: 0 64px!important;
        margin-left: auto!important;
        margin-right: auto!important;
        box-sizing: border-box!important;
        overflow: hidden!important
    }
    .fm-review-track {
        width: 100%!important;
        display: flex!important;
        gap: 18px!important;
        overflow-x: hidden!important;
        scroll-snap-type: x mandatory!important;
        scroll-padding-left: 0!important;
        padding: 4px 0 18px!important;
        box-sizing: border-box!important
    }
    .fm-review-carousel .fm-review-card {
        box-sizing: border-box!important;
        flex: 0 0 calc((100% - 18px) / 2)!important;
        min-width: calc((100% - 18px) / 2)!important;
        max-width: calc((100% - 18px) / 2)!important;
        scroll-snap-align: start!important
    }
    .fm-review-prev {
        left: 8px!important
    }
    .fm-review-next {
        right: 8px!important
    }
}
@media(min-width:621px) and (max-width:760px) {
    .fm-review-carousel {
        width: min(100% - 40px,680px)!important;
        max-width: min(100% - 40px,680px)!important;
        padding: 0 50px!important;
        overflow: hidden!important
    }
    .fm-review-track {
        overflow-x: hidden!important;
        gap: 0!important;
        padding: 4px 0 18px!important
    }
    .fm-review-carousel .fm-review-card {
        flex: 0 0 100%!important;
        min-width: 100%!important;
        max-width: 100%!important
    }
}
@media(min-width:1281px) {
    .fm-review-carousel {
        overflow: visible!important
    }
}
.fm-nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 15px;
    border: 1px solid rgba(184,135,70,.75);
    font-weight: 900;
    letter-spacing: .03em;
    transition: .25s
}
.fm-nav-cta:hover {
    transform: translateY(-1px)
}
.fm-mobile-cta {
    padding: 12px 24px!important;
    border: 1px solid rgba(184,135,70,.7);
    background: rgba(184,135,70,.15);
    font-family: var(--fm-body)!important;
    font-size: 16px!important;
    font-weight: 900!important
}
.fm-contact {
    border-top: 1px solid rgba(184,135,70,.14)
}
.fm-contact-layout {
    display: grid
}
.fm-contact-copy h2 {
    margin: 0 0 18px;
    color: var(--fm-navy);
    font-family: var(--fm-heading);
    letter-spacing: -.035em
}
.fm-contact-copy p {
    margin: 0;
    color: var(--fm-muted);
    max-width: 560px
}
.fm-contact-points {
    display: grid;
    margin-top: 26px
}
.fm-contact-points span {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    border: 1px solid rgba(184,135,70,.18);
    color: var(--fm-navy);
    font-size: 14px;
    font-weight: 800
}
.fm-contact-form {
    display: grid
}
.fm-contact-form label {
    display: grid;
    gap: 8px
}
.fm-contact-form input,.fm-contact-form textarea {
    width: 100%;
    border: 1px solid rgba(31,36,40,.14);
    background: #fffdf8;
    color: var(--fm-ink);
    font: inherit;
    font-size: 15px;
    padding: 14px 15px;
    outline: none;
    transition: border-color .2s,box-shadow .2s
}
.fm-contact-form textarea {
    resize: vertical
}
.fm-contact-form input:focus,.fm-contact-form textarea:focus {
    border-color: rgba(184,135,70,.75);
    box-shadow: 0 0 0 4px rgba(184,135,70,.12)
}
.fm-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}
.fm-hp-field {
    position: absolute!important;
    left: -9999px!important;
    opacity: 0!important
}
.fm-form-status {
    min-height: 22px;
    margin: 0;
    color: var(--fm-muted);
    font-size: 14px;
    font-weight: 800
}
.fm-contact-form .fm-btn {
    width: max-content;
    border: 0;
    cursor: pointer
}
.fm-contact-form .fm-btn[disabled] {
    opacity: .65;
    cursor: wait;
    transform: none
}
@media(max-width:980px) {
    .fm-contact-layout {
        gap: 34px
    }
    .fm-contact-form {
        padding: 28px
    }
    .fm-nav-menu {
        gap: 14px!important
    }
    .fm-nav-menu ul {
        gap: clamp(10px,1vw,16px)!important
    }
    .fm-nav-cta {
        padding: 8px 11px
    }
}
@media(max-width:620px) {
    .fm-form-grid {
        grid-template-columns: 1fr
    }
    .fm-contact-form {
        padding: 22px 18px
    }
    .fm-contact-copy h2 {
        font-size: clamp(36px,11vw,48px)
    }
    .fm-contact-points span {
        width: 100%
    }
}
.fm-booking-inquiry .fm-contact-copy h2 {
    max-width: 620px
}
.fm-contact-form select {
    width: 100%;
    border: 1px solid rgba(31,36,40,.14);
    background: #fffdf8;
    color: var(--fm-ink);
    font: inherit;
    font-size: 15px;
    padding: 14px 42px 14px 15px;
    outline: none;
    appearance: none;
    background-image: linear-gradient(45deg,transparent 50%,var(--fm-gold) 50%),linear-gradient(135deg,var(--fm-gold) 50%,transparent 50%);
    background-position: calc(100% - 18px) 21px,calc(100% - 12px) 21px;
    background-size: 6px 6px,6px 6px;
    background-repeat: no-repeat
}
.fm-contact-form input[type=date] {
    min-height: 49px;
    color: var(--fm-ink)
}
.fm-contact-form select:focus {
    border-color: rgba(184,135,70,.75);
    box-shadow: 0 0 0 4px rgba(184,135,70,.12)
}
.fm-booking-form textarea {
    min-height: 118px
}
.fm-booking-form .fm-form-grid {
    align-items: end
}
.fm-booking-form label {
    min-width: 0
}
.fm-booking-form select {
    max-width: 100%;
    text-overflow: ellipsis
}
.fm-form-status.is-success {
    color: #1f7a42
}
.fm-form-status.is-error {
    color: #a33a2b
}
.fm-mobile-menu {
    visibility: hidden
}
.fm-mobile-menu.open {
    visibility: visible
}
body:not(.menu-open) .fm-mobile-menu {
    opacity: 0!important;
    pointer-events: none!important;
    visibility: hidden!important
}
.fm-lightbox:not(.open) {
    opacity: 0!important;
    pointer-events: none!important;
    visibility: hidden!important
}
.fm-contact-form input,.fm-contact-form textarea,.fm-contact-form select {
    position: relative;
    z-index: 1
}
.fm-section-links {
    position: relative;
    z-index: 3;
    border-top: 1px solid rgba(184,135,70,.14);
    border-bottom: 1px solid rgba(184,135,70,.14)
}
.fm-section-links .fm-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding: 16px 0
}
.fm-section-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 9px 14px;
    border: 1px solid rgba(184,135,70,.2);
    font-size: 13px;
    font-weight: 850
}
.fm-section-links a:hover {
    border-color: rgba(184,135,70,.55);
    color: var(--fm-gold-dark)
}
.fm-copy a,.fm-seo-grid a,.fm-ideal-grid a {
    color: var(--fm-gold-dark);
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: 3px
}
.fm-privacy-check {
    display: grid!important;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 11px!important;
    padding: 14px 15px;
    border: 1px solid rgba(184,135,70,.18);
    background: #fffaf3;
    color: var(--fm-muted)!important;
    font-size: 13px!important;
    font-weight: 700!important;
    line-height: 1.55
}
.fm-privacy-check input {
    width: 18px!important;
    height: 18px!important;
    margin: 2px 0 0!important;
    accent-color: var(--fm-gold)
}
.fm-privacy-check a {
    color: var(--fm-gold-dark);
    text-decoration: underline;
    text-underline-offset: 3px
}
.fm-lang-switch-mobile {
    display: none!important
}
@media(max-width:620px) {
    .fm-section-links .fm-container {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding: 13px 0;
        scrollbar-width: none
    }
    .fm-section-links .fm-container::-webkit-scrollbar {
        display: none
    }
    .fm-section-links a {
        flex: 0 0 auto;
        font-size: 12.5px;
        padding: 8px 12px
    }
}
.fm-footer-grid a {
    display: inline-block;
    margin: 2px 0
}
.fm-footer-v31 {
    padding: 0!important
}
.fm-footer-v31::before {
    inset: 0
}
.fm-footer-shell {
    position: relative;
    margin: 0 auto
}
.fm-footer-top {
    align-items: start
}
.fm-footer-v31 h3 {
    font-size: 16px
}
.fm-footer-v31 p {
    margin: 0;
    line-height: 1.85;
    font-size: 15px
}
.fm-footer-logo {
    margin: 0 0 22px!important
}
.fm-footer-logo span {
    color: var(--fm-gold);
    font-family: var(--fm-heading);
    font-size: 30px;
    line-height: 1;
    letter-spacing: .025em
}
.fm-footer-logo small {
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .32em
}
.fm-footer-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px
}
.fm-footer-badges span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid rgba(184,135,70,.25);
    background: rgba(255,255,255,.045);
    color: rgba(255,255,255,.9);
    font-size: 12px;
    font-weight: 900
}
.fm-footer-link-grid {
    display: grid
}
.fm-footer-v31 a {
    color: rgba(255,255,255,.72);
    transition: color .22s ease,transform .22s ease,border-color .22s ease,background .22s ease
}
.fm-footer-link-grid a,.fm-footer-legal a,.fm-footer-contact p a {
    position: relative;
    width: max-content;
    max-width: 100%;
    margin: 0!important;
    font-size: 14px;
    line-height: 1.55
}
.fm-footer-link-grid a::after,.fm-footer-legal a::after,.fm-footer-contact p a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 0;
    height: 1px;
    background: var(--fm-gold);
    transition: width .22s ease
}
.fm-footer-link-grid a:hover,.fm-footer-legal a:hover,.fm-footer-contact p a:hover {
    color: var(--fm-gold);
    transform: translateX(3px)
}
.fm-footer-link-grid a:hover::after,.fm-footer-legal a:hover::after,.fm-footer-contact p a:hover::after {
    width: 100%
}
.fm-footer-direct h3 {
    color: var(--fm-gold)
}
.fm-footer-cta {
    min-height: 44px;
    font-size: 13px
}
.fm-footer-cta:hover {
    border-color: var(--fm-gold);
    transform: translateY(-2px)
}
.fm-footer-legal {
    display: grid;
    gap: 9px
}
.fm-footer-bottom-center {
    margin-top: 54px!important;
    padding: 22px 0 0!important;
    border-top: 1px solid rgba(255,255,255,.105);
    color: rgba(255,255,255,.52)
}
.fm-footer-bottom-center span {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 12px;
    letter-spacing: .02em
}
@media(max-width:1120px) {
    .fm-footer-top {
        grid-template-columns: 1.2fr 1fr;
        gap: 42px 52px
    }
}
@media(max-width:720px) {
    .fm-footer-shell {
        width: min(100% - 32px,1160px);
        padding: 54px 0 22px
    }
    .fm-footer-top {
        grid-template-columns: 1fr;
        gap: 34px
    }
    .fm-footer-link-grid {
        grid-template-columns: 1fr 1fr
    }
    .fm-footer-direct {
        padding: 22px 18px
    }
}
@media(max-width:440px) {
    .fm-footer-link-grid {
        grid-template-columns: 1fr
    }
    .fm-footer-logo span {
        font-size: 28px
    }
}
.fm-legal {
    min-height: calc(100vh - 360px);
    padding-top: 150px!important;
    padding-bottom: 90px!important;
    color: var(--fm-ink)!important
}
.fm-legal .fm-eyebrow,.fm-legal .fm-section-title {
    text-align: center
}
.fm-legal .fm-section-title {
    color: var(--fm-navy)!important;
    opacity: 1!important
}
.fm-legal-card {
    position: relative;
    max-width: 920px;
    margin: 0 auto;
    padding: 42px;
    background: #fff!important;
    border: 1px solid rgba(184,135,70,.18);
    box-shadow: 0 24px 70px rgba(31,36,40,.11);
    color: var(--fm-ink)!important
}
.fm-legal-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg,var(--fm-gold),rgba(184,135,70,.18))
}
.fm-legal-card h2 {
    margin: 32px 0 10px;
    color: var(--fm-navy)!important;
    font-family: var(--fm-heading);
    font-size: 32px;
    line-height: 1.05
}
.fm-legal-card p {
    margin: 0 0 16px;
    color: var(--fm-muted)!important;
    font-size: 16px;
    line-height: 1.85
}
.fm-legal-card a:not(.fm-btn) {
    color: var(--fm-gold-dark);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px
}
.fm-legal-card .fm-btn {
    margin-top: 14px
}
@media(max-width:620px) {
    .fm-legal {
        padding-top: 118px!important;
        padding-bottom: 62px!important
    }
    .fm-legal-card {
        padding: 28px 20px
    }
    .fm-legal-card h2 {
        font-size: 27px
    }
}
.fm-date-wrap {
    position: relative;
    display: block;
    width: 100%
}
.fm-booking-form input[type="date"] {
    min-height: 56px;
    padding: 14px 50px 14px 14px!important;
    box-sizing: border-box!important;
    border: 1px solid rgba(31,36,40,.14);
    background: #fffdf8;
    color: var(--fm-ink);
    font: inherit;
    font-size: 16px;
    line-height: 1.2;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
    overflow: hidden
}
.fm-date-wrap::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    pointer-events: none;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b88746' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>") center/18px 18px no-repeat
}
.fm-booking-form input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer
}
.fm-field-hint {
    display: block;
    margin-top: 6px;
    color: var(--fm-muted);
    font-size: 12px;
    line-height: 1.4;
    font-weight: 650
}
@media(max-width:620px) {
    .fm-booking-form,.fm-booking-form * {
        max-width: 100%!important
    }
    .fm-booking-form .fm-form-grid {
        grid-template-columns: 1fr!important;
        width: 100%!important
    }
    .fm-booking-form label {
        min-width: 0!important;
        width: 100%!important
    }
    .fm-booking-form input[type="date"] {
        min-height: 54px!important;
        font-size: 16px!important
    }
}
.fm-booking-form {
    overflow: hidden
}
.fm-booking-form .fm-form-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important
}
.fm-booking-form label,.fm-booking-form .fm-date-wrap,.fm-booking-form input,.fm-booking-form select,.fm-booking-form textarea {
    min-width: 0!important;
    max-width: 100%!important
}
.fm-booking-form input[type="date"] {
    display: block!important;
    width: 100%!important;
    min-width: 0!important;
    max-width: 100%!important;
    text-align: left!important;
    padding-right: 52px!important
}
.fm-booking-form input[type="date"]::-webkit-date-and-time-value {
    text-align: left!important;
    min-height: 1.2em
}
.fm-booking-form input[type="date"]::-webkit-datetime-edit {
    display: block;
    width: 100%;
    overflow: hidden;
    text-align: left
}
.fm-booking-form input[type="date"]::-webkit-datetime-edit-fields-wrapper {
    justify-content: flex-start
}
@media(min-width:621px) and (max-width:1180px) {
    .fm-booking-form {
        padding: 34px!important
    }
    .fm-booking-form .fm-form-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))!important;
        gap: 18px!important
    }
    .fm-booking-form input[type="date"] {
        font-size: 16px!important;
        min-height: 58px!important
    }
}
@media(min-width:621px) and (max-width:900px) {
    .fm-contact-layout {
        grid-template-columns: 1fr!important
    }
    .fm-booking-form .fm-form-grid {
        grid-template-columns: 1fr!important
    }
}
@media(max-width:620px) {
    .fm-kicker {
        margin-bottom: 10px!important
    }
}
.fm-footer-bottom-center {
    display: flex!important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px
}
.fm-footer-credit {
    display: block;
    width: 100%;
    text-align: center;
    color: rgba(255,255,255,.52);
    font-size: 12px;
    letter-spacing: .02em
}
.fm-footer-credit a {
    font-weight: 850;
    text-decoration: none;
    position: relative
}
.fm-footer-credit a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 0;
    height: 1px;
    background: var(--fm-gold);
    transition: width .22s ease
}
.fm-footer-credit a:hover {
    color: #fff!important
}
.fm-footer-credit a:hover::after {
    width: 100%
}
.fm-ideal-grid article,.fm-rules-grid .fm-rule-card {
    text-align: left
}
.fm-ideal-grid article::before,.fm-ideal-grid article::after {
    display: none!important
}
.fm-ideal-grid article,.fm-rule-card {
    position: relative;
    padding-top: 72px!important
}
.fm-ideal-grid article h3,.fm-rule-card h3 {
    text-align: center;
    color: var(--fm-navy);
    font-size: 20px!important;
    line-height: 1.18
}
.fm-ideal-grid article::before,.fm-rule-card::before {
    content: "";
    display: flex!important;
    position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    width: 34px;
    height: 34px;
    border: 1px solid rgba(184,135,70,.55);
    border-radius: 999px;
    background: #fffaf3;
    box-shadow: 0 8px 20px rgba(31,36,40,.045)
}
.fm-ideal-grid article::after,.fm-rule-card::after {
    content: "";
    display: block!important;
    position: absolute;
    top: 33px;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 16px;
    background: var(--fm-gold);
    opacity: .95;
    -webkit-mask: center/16px 16px no-repeat;
    mask: center/16px 16px no-repeat
}
.fm-ideal-grid article:nth-child(1)::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 21s-7-4.4-9.5-9A5.7 5.7 0 0 1 12 5.7 5.7 5.7 0 0 1 21.5 12C19 16.6 12 21 12 21z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 21s-7-4.4-9.5-9A5.7 5.7 0 0 1 12 5.7 5.7 5.7 0 0 1 21.5 12C19 16.6 12 21 12 21z'/></svg>")
}
.fm-ideal-grid article:nth-child(2)::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M16 11a4 4 0 1 0-8 0v2H6v9h12v-9h-2v-2zm-6 0a2 2 0 1 1 4 0v2h-4v-2zM4 9h3v2H4V9zm13 0h3v2h-3V9z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M16 11a4 4 0 1 0-8 0v2H6v9h12v-9h-2v-2zm-6 0a2 2 0 1 1 4 0v2h-4v-2zM4 9h3v2H4V9zm13 0h3v2h-3V9z'/></svg>")
}
.fm-ideal-grid article:nth-child(3)::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 3h10v2H7V3zm0 16h10v2H7v-2zM5 7h14v10H5V7zm2 2v6h10V9H7z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 3h10v2H7V3zm0 16h10v2H7v-2zM5 7h14v10H5V7zm2 2v6h10V9H7z'/></svg>")
}
.fm-ideal-grid article:nth-child(4)::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 2 2 7l10 5 10-5-10-5zm0 7.8L6.5 7 12 4.2 17.5 7 12 9.8zM4 10v7l8 4 8-4v-7l-2 1v4.8l-6 3-6-3V11l-2-1z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 2 2 7l10 5 10-5-10-5zm0 7.8L6.5 7 12 4.2 17.5 7 12 9.8zM4 10v7l8 4 8-4v-7l-2 1v4.8l-6 3-6-3V11l-2-1z'/></svg>")
}
.fm-rule-card:nth-child(1)::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 2h2v3h6V2h2v3h3v17H4V5h3V2zm11 8H6v10h12V10z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 2h2v3h6V2h2v3h3v17H4V5h3V2zm11 8H6v10h12V10z'/></svg>")
}
.fm-rule-card:nth-child(2)::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 3a9 9 0 1 0 9 9h-2a7 7 0 1 1-7-7V3zm1 4h-2v6l5 3 1-1.7-4-2.3V7z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 3a9 9 0 1 0 9 9h-2a7 7 0 1 1-7-7V3zm1 4h-2v6l5 3 1-1.7-4-2.3V7z'/></svg>")
}
.fm-rule-card:nth-child(4)::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 4h12v4h-2V6H8v12h8v-2h2v4H6V4zm7 5 5 3-5 3V9z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 4h12v4h-2V6H8v12h8v-2h2v4H6V4zm7 5 5 3-5 3V9z'/></svg>")
}
.fm-rule-card:nth-child(6)::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 2h10v20H7V2zm2 2v16h6V4H9zm2 2h2v2h-2V6z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 2h10v20H7V2zm2 2v16h6V4H9zm2 2h2v2h-2V6z'/></svg>")
}
.fm-booking .fm-eyebrow,.fm-booking h2 {
    text-align: left
}
.fm-accordion-trigger {
    font-size: 17px!important;
    line-height: 1.25!important;
    letter-spacing: 0!important
}
.fm-accordion-trigger span,.fm-accordion-trigger {
    font-weight: 850!important
}
.fm-accordion-panel p {
    font-size: 15.5px!important;
    line-height: 1.75!important
}
.fm-native-date-proxy {
    position: absolute!important;
    inset: auto!important;
    width: 1px!important;
    height: 1px!important;
    opacity: 0!important;
    pointer-events: none!important
}
.fm-booking-form input[data-date-field] {
    cursor: pointer;
    background: #fffdf8
}
.fm-booking-form input[data-date-field]::placeholder {
    color: #9b9690!important;
    opacity: 1!important
}
.fm-date-wrap::after {
    opacity: .9!important
}
@media(max-width:620px) {
    .fm-accordion-trigger {
        font-size: 16px!important;
        min-height: 64px
    }
    .fm-ideal-grid article h3,.fm-rule-card h3 {
        font-size: 19px!important
    }
}
@media(max-width:620px) {
    .fm-hero-copy {
        z-index: 2
    }
    .fm-hero-copy::before {
        position: absolute;
        left: -18px;
        right: -18px;
        top: -52px;
        bottom: -18px;
        z-index: -1;
        background: linear-gradient( 180deg,rgba(88,92,96,.36) 0%,rgba(54,59,64,.54) 34%,rgba(22,29,35,.86) 68%,rgba(7,13,18,.95) 100% );
        backdrop-filter: blur(8px)
    }
    .fm-kicker {
        font-size: 22px!important;
        position: relative
    }
    .fm-hero h1 {
        position: relative;
        text-shadow: none!important
    }
    .fm-lead {
        position: relative;
        margin-top: 14px!important;
        text-shadow: none!important
    }
}
@media(max-width:420px) {
    .fm-hero-media {
        background-position: 8% top!important
    }
    .fm-hero-copy::before {
        top: -58px
    }
}
.fm-rule-card:nth-child(3)::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 17h10v3H3v-3zm12 0h2v3h-2v-3zm4 0h2v3h-2v-3zM4 4l16 16-1.4 1.4L2.6 5.4 4 4zm11 3c2.3 1.2 3.5 3.1 3.5 5.6h-2c0-1.8-.8-3.1-2.4-4l.9-1.6zm-3-3c3.9 1.6 6 4.5 6.3 8.6h-2c-.3-3.2-1.9-5.4-5.1-6.8L12 4z'/></svg>")!important;
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 17h10v3H3v-3zm12 0h2v3h-2v-3zm4 0h2v3h-2v-3zM4 4l16 16-1.4 1.4L2.6 5.4 4 4zm11 3c2.3 1.2 3.5 3.1 3.5 5.6h-2c0-1.8-.8-3.1-2.4-4l.9-1.6zm-3-3c3.9 1.6 6 4.5 6.3 8.6h-2c-.3-3.2-1.9-5.4-5.1-6.8L12 4z'/></svg>")!important
}
.fm-rule-card:nth-child(5)::after {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M8 9.8A2.3 2.3 0 1 0 8 5.2a2.3 2.3 0 0 0 0 4.6zm4-1.2A2.3 2.3 0 1 0 12 4a2.3 2.3 0 0 0 0 4.6zm4 1.2a2.3 2.3 0 1 0 0-4.6 2.3 2.3 0 0 0 0 4.6zm2.4 4.2a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM12 10.6c-3.7 0-6.8 2.7-6.8 5.8 0 1.8 1.1 3 2.7 3 1.2 0 1.9-.5 2.6-1 .6-.4 1-.7 1.5-.7s.9.3 1.5.7c.7.5 1.4 1 2.6 1 1.6 0 2.7-1.2 2.7-3 0-3.1-3.1-5.8-6.8-5.8z'/></svg>")!important;
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M8 9.8A2.3 2.3 0 1 0 8 5.2a2.3 2.3 0 0 0 0 4.6zm4-1.2A2.3 2.3 0 1 0 12 4a2.3 2.3 0 0 0 0 4.6zm4 1.2a2.3 2.3 0 1 0 0-4.6 2.3 2.3 0 0 0 0 4.6zm2.4 4.2a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM12 10.6c-3.7 0-6.8 2.7-6.8 5.8 0 1.8 1.1 3 2.7 3 1.2 0 1.9-.5 2.6-1 .6-.4 1-.7 1.5-.7s.9.3 1.5.7c.7.5 1.4 1 2.6 1 1.6 0 2.7-1.2 2.7-3 0-3.1-3.1-5.8-6.8-5.8z'/></svg>")!important
}
@media(max-width:620px) {
    .fm-hero {
        background: #111!important
    }
    .fm-hero-inner {
        position: relative!important;
        z-index: 3!important
    }
    .fm-hero-copy {
        position: relative!important;
        padding-bottom: 0!important;
        color: #fff!important
    }
    .fm-hero-copy::before {
        content: none!important;
        display: none!important
    }
    .fm-kicker {
        margin: 0 0 14px!important
    }
    .fm-lead {
        font-size: 14.5px!important;
        line-height: 1.58!important;
        color: rgba(255,255,255,.88)!important
    }
    .fm-hero-card {
        margin-top: 46px!important;
        padding-top: 22px!important;
        border-top: 1px solid rgba(255,255,255,.16)!important;
        background: transparent!important;
        gap: 18px!important;
        color: #fff!important
    }
    .fm-hero-card div {
        padding-left: 18px!important;
        border-left: 1px solid rgba(184,135,70,.45)!important;
        background: transparent!important;
        border-radius: 0!important;
        box-shadow: none!important
    }
    .fm-hero-card span {
        color: var(--fm-gold)!important;
        font-size: 13px!important;
        font-weight: 800!important
    }
    .fm-hero-card strong {
        margin-top: 6px!important;
        font-size: 14px!important;
        line-height: 1.35!important;
        color: #fff!important
    }
}
.fm-nav-menu a.is-current,.fm-nav-menu a[aria-current="page"] {
    color: #fff
}
.fm-nav-menu li a.is-current:after,.fm-nav-menu li a[aria-current="page"]:after {
    width: 100%
}
.fm-mobile-links a.is-current {
    color: var(--fm-gold)
}
.fm-subhero {
    position: relative;
    background: #101820;
    overflow: hidden
}
.fm-subhero:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--fm-subhero-image);
    background-size: cover
}
.fm-subhero-overlay {
    position: absolute;
    inset: 0
}
.fm-subhero-inner {
    position: relative;
    z-index: 2;
    color: #fff
}
.fm-breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 25px;
    font-size: 12px
}
.fm-breadcrumb a:hover {
    color: #fff
}
.fm-page-card {
    display: grid;
    overflow: hidden;
    transition: transform .25s,box-shadow .25s
}
.fm-page-card>img {
    width: 100%
}
.fm-page-card span {
    display: block;
    color: var(--fm-gold-dark);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase
}
.fm-page-card h3 {
    color: var(--fm-navy);
    font-family: var(--fm-heading)
}
.fm-page-card strong {
    color: var(--fm-navy)
}
.fm-gallery-preview .fm-gallery-item:nth-child(n+9) {
    display: none
}
.fm-home-final-cta {
    margin-top: 0
}
.fm-inline-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 28px
}
.fm-info-grid-3 {
    grid-template-columns: repeat(3,1fr)!important
}
.fm-location-details {
    background: var(--fm-cream)
}
.fm-location-photo-story {
    background: #fff
}
.fm-attraction-guide {
    background: var(--fm-cream)
}
.fm-award-grid {
    display: grid;
    grid-template-columns: minmax(240px,340px) 1fr;
    gap: 70px;
    align-items: center
}
.fm-award-grid figure {
    margin: 0;
    background: #fff;
    padding: 18px;
    border: 1px solid rgba(184,135,70,.18)
}
.fm-award-grid img {
    width: 100%;
    height: auto
}
.fm-score-grid-4 {
    grid-template-columns: repeat(4,1fr)!important
}
.fm-guest-limit-note {
    margin: -4px 0 0!important;
    color: var(--fm-muted)!important;
    font-size: 12.5px!important;
    font-weight: 600!important
}
.fm-legal-new {
    padding-top: 150px
}
.fm-page-booking .fm-rules {
    background: #fff
}
.fm-page-booking .fm-faq {
    background: var(--fm-cream)
}
@media(max-width:1100px) {
    .fm-page-card {
        grid-template-columns: 170px 1fr
    }
    .fm-page-card h3 {
        font-size: 27px
    }
    .fm-info-grid-3 {
        grid-template-columns: 1fr!important
    }
    .fm-award-grid {
        gap: 42px
    }
}
@media(max-width:860px) {
    .fm-award-grid {
        grid-template-columns: 1fr
    }
    .fm-award-grid figure {
        width: min(320px,75vw);
        margin: 0 auto
    }
    .fm-score-grid-4 {
        grid-template-columns: repeat(2,1fr)!important
    }
}
@media(max-width:620px) {
    .fm-page-card {
        grid-template-columns: 1fr
    }
    .fm-page-card>img {
        height: 230px
    }
    .fm-page-card h3 {
        font-size: 28px
    }
    .fm-gallery-preview .fm-gallery-item:nth-child(n+7) {
        display: none
    }
    .fm-score-grid-4 {
        grid-template-columns: 1fr 1fr!important
    }
    .fm-inline-actions .fm-btn {
        width: 100%
    }
    .fm-legal-new {
        padding-top: 118px
    }
}
.fm-hero-features {
    color: #fff
}
.fm-hero-features>div {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr);
    grid-template-rows: auto auto;
    column-gap: 12px;
    align-items: center;
    min-width: 0;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(7,19,29,.28);
    backdrop-filter: blur(5px)
}
.fm-hero-feature-icon {
    grid-row: 1/span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px
}
.fm-hero-feature-icon svg {
    display: block;
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round
}
.fm-hero-features strong {
    display: block;
    min-width: 0;
    line-height: 1.25
}
.fm-hero-features small {
    display: block;
    min-width: 0;
    margin-top: 3px;
    line-height: 1.35
}
.fm-rule-icon {
    display: none!important
}
@media(max-width:620px) {
    .fm-hero-features {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
    .fm-hero-features>div {
        grid-template-columns: 30px minmax(0,1fr);
        column-gap: 8px;
        background: rgba(7,19,29,.5)
    }
    .fm-hero-feature-icon {
        width: 30px;
        height: 30px
    }
    .fm-hero-feature-icon svg {
        width: 23px;
        height: 23px
    }
}
@media(max-width:420px) {
    .fm-hero {
        min-height: 940px!important
    }
    .fm-hero-copy {
        padding-top: 390px!important
    }
}
/* v1226: restore the exact original homepage hero image and crop */
.fm-hero-media {
    background-image: linear-gradient(90deg,rgba(7,13,18,.84) 0%,rgba(7,13,18,.56) 45%,rgba(7,13,18,.20) 100%),url('/images/flat-margaret-bedroom-blue-sofa-closeup.webp?v=1226')!important;
}
@media(max-width:620px) {
    .fm-hero-media {
        background-size: cover!important;
    }
}
/* Budapest guide and editorial article layout */
.fm-guide-promo-image {
    margin: 0
}
.fm-guide-promo-image img {
    width: 100%;
    height: 100%
}
.fm-guide-hero:before,.fm-guide-article-hero:before {
    background-position: center
}
.fm-guide-intro {
    background: #fff
}
.fm-guide-intro-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 70px;
    align-items: center
}
.fm-guide-quicklinks {
    display: grid;
    gap: 12px
}
.fm-guide-quicklinks a {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    align-items: center;
    padding: 18px 20px;
    background: var(--fm-cream);
    border: 1px solid rgba(184,135,70,.16);
    transition: .25s
}
.fm-guide-quicklinks a:hover {
    transform: translateX(4px);
    background: #fff
}
.fm-guide-quicklinks span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: var(--fm-navy);
    color: #fff;
    font-weight: 900;
    font-size: 12px
}
.fm-guide-quicklinks strong {
    color: var(--fm-navy);
    font-size: 15px
}
.fm-guide-listing {
    background: var(--fm-cream)
}
.fm-guide-card-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr))
}
.fm-guide-card {
    display: grid;
    grid-template-columns: 220px 1fr;
    min-height: 280px;
    background: #fff;
    border: 1px solid var(--fm-border);
    box-shadow: 0 18px 50px rgba(31,36,40,.07);
    overflow: hidden;
    transition: .25s
}
.fm-guide-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 65px rgba(31,36,40,.12)
}
.fm-guide-card-media {
    min-height: 100%
}
.fm-guide-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover
}
.fm-guide-card-copy>span,.fm-related-guide span,.fm-guide-link-grid span {
    display: block;
    color: var(--fm-gold-dark);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase
}
.fm-guide-card h2 {
    margin: 10px 0 12px;
    color: var(--fm-navy);
    font-family: var(--fm-heading);
    font-size: 31px;
    line-height: 1
}
.fm-guide-card p {
    margin: 0 0 18px;
    color: var(--fm-muted);
    font-size: 14px;
    line-height: 1.7
}
.fm-guide-card strong {
    color: var(--fm-navy);
    font-size: 13px
}
.fm-guide-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 24px
}
.fm-guide-meta span {
    padding: 9px 12px;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(7,19,29,.35);
    color: #fff;
    font-size: 12px;
    font-weight: 800
}
.fm-guide-article-section {
    background: #fff
}
.fm-guide-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) 330px;
    gap: 70px;
    align-items: start
}
.fm-guide-article>p {
    margin: 0 0 22px
}
.fm-guide-article h2 {
    margin: 52px 0 18px;
    color: var(--fm-navy);
    font-family: var(--fm-heading);
    font-weight: 600
}
.fm-guide-article h3 {
    margin: 30px 0 12px;
    color: var(--fm-navy);
    font-size: 20px;
    line-height: 1.35
}
.fm-guide-article ul,.fm-guide-article ol {
    margin: 0 0 26px;
    padding-left: 24px;
    color: #4f514f;
    font-size: 16px;
    line-height: 1.85
}
.fm-guide-article li+li {
    margin-top: 8px
}
.fm-guide-highlight {
    margin: 34px 0;
    padding: 24px 26px;
    border-left: 4px solid var(--fm-gold);
    color: var(--fm-navy);
    font-size: 15px;
    line-height: 1.75
}
.fm-guide-source-note {
    margin: 0 0 30px;
    padding: 18px 20px;
    font-size: 14px;
    line-height: 1.7
}
.fm-guide-end-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 48px;
    padding-top: 26px;
    border-top: 1px solid var(--fm-border)
}
.fm-guide-end-links a {
    padding: 10px 13px;
    background: var(--fm-cream);
    color: var(--fm-navy);
    font-size: 13px;
    font-weight: 800
}
.fm-guide-sidebar {
    position: sticky;
    top: 110px
}
.fm-guide-sidebar-card {
    padding: 30px;
    border: 1px solid rgba(184,135,70,.2);
    box-shadow: 0 22px 65px rgba(31,36,40,.09)
}
.fm-guide-sidebar-card h2 {
    margin: 0 0 14px;
    color: var(--fm-navy);
    font-family: var(--fm-heading);
    font-size: 34px;
    line-height: 1
}
.fm-guide-sidebar-card p {
    margin: 0;
    color: var(--fm-muted);
    font-size: 14px;
    line-height: 1.75
}
.fm-guide-sidebar-card ul {
    list-style: none;
    margin: 22px 0;
    padding: 0;
    display: grid;
    gap: 9px
}
.fm-guide-sidebar-card li {
    position: relative;
    padding-left: 22px;
    color: var(--fm-navy);
    font-size: 13px;
    font-weight: 700
}
.fm-guide-sidebar-card li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--fm-gold-dark)
}
.fm-guide-sidebar-card .fm-btn {
    width: 100%;
    margin-top: 6px
}
.fm-sidebar-text-link {
    display: block;
    margin-top: 16px;
    text-align: center;
    color: var(--fm-navy);
    font-size: 13px;
    font-weight: 900
}
.fm-related-guides {
    background: var(--fm-cream)
}
.fm-related-guide-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px
}
.fm-related-guide {
    background: #fff;
    border: 1px solid var(--fm-border);
    box-shadow: 0 14px 38px rgba(31,36,40,.06);
    overflow: hidden;
    transition: .25s
}
.fm-related-guide:hover {
    transform: translateY(-4px)
}
.fm-related-guide>img {
    width: 100%;
    height: 210px;
    object-fit: cover
}
.fm-related-guide>div {
    padding: 22px
}
.fm-related-guide h3 {
    margin: 8px 0 16px;
    color: var(--fm-navy);
    font-family: var(--fm-heading);
    font-size: 27px;
    line-height: 1
}
.fm-related-guide strong {
    color: var(--fm-navy);
    font-size: 13px
}
.fm-guide-link-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px
}
.fm-guide-link-grid a {
    padding: 30px;
    background: #fff;
    border: 1px solid var(--fm-border);
    box-shadow: 0 15px 45px rgba(31,36,40,.06);
    transition: .25s
}
.fm-guide-link-grid a:hover {
    transform: translateY(-3px)
}
.fm-guide-link-grid h3 {
    margin: 9px 0 10px;
    color: var(--fm-navy);
    font-family: var(--fm-heading);
    font-size: 31px;
    line-height: 1
}
.fm-guide-link-grid p {
    margin: 0;
    color: var(--fm-muted);
    font-size: 14px;
    line-height: 1.7
}
.fm-translation-note {
    margin-top: 8px!important;
    color: var(--fm-muted)!important;
    font-size: 13px!important;
    font-style: italic
}
@media(max-width:1050px) {
    .fm-guide-card {
        grid-template-columns: 180px 1fr
    }
    .fm-guide-layout {
        grid-template-columns: minmax(0,1fr) 290px;
        gap: 42px
    }
}
@media(max-width:860px) {
    .fm-guide-promo-grid,.fm-guide-intro-grid,.fm-guide-layout {
        grid-template-columns: 1fr
    }
    .fm-guide-sidebar {
        position: static
    }
    .fm-guide-sidebar-card {
        max-width: 620px
    }
    .fm-guide-card-grid {
        grid-template-columns: 1fr
    }
    .fm-related-guide-grid {
        grid-template-columns: 1fr 1fr
    }
}
@media(max-width:620px) {
    .fm-guide-card {
        grid-template-columns: 1fr
    }
    .fm-guide-card-media img {
        height: 230px
    }
    .fm-guide-card h2 {
        font-size: 29px
    }
    .fm-guide-article>p {
        font-size: 16px;
        line-height: 1.82
    }
    .fm-guide-article h2 {
        margin-top: 42px
    }
    .fm-related-guide-grid,.fm-guide-link-grid {
        grid-template-columns: 1fr
    }
    .fm-related-guide>img {
        height: 220px
    }
    .fm-guide-sidebar-card {
        padding: 24px
    }
}
/* V1228 – navigation, footer FAQ, homepage gallery and CTA strip refinements */
.fm-booking {
    color: var(--fm-navy)!important;
}
.fm-page-card-host {
    object-position: center top!important;
}
.fm-gallery-preview .fm-gallery-item:nth-child(-n+10) {
    display: block!important;
}
.fm-gallery-preview .fm-gallery-item:nth-child(n+11) {
    display: none!important;
}
@media(max-width:1100px) and (min-width:861px) {
    .fm-nav-menu {
        gap: 18px;
    }
    .fm-nav-menu ul {
        gap: 13px;
    }
    .fm-nav-menu a {
        font-size: 12px;
    }
    .fm-nav-cta {
        padding-left: 14px!important;
        padding-right: 14px!important;
    }
}
/* v1229 apartment gallery full display + refreshed guide/attractions visuals */
.fm-page-apartment .fm-gallery-grid.fm-gallery-grid-all .fm-gallery-item {
    display: block!important;
}
.fm-page-apartment .fm-gallery .fm-gallery-action {
    display: none!important;
}
.fm-page-booking .fm-score-card strong {
    font-family: var(--fm-body);
    font-weight: 500;
    letter-spacing: -.045em;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1,"tnum" 1
}
@media(max-width:620px) {
    .fm-page-card-host {
        object-position: center 28%!important
    }
}
/* v1231 – stronger mobile hero crop + consistent clean numerals */
.fm-score-card strong {
    font-variant-numeric: lining-nums tabular-nums!important;
    font-feature-settings: "lnum" 1,"tnum" 1!important
}
@media(max-width:620px) {
    .fm-hero-media {
        transform-origin: center center!important
    }
}
/* Portrait tablet refinements: homepage gallery + guide CTA alignment */
@media (min-width:621px) and (max-width:1100px) and (orientation:portrait) {
    .fm-gallery-preview .fm-gallery-item:nth-child(-n+8) {
        display: block!important
    }
    .fm-gallery-preview .fm-gallery-item:nth-child(n+9) {
        display: none!important
    }
    .fm-guide-layout {
        grid-template-columns: 1fr!important
    }
    .fm-guide-sidebar {
        position: static!important;
        width: 100%!important
    }
    .fm-guide-sidebar-card {
        width: min(620px,100%)!important;
        max-width: 620px!important;
        margin-left: auto!important;
        margin-right: auto!important;
        text-align: left!important
    }
    .fm-guide-end-links {
        justify-content: center!important
    }
}
/* v0930: keep the apartment photo gallery focused on the actual rooms until expanded. */
.fm-page-apartment .fm-gallery-grid.fm-gallery-grid-all:not(.is-expanded) .fm-gallery-item:nth-child(n+11) {
    display: none!important
}
.fm-page-apartment .fm-gallery-grid.fm-gallery-grid-all.is-expanded .fm-gallery-item {
    display: block!important
}
.fm-page-apartment .fm-gallery .fm-gallery-action.fm-apartment-gallery-action {
    display: flex!important;
    justify-content: center;
    margin-top: 24px
}
@media(max-width:620px) {
    .fm-page-apartment .fm-gallery-grid.fm-gallery-grid-all:not(.is-expanded) .fm-gallery-item:nth-child(n+7) {
        display: none!important
    }
}
/* Small-screen inquiry is not shown until visitors scroll;no desktop design changes. */
.fm-mobile-inquiry[hidden] {
    display: none!important
}
@media(max-width:760px) {
    .fm-mobile-inquiry:not([hidden]) {
        position: fixed;
        inset: auto 0 0;
        z-index: 920;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        padding: 12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
        background: #102330;
        color: #fff;
        border-top: 1px solid rgba(212,155,75,.45);
        box-shadow: 0 -12px 40px rgba(0,0,0,.16)
    }
    .fm-mobile-inquiry-copy {
        display: grid;
        gap: 4px;
        min-width: 0
    }
    .fm-mobile-inquiry-copy small {
        color: #d8b781;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .02em
    }
    .fm-mobile-inquiry-copy strong {
        font-size: 12.5px;
        line-height: 1.3
    }
    .fm-mobile-inquiry-btn {
        flex-shrink: 0;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 3px;
        background: #c38b42;
        padding: 10px 16px;
        color: #fff!important;
        font-size: 12px;
        font-weight: 800;
        white-space: nowrap
    }
    body.fm-mobile-inquiry-visible .fm-to-top {
        bottom: calc(98px + env(safe-area-inset-bottom))!important
    }
}
@media(max-width:365px) {
    .fm-mobile-inquiry-copy small {
        display: none
    }
    .fm-mobile-inquiry-btn {
        padding: 10px 11px
    }
}
@media(prefers-reduced-motion:reduce) {
    .fm-mobile-inquiry,.fm-mobile-inquiry-btn {
        transition: none!important
    }
}
/* SEO-to-booking content bridge: a contextual accommodation option after attractions. */
.fm-stay-bridge {
    background: #f8f4ee
}
.fm-stay-bridge-grid {
    display: grid;
    grid-template-columns: minmax(250px,.8fr) minmax(0,1.2fr);
    align-items: center;
    gap: clamp(26px,5vw,72px)
}
.fm-stay-bridge-grid>img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
    object-fit: cover
}
.fm-stay-bridge-grid h2 {
    font-family: 'Cormorant Garamond',Georgia,serif;
    font-size: clamp(32px,3vw,46px);
    line-height: 1.06;
    margin: 8px 0 15px;
    color: #142938;
    font-weight: 600
}
.fm-stay-bridge-grid p {
    max-width: 640px
}
.fm-stay-bridge-grid a:not(.fm-btn) {
    text-decoration: underline;
    text-underline-offset: 3px
}
.fm-stay-bridge-note {
    font-size: 12px;
    opacity: .72;
    margin-top: 16px
}
@media(max-width:780px) {
    .fm-stay-bridge-grid {
        grid-template-columns: 1fr
    }
    .fm-stay-bridge-grid>img {
        max-height: 260px;
        object-position: center 50%
    }
}
/* Keyboard skip navigation: visually hidden until focused; shared HU/EN. */
.fm-skip-link {
    position: fixed;
    z-index: 2147483647;
    top: 10px;
    left: 12px;
    max-width: calc(100vw - 24px);
    padding: 12px 16px;
    background: #fff;
    color: #132635;
    border: 2px solid #b88746;
    font: 700 15px/1.4 Inter,Arial,sans-serif;
    box-shadow: 0 4px 18px rgba(0,0,0,.25);
    transform: translateY(-160%);
    transition: transform .15s ease
}
.fm-skip-link:focus {
    transform: translateY(0);
    outline: 3px solid #132635;
    outline-offset: 2px
}
#top {
    scroll-margin-top: 74px
}
@media(prefers-reduced-motion:reduce) {
    .fm-skip-link {
        transition: none
    }
}
/* 2026-09-30 – editorial hero rhythm & consistent bilingual booking facts. No URL/content changes. */
@media (min-width:861px) {
    .fm-subhero {
        padding-top: 162px;
        padding-bottom: 86px
    }
    .fm-subhero h1 {
        letter-spacing: -.026em;
        text-wrap: balance
    }
    .fm-subhero .fm-lead {
        line-height: 1.75
    }
}
@media (min-width:621px) and (max-width:860px) {
    .fm-subhero h1 {
        font-size: clamp(45px,6vw,63px);
        line-height: 1.045;
        letter-spacing: -.023em;
        text-wrap: balance
    }
    .fm-subhero .fm-lead {
        max-width: 680px
    }
}
.fm-page-booking .fm-score-grid-4 .fm-score-card {
    padding: 20px 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 112px
}
.fm-page-booking .fm-score-grid-4 .fm-score-card strong {
    font-family: var(--fm-body);
    font-size: clamp(26px,2.45vw,34px);
    line-height: 1.15;
    letter-spacing: -.035em;
    white-space: nowrap
}
.fm-page-booking .fm-score-grid-4 .fm-score-card span {
    font-size: 13px;
    line-height: 1.45;
    margin-top: 9px
}
@media(max-width:620px) {
    .fm-page-booking .fm-score-grid-4 .fm-score-card {
        min-height: 106px;
        padding: 16px 7px
    }
    .fm-page-booking .fm-score-grid-4 .fm-score-card strong {
        font-size: clamp(23px,6.5vw,31px)
    }
}
:root {
    --fm-radius: 6px;
    --fm-shadow-soft: 0 18px 55px rgba(20,31,38,.075);
    --fm-shadow-hover: 0 26px 70px rgba(20,31,38,.115);
}
@media (min-width:861px) {
    .fm-navbar {
        height: 84px;
        background: linear-gradient(180deg,rgba(7,16,22,.91),rgba(7,16,22,.72));
        border-bottom-color: rgba(255,255,255,.095)
    }
    .fm-nav-container {
        width: min(1380px,calc(100% - 64px));
        gap: 34px
    }
    .fm-brand-main {
        font-size: 29px;
        letter-spacing: .025em
    }
    .fm-brand-sub {
        font-size: 9.5px;
        letter-spacing: .32em;
        margin-top: 6px
    }
    .fm-nav-menu ul {
        gap: clamp(20px,1.8vw,31px)
    }
    .fm-nav-menu a {
        font-size: 12.5px;
        letter-spacing: .015em
    }
    .fm-nav-menu li a {
        padding: 33px 0
    }
    .fm-nav-menu li a:after {
        bottom: 24px
    }
    .fm-nav-cta {
        min-height: 42px;
        padding: 10px 18px;
        border-radius: 4px;
        background: rgba(184,135,70,.18);
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.03)
    }
}
.fm-subhero {
    isolation: isolate;
}
.fm-subhero .fm-breadcrumb {
    gap: 8px;
    margin: 0 0 20px;
    color: rgba(255,255,255,.58);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .025em;
}
.fm-subhero .fm-kicker {
    margin: 0 0 15px!important;
    color: #d3aa70;
    font-family: var(--fm-body);
    font-size: 11px!important;
    line-height: 1.3;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .21em!important;
}
.fm-subhero h1 {
    margin: 0;
}
.fm-subhero .fm-lead {
    margin-top: 20px!important;
}
.fm-subhero .fm-hero-actions {
    gap: 12px;
    margin-top: 27px!important
}
.fm-subhero .fm-btn {
    min-height: 50px;
    padding: 14px 23px;
    border-radius: 4px;
    font-size: 13px;
    letter-spacing: .01em
}
.fm-subhero .fm-btn-primary {
    box-shadow: 0 14px 34px rgba(184,135,70,.22)
}
.fm-subhero .fm-btn-light {
    color: #fff!important;
    border: 1px solid rgba(255,255,255,.5);
    background: rgba(7,19,29,.20);
    backdrop-filter: blur(7px);
}
.fm-subhero .fm-btn-light:hover {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.75)
}
.fm-guide-article-hero .fm-guide-meta {
    margin-top: 22px
}
@media (min-width:861px) {
    .fm-hero {
        align-items: flex-end
    }
    .fm-hero-media {
        background-position: center 45%!important;
        transform: scale(1.018)!important;
    }
    .fm-hero-overlay {
        height: 48%;
        background: linear-gradient(0deg,rgba(4,11,16,.84),rgba(4,11,16,.05))
    }
    .fm-hero .fm-kicker {
        margin-bottom: 14px!important;
        font-family: var(--fm-body);
        font-size: 11px!important;
        line-height: 1.3;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .22em!important;
        color: #d3aa70;
    }
    .fm-hero h1 {
        max-width: 690px!important;
        font-size: clamp(50px,4.6vw,72px)!important;
        line-height: 1.005!important;
        letter-spacing: -.03em!important;
        text-wrap: balance
    }
    .fm-hero .fm-lead {
        max-width: 625px!important;
        margin-top: 20px!important;
        font-size: 16px;
        line-height: 1.7!important;
        color: rgba(255,255,255,.82)
    }
    .fm-hero-actions {
        gap: 12px;
        margin-top: 27px!important
    }
    .fm-hero-actions .fm-btn {
        min-height: 50px;
        padding: 14px 23px;
        border-radius: 4px;
        font-size: 13px
    }
    .fm-hero-actions .fm-btn-light {
        color: #fff!important;
        border: 1px solid rgba(255,255,255,.5);
        background: rgba(7,19,29,.18);
        backdrop-filter: blur(7px)
    }
    .fm-hero-features {
        grid-template-columns: repeat(4,minmax(0,1fr));
        gap: 0;
        margin-top: 38px;
        padding-top: 20px;
        border-top: 1px solid rgba(255,255,255,.18)
    }
    .fm-hero-features>div {
        grid-template-columns: 40px minmax(0,1fr);
        column-gap: 12px;
        padding: 9px 20px;
        border: 0;
        border-right: 1px solid rgba(255,255,255,.16);
        background: transparent;
        backdrop-filter: none
    }
    .fm-hero-features>div:first-child {
        padding-left: 0
    }
    .fm-hero-features>div:last-child {
        border-right: 0;
        padding-right: 0
    }
    .fm-hero-feature-icon {
        width: 40px;
        height: 40px;
        border: 1px solid rgba(211,170,112,.48);
        border-radius: 50%;
        color: #d3aa70
    }
    .fm-hero-feature-icon svg {
        width: 21px;
        height: 21px
    }
    .fm-hero-features strong {
        font-family: var(--fm-heading);
        font-size: 16px;
        font-weight: 600;
        line-height: 1.15
    }
    .fm-hero-features small {
        margin-top: 5px;
        font-size: 11px;
        line-height: 1.4;
        color: rgba(255,255,255,.58)
    }
}
.fm-eyebrow {
    margin-bottom: 13px;
    color: var(--fm-gold-dark);
    font-size: 10.5px;
    line-height: 1.35;
    letter-spacing: .19em;
}
.fm-section-title {
    margin-left: auto;
    margin-right: auto;
}
.fm-copy h2,.fm-location h2,.fm-booking h2 {
    letter-spacing: -.027em;
    text-wrap: balance;
}
.fm-split,.fm-location-grid {
    gap: clamp(44px,6vw,84px)
}
.fm-image-card,.fm-guide-promo-image {
    border-radius: var(--fm-radius);
    box-shadow: var(--fm-shadow-soft)
}
.fm-image-card img {
    width: 100%
}
.fm-page-card,.fm-info-card,.fm-seo-grid article,.fm-ideal-grid article,.fm-rules-grid .fm-rule-card,.fm-guide-card,.fm-related-guide,.fm-guide-link-grid a,.fm-review-summary,.fm-review-card,.fm-contact-form,.fm-guide-sidebar-card {
    border-color: rgba(19,38,53,.10)!important;
    border-radius: var(--fm-radius);
    box-shadow: var(--fm-shadow-soft);
}
.fm-info-card,.fm-seo-grid article,.fm-ideal-grid article,.fm-rules-grid .fm-rule-card {
    position: relative;
    overflow: hidden;
}
.fm-info-card:before,.fm-seo-grid article:before,.fm-ideal-grid article:before,.fm-rules-grid .fm-rule-card:before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(90deg,var(--fm-gold),rgba(184,135,70,.08));
}
.fm-page-card:hover,.fm-guide-card:hover,.fm-related-guide:hover,.fm-guide-link-grid a:hover {
    box-shadow: var(--fm-shadow-hover)
}
.fm-page-card>div,.fm-guide-card-copy {
    padding: clamp(24px,2.2vw,32px)
}
.fm-page-card p,.fm-guide-card p,.fm-related-guide p,.fm-guide-link-grid p {
    line-height: 1.72
}
.fm-gallery-grid {
    gap: 10px
}
.fm-gallery-grid img {
    border: 0!important;
    transition: transform .45s ease,filter .45s ease
}
.fm-map-card {
    height: 390px;
    padding: 8px;
    border-radius: var(--fm-radius);
    border-color: rgba(19,38,53,.1);
    box-shadow: var(--fm-shadow-soft);
    overflow: hidden
}
.fm-stats {
    gap: 8px
}
.fm-stats span {
    padding: 13px 15px;
    border-radius: 3px;
    background: #fffdf9;
    border-color: rgba(19,38,53,.1)
}
.fm-check-list {
    gap: 12px
}
.fm-check-list li {
    font-size: 14px;
    line-height: 1.55
}
.fm-booking .fm-btn-gold {
    border-radius: 4px
}
.fm-contact-form input,.fm-contact-form textarea,.fm-contact-form select,.fm-booking-form input[type="date"] {
    border-radius: 3px
}
.fm-guide-article>p {
    font-size: 16.5px
}
.fm-guide-article h2 {
    font-size: clamp(34px,2.9vw,46px);
    line-height: 1.08;
    letter-spacing: -.02em
}
.fm-guide-highlight {
    border-radius: 0 5px 5px 0
}
@media (max-width:860px) {
    .fm-subhero h1 {
        max-width: 720px!important;
        line-height: 1.02!important
    }
    .fm-subhero .fm-lead {
        font-size: 15.5px;
        line-height: 1.65!important
    }
    .fm-section {
        padding: 72px 0
    }
    .fm-split,.fm-location-grid {
        gap: 38px
    }
}
@media (max-width:620px) {
    .fm-brand-main {
        font-size: 24px
    }
    .fm-subhero {
        align-items: flex-end
    }
    .fm-subhero:before {
        transform: scale(1.01);
        background-position: center!important
    }
    .fm-subhero-overlay {
        background: linear-gradient(180deg,rgba(5,14,20,.30) 0%,rgba(5,14,20,.40) 30%,rgba(5,14,20,.86) 72%,rgba(5,14,20,.96) 100%)
    }
    .fm-subhero .fm-breadcrumb {
        margin-bottom: 14px;
        font-size: 9.5px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }
    .fm-subhero .fm-kicker {
        margin-bottom: 10px!important;
        font-size: 9.5px!important;
        letter-spacing: .18em!important
    }
    .fm-subhero h1 {
        max-width: none!important;
        letter-spacing: -.027em!important;
        text-wrap: balance
    }
    .fm-guide-article-hero h1 {
        font-size: clamp(35px,9.6vw,46px)!important
    }
    .fm-subhero .fm-lead {
        margin-top: 14px!important
    }
    .fm-subhero .fm-hero-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 9px;
        margin-top: 20px!important
    }
    .fm-subhero .fm-btn {
        width: 100%;
        min-height: 46px;
        padding: 12px 10px;
        font-size: 12px
    }
    .fm-hero-copy {
        padding-top: 395px!important
    }
    .fm-hero .fm-kicker {
        font-family: var(--fm-body)!important;
        text-transform: uppercase!important;
        letter-spacing: .19em!important;
        color: #d3aa70!important;
        margin-bottom: 10px!important
    }
    .fm-hero h1 {
        letter-spacing: -.028em!important;
        text-wrap: balance
    }
    .fm-hero-actions {
        display: grid;
        grid-template-columns: 1fr 1fr
    }
    .fm-hero-actions .fm-btn-light {
        color: #fff!important;
        border: 1px solid rgba(255,255,255,.44);
        background: rgba(7,19,29,.26)
    }
    .fm-hero-features {
        margin-top: 24px
    }
    .fm-hero-features>div {
        border-radius: 3px
    }
    .fm-copy h2,.fm-location h2,.fm-booking h2 {
        line-height: 1.05
    }
    .fm-split,.fm-location-grid {
        gap: 30px
    }
    .fm-page-card>div,.fm-guide-card-copy {
        padding: 23px
    }
    .fm-map-card {
        height: 320px
    }
    .fm-booking-inner .fm-btn {
        width: 100%
    }
    .fm-gallery-grid {
        gap: 8px
    }
}
@media (max-width:390px) {
    .fm-subhero .fm-hero-actions,.fm-hero-actions {
        grid-template-columns: 1fr
    }
    .fm-hero {
        min-height: 835px!important
    }
    .fm-hero-copy {
        padding-top: 410px!important
    }
}
/* V1008-GOLD */
.fm-btn-primary:hover,.fm-btn-gold:hover {
    box-shadow: 0 20px 42px rgba(143,99,47,.25)!important
}
.fm-nav-cta {
    background: var(--fm-gold-ui)!important;
    border-color: var(--fm-gold-ui)!important;
    color: #fff!important;
    box-shadow: 0 12px 28px rgba(184,135,70,.18)!important
}
.fm-nav-cta:hover {
    border-color: var(--fm-gold-dark)!important
}
.fm-info-card,.fm-seo-grid article,.fm-ideal-grid article,.fm-rules-grid .fm-rule-card,.fm-score-card,.fm-page-card,.fm-guide-card,.fm-related-guide,.fm-guide-link-grid a,.fm-review-card,.fm-review-summary,.fm-contact-form,.fm-guide-sidebar-card,.fm-faq details {
    border-top: 2px solid var(--fm-gold-ui)!important
}
.fm-info-card:before,.fm-seo-grid article:before {
    display: none!important
}
.fm-ideal-grid article::before,.fm-rules-grid .fm-rule-card::before {
    display: flex!important;
    top: 24px!important;
    left: 50%!important;
    right: auto!important;
    width: 34px!important;
    height: 34px!important;
    transform: translateX(-50%)!important;
    border: 1px solid rgba(184,135,70,.55)!important;
    border-radius: 999px!important;
    background: #fffaf3!important;
    box-shadow: 0 8px 20px rgba(31,36,40,.045)!important
}
@media (min-width:861px) {
    .fm-subhero {
        min-height: clamp(620px,62vh,720px)!important;
        padding: 158px 0 82px!important;
        align-items: center!important
    }
    .fm-subhero-inner {
        padding-top: 40px
    }
    .fm-subhero .fm-breadcrumb {
        margin-bottom: 24px!important
    }
    .fm-subhero .fm-kicker {
        margin-bottom: 17px!important
    }
    .fm-subhero h1 {
        max-width: 900px!important;
        font-size: clamp(54px,4.7vw,74px)!important;
        line-height: 1.02!important
    }
    .fm-guide-article-hero h1 {
        max-width: 930px!important
    }
    .fm-subhero .fm-lead {
        max-width: 690px!important;
        margin-top: 22px!important
    }
    .fm-subhero .fm-hero-actions {
        margin-top: 30px!important
    }
    .fm-hero {
        min-height: clamp(810px,84vh,900px)!important;
        padding: 176px 0 60px!important
    }
    .fm-hero-copy {
        max-width: 720px!important
    }
    .fm-split {
        grid-template-columns: minmax(340px,.88fr) minmax(0,1.12fr)!important;
        gap: clamp(52px,5vw,76px)!important
    }
    .fm-location-grid {
        grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr)!important;
        gap: clamp(52px,5vw,76px)!important
    }
    .fm-copy,.fm-location {
        min-width: 0
    }
    .fm-copy p,.fm-location p {
        max-width: 700px
    }
}
@media (min-width:621px) and (max-width:860px) {
    .fm-subhero {
        min-height: 590px!important;
        padding: 138px 0 64px!important
    }
}
@media (max-width:620px) {
    .fm-subhero .fm-hero-actions .fm-btn-primary,.fm-hero-actions .fm-btn-primary {
        background: var(--fm-gold-ui)!important;
        border-color: var(--fm-gold-ui)!important
    }
}
@media (min-width:1181px) {
    .fm-container {
        width: min(1340px,calc(100% - 96px))
    }
    .fm-nav-container {
        width: min(1480px,calc(100% - 88px))
    }
    .fm-subhero {
        min-height: clamp(650px,62vh,740px)!important
    }
    .fm-subhero-inner {
        max-width: none!important;
        padding-top: 30px
    }
    .fm-subhero h1 {
        max-width: 980px!important;
        font-size: clamp(56px,4.55vw,76px)!important
    }
    .fm-subhero .fm-lead {
        max-width: 735px!important;
        font-size: 16.5px
    }
    .fm-guide-article-hero h1 {
        max-width: 1010px!important
    }
    .fm-hero-inner {
        max-width: none!important
    }
    .fm-hero-copy {
        max-width: 770px!important
    }
    .fm-hero h1 {
        max-width: 770px!important;
        font-size: clamp(54px,4.35vw,75px)!important
    }
    .fm-hero .fm-lead {
        max-width: 690px!important
    }
    .fm-hero-features {
        width: 100%;
        max-width: 1180px
    }
    .fm-section {
        padding: clamp(96px,6.2vw,122px) 0
    }
    .fm-section-title {
        max-width: 1000px;
        margin-bottom: 48px;
        font-size: clamp(42px,3vw,56px)
    }
    .fm-copy h2,.fm-location h2,.fm-booking h2 {
        font-size: clamp(41px,2.9vw,55px)
    }
    .fm-split {
        grid-template-columns: minmax(460px,1.04fr) minmax(470px,.96fr)!important;
        gap: clamp(70px,6vw,104px)!important
    }
    .fm-location-grid {
        grid-template-columns: minmax(480px,1fr) minmax(480px,1fr)!important;
        gap: clamp(72px,6vw,108px)!important
    }
    .fm-copy p,.fm-location p {
        max-width: 760px
    }
    .fm-image-card img {
        width: 100%;
        height: auto
    }
    .fm-map-card {
        height: 430px
    }
    .fm-home-overview .fm-container,.fm-guide-promo .fm-container,.fm-gallery .fm-container {
        width: min(1380px,calc(100% - 96px))
    }
    .fm-page-card-grid {
        gap: 30px
    }
    .fm-page-card {
        grid-template-columns: 245px minmax(0,1fr);
        min-height: 278px
    }
    .fm-page-card>div {
        padding: 34px 36px
    }
    .fm-page-card h3 {
        font-size: 33px;
        line-height: 1.02
    }
    .fm-page-card p {
        font-size: 14.5px;
        line-height: 1.7
    }
    .fm-guide-promo-grid {
        grid-template-columns: 1.08fr .92fr;
        gap: clamp(78px,6.2vw,110px)
    }
    .fm-info-grid,.fm-seo-grid,.fm-ideal-grid,.fm-rules-grid {
        gap: 22px!important
    }
    .fm-info-card,.fm-seo-grid article {
        padding: 34px 30px 32px
    }
    .fm-ideal-grid article,.fm-rules-grid .fm-rule-card {
        padding: 82px 30px 34px!important
    }
    .fm-info-card p,.fm-seo-grid article p,.fm-ideal-grid article p,.fm-rules-grid .fm-rule-card p {
        line-height: 1.72
    }
    .fm-guide-link-grid {
        gap: 28px
    }
    .fm-guide-link-grid a {
        padding: 34px 36px
    }
    .fm-booking-inner {
        gap: 74px
    }
    .fm-booking-inner>div {
        max-width: 850px
    }
    .fm-footer-grid {
        gap: 54px
    }
}
/* ========= LAYER: flat-margaret-luxury.css ========= */
/* Flat Margaret | Boutique identity refresh 2026-10
   Non-invasive sitewide layer: retains content, internal links, photos, forms and SEO.
   Brand based on the finalized FM artwork supplied by the designer. */
:root {
    --fm-gold-ui: #ad8753;
}
body.fm-body {
    -webkit-font-smoothing: antialiased
}
::selection {
    background: #a48759;
    color: #fff
}
:focus-visible {
    outline: 2px solid #c49e69;
    outline-offset: 4px
}
/* Brand lockup - real approved artwork, never substitute fonts for logo graphics */
.fm-navbar::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,transparent,rgba(205,173,115,.25),transparent);
    pointer-events: none
}
.fm-nav-container {
    gap: 25px
}
.fm-brand {
    display: inline-flex;
    flex-direction: row!important;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
    min-width: 0
}
.fm-brand-symbol {
    display: grid;
    place-items: center;
    flex: none
}
.fm-brand-type {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0
}
.fm-brand-wordmark {
    display: block;
    object-fit: contain
}
.fm-brand-sub {
    display: block;
    margin: 0;
    text-transform: uppercase
}
.fm-nav-menu {
    gap: 20px!important
}
.fm-nav-menu a {
    letter-spacing: .015em
}
.fm-nav-menu li a {
    white-space: nowrap
}
.fm-nav-menu li a::after {
    height: 1px;
    background: #ccac78
}
.fm-nav-menu li a:hover,.fm-nav-menu a.is-current {
    color: #e5c38c!important
}
.fm-lang-switch {
    border: 1px solid rgba(206,174,122,.34)!important;
    border-radius: 0!important
}
.fm-lang-switch a {
    font: 600 11px/1 var(--fm-label)!important;
    letter-spacing: .04em
}
.fm-lang-switch a.active {
    background: rgba(190,151,93,.22)!important;
    color: #f2d39f!important
}
.fm-nav-cta,.fm-mobile-cta {
    box-shadow: 0 7px 25px rgba(5,24,19,.1);
    font-weight: 700!important;
    transition: background .2s,transform .2s
}
.fm-nav-cta:hover {
    background: #d7ba89!important;
    color: #09251e!important
}
.fm-nav-actions {
    display: flex;
    align-items: center;
    gap: 14px
}
.fm-nav-toggle {
    border: 1px solid rgba(214,188,146,.48);
    padding: 11px!important;
    min-width: 44px;
    min-height: 43px;
    align-items: center;
    justify-content: center
}
.fm-nav-toggle span {
    background: #dfbf84
}
/* Dark, luxurious menu on small screens */
.fm-mobile-head {
    height: 90px;
    border-bottom: 1px solid rgba(200,168,112,.22)
}
.fm-mobile-links {
    max-height: calc(100svh - 106px);
    overflow-y: auto;
    gap: 20px;
    padding: 20px 24px 45px;
    margin-top: 0!important
}
.fm-mobile-links>a:not(.fm-mobile-cta) {
    font: 400 clamp(26px,6vw,34px)/1.15 var(--fm-heading)!important;
    letter-spacing: .015em;
    color: #f3eee6
}
.fm-mobile-links .fm-mobile-cta {
    font: 700 13px/1.2 var(--fm-body)!important;
    margin-top: 12px;
    color: #102b24!important
}
.fm-mobile-links .fm-lang-switch {
    margin-top: 10px
}
/* Cinematic hero family, all interior/city photography stays original */
.fm-hero-media {
    will-change: auto!important
}
.fm-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none
}
.fm-hero-overlay {
    height: 54%
}
.fm-hero-inner {
    gap: clamp(35px,6vh,65px)
}
.fm-hero-copy {
    border-left: 1px solid rgba(211,179,126,.48)
}
.fm-hero .fm-kicker,.fm-subhero .fm-kicker {
    margin: 0 0 18px!important
}
.fm-hero .fm-lead,.fm-subhero .fm-lead {
    color: rgba(255,251,244,.86)!important;
    font: 400 15px/1.85 var(--fm-body)!important;
    max-width: 615px!important;
    margin-top: 22px
}
.fm-btn {
    box-shadow: none
}
.fm-btn:hover {
    transform: translateY(-2px)
}
.fm-btn-light {
    border: 1px solid rgba(244,239,231,.65)!important;
    backdrop-filter: blur(7px)
}
.fm-btn-dark {
    border: 1px solid #15392f!important
}
.fm-hero-features {
    display: grid!important;
    grid-template-columns: repeat(4,minmax(0,1fr))!important;
    align-items: start;
    gap: 0!important;
    width: 100%!important;
    max-width: none!important;
    margin-top: 0!important;
    padding-top: 24px!important;
    border-top: 1px solid rgba(235,212,174,.32)!important
}
.fm-hero-features>div {
    padding: 0 21px!important;
    border-right: 1px solid rgba(234,215,185,.2)
}
.fm-hero-features>div:first-child {
    padding-left: 0!important
}
.fm-hero-features>div:last-child {
    border-right: none
}
.fm-hero-feature-icon {
    border-color: rgba(200,167,109,.64)!important;
    color: #ddb97b!important;
    background: rgba(13,44,34,.24)!important
}
.fm-hero-features strong {
    font-family: var(--fm-heading);
    font-size: 20px!important;
    font-weight: 400!important;
    color: #fff7ec
}
.fm-hero-features small {
    color: rgba(255,251,245,.65)!important;
    font-size: 11.5px
}
/* All interior subpage heros: generous headline zone, photo & green treatment */
.fm-subhero::before {
    filter: saturate(.84) contrast(1.08)
}
.fm-breadcrumb {
    color: rgba(253,244,227,.66)!important;
    font-weight: 500!important
}
.fm-guide-article-hero h1 {
    max-width: 1000px!important
}
/* Strong section rhythm + typography; retain all original Hungarian and English content */
.fm-copy p,.fm-location p,.fm-booking p,.fm-note {
    font-size: 15px;
    line-height: 1.94;
    color: #656b62
}
.fm-page-card {
    min-height: 330px!important;
    grid-template-columns: 46% minmax(0,1fr)!important;
    border: 1px solid rgba(19,56,44,.12)!important;
    box-shadow: 0 22px 46px rgba(15,44,34,.045)!important
}
.fm-page-card>img {
    height: 100%!important;
    min-height: 330px;
    object-fit: cover;
    transition: transform .45s ease
}
.fm-page-card:hover>img {
    transform: scale(1.025)
}
.fm-page-card strong,.fm-guide-card strong {
    letter-spacing: .05em
}
.fm-page-card:last-child {
    min-height: 315px!important
}
.fm-page-card:last-child>img {
    min-height: 315px
}
.fm-score-strip {
    border-bottom: 1px solid rgba(163,128,74,.19)
}
.fm-score-card {
    border: 0!important;
    text-align: center
}
.fm-score-card strong {
    font-weight: 400!important
}
.fm-benefit-grid p {
    font-size: 12px!important
}
.fm-guide-promo-image {
    position: relative
}
.fm-guide-promo-image img {
    transition: transform .55s
}
.fm-guide-promo-image:hover img {
    transform: scale(1.03)
}
.fm-gallery-grid-all {
    gap: 8px!important
}
.fm-gallery-item {
    position: relative
}
.fm-gallery-grid img,.fm-gallery-item img {
    border: none!important;
    filter: saturate(.87) contrast(1.04);
    transition: transform .4s,filter .4s
}
.fm-note {
    color: #687066
}
/* Elevated cards across apartment, reviews, transport, guide, attractions and booking */
.fm-info-card,.fm-seo-grid article,.fm-ideal-grid article,.fm-rule-card,.fm-guide-link-grid a,.fm-guide-card,.fm-related-guide,.fm-review-card,.fm-guide-sidebar-card,.fm-faq-item,.fm-contact-form {
    border: 1px solid rgba(37,67,52,.12)!important;
    box-shadow: 0 18px 45px rgba(12,40,29,.045)!important;
    border-radius: 0!important
}
.fm-info-card,.fm-seo-grid article,.fm-ideal-grid article,.fm-rule-card,.fm-guide-link-grid a,.fm-guide-card,.fm-related-guide {
    border-top: 2px solid rgba(164,130,80,.5)!important
}
.fm-guide-listing,.fm-related-guides,.fm-ideal,.fm-location-details,.fm-attraction-guide {
    background: #f6f0e6!important
}
.fm-guide-card,.fm-related-guide {
    background: #fffefa
}
.fm-guide-article>p {
    color: #535f57;
    line-height: 1.95
}
.fm-guide-source-note {
    border: 1px solid rgba(16,43,36,.17)!important
}
.fm-guide-highlight {
    background: #f5ecdc!important;
    border-color: #a48759!important
}
.fm-map-card,.fm-image-card {
    border: 1px solid rgba(164,135,89,.2);
    box-shadow: 0 22px 55px rgba(11,37,28,.085)!important
}
.fm-award-section {
    background: #f3ebde!important
}
.fm-award-grid figure {
    box-shadow: 0 20px 50px rgba(11,37,28,.06)!important
}
.fm-review-summary,.fm-host-card,.fm-award-grid figure {
    border-color: rgba(16,43,36,.13)!important
}
.fm-review-card p {
    color: #374b41
}
/* Booking focus and form without interfering with form processing */
.fm-contact,.fm-page-booking .fm-contact {
    background: #f3ece2!important
}
.fm-contact-form input,.fm-contact-form select,.fm-contact-form textarea {
    border-color: rgba(25,59,44,.2)!important
}
.fm-contact-form input:focus,.fm-contact-form textarea:focus,.fm-contact-form select:focus {
    border-color: #a48759!important;
    box-shadow: 0 0 0 3px rgba(164,135,89,.16)!important
}
.fm-faq {
    background: #f7f2eb!important
}
.fm-faq button,.fm-faq-item {
    color: var(--fm-green)!important
}
.fm-legal {
    background: #f8f4ec!important
}
/* Footer - no cramped multi-column utility blocks; genuine monogram and wordmark */
.fm-footer-brand-block {
    padding-right: 26px
}
.fm-footer-logo {
    display: flex!important;
    flex-direction: row!important;
    align-items: center!important
}
.fm-footer-identity {
    display: flex;
    flex-direction: column;
    gap: 13px;
    min-width: 0
}
.fm-footer-identity img {
    height: auto
}
.fm-footer-identity small {
    text-transform: uppercase
}
.fm-footer-v31 h3 {
    text-transform: uppercase
}
.fm-footer-v31 p {
    max-width: 345px
}
.fm-footer-v31 a:not(.fm-footer-logo) {
    font-weight: 400!important;
    font-size: 12px!important
}
.fm-footer-direct {
    padding: 0!important;
    background: transparent!important;
    border: 0!important;
    box-shadow: none!important
}
.fm-footer-cta {
    font-weight: 600!important
}
.fm-footer-legal {
    margin-top: 20px
}
.fm-footer-bottom {
    letter-spacing: .04em
}
.fm-footer-credit a {
    color: #d9b783!important
}
/* Small details */
.fm-section-links a {
    background: #f9f5ed!important;
    border-color: rgba(164,135,89,.24)!important;
    color: #234a3b!important;
    box-shadow: none!important
}
.fm-nav-menu li a.is-current:after {
    background: #c2a06a
}
.fm-mobile-inquiry:not([hidden]) {
    background: #102b24!important
}
.fm-mobile-inquiry-btn {
    background: #bc985f!important;
    color: #102b24!important
}
/* Laptop and iPad layout: keep the wordmark legible without cramping navigation */
@media(max-width:1250px) {
    .fm-nav-actions .fm-lang-switch {
        display: inline-flex
    }
}
@media(max-width:860px) {
    .fm-container {
        width: calc(100% - 42px)!important
    }
    .fm-hero-features {
        grid-template-columns: repeat(2,minmax(0,1fr))!important;
        gap: 22px 0!important
    }
    .fm-hero-features>div:nth-child(2) {
        border-right: 0
    }
    .fm-hero-features>div:nth-child(3) {
        padding-left: 0!important
    }
    .fm-page-card:first-child,.fm-page-card:last-child {
        grid-column: span 1
    }
    .fm-page-card-grid {
        grid-template-columns: 1fr!important
    }
    .fm-page-card,.fm-page-card:first-child,.fm-page-card:last-child {
        grid-template-columns: 42% 1fr!important;
        min-height: 300px!important
    }
    .fm-page-card>img,.fm-page-card:first-child>img,.fm-page-card:last-child>img {
        min-height: 300px
    }
}
@media(max-width:620px) {
    .fm-brand {
        gap: 8px!important
    }
    .fm-brand-symbol {
        flex: none
    }
    .fm-container {
        width: calc(100% - 34px)!important
    }
    .fm-hero-inner {
        gap: 35px
    }
    .fm-hero-copy {
        border-left: 1px solid rgba(211,179,126,.5)
    }
    .fm-hero .fm-kicker {
        font-size: 9px!important
    }
    .fm-hero-features {
        gap: 15px 8px!important;
        padding-top: 17px!important
    }
    .fm-hero-features>div {
        padding: 0 6px!important;
        min-width: 0
    }
    .fm-hero-features>div:nth-child(odd) {
        padding-left: 0!important
    }
    .fm-hero-features strong {
        font-size: 17px!important
    }
    .fm-hero-features small {
        font-size: 10px!important
    }
    .fm-subhero-inner {
        padding-top: 22px!important
    }
    .fm-gallery-grid-all {
        gap: 6px!important
    }
    .fm-footer-brand-block {
        padding-right: 0
    }
    .fm-footer-identity small {
        font-size: 8px!important;
        letter-spacing: .12em!important
    }
    .fm-footer-v31 h3 {
        margin-bottom: 14px!important
    }
    .fm-mobile-links {
        align-items: flex-start;
        padding-top: 27px;
        gap: 18px
    }
}
@media(max-width:375px) {
    .fm-navbar {
        height: 70px!important
    }
}
@media(prefers-reduced-motion:reduce) {
    .fm-page-card:hover>img,.fm-gallery-item:hover img,.fm-guide-promo-image:hover img {
        transform: none
    }
}
/* Brand glyph appears directly in the green header/footer, not in a cream disc. */
/* ================================================================
   Flat Margaret / Refinement II — 2026-10-08
   Full-bleed hero + separate highlights band, legible editorial serif,
   sage/ivory sections, cohesive HU/EN content and interaction states.
   Original approved artwork stays untouched. All original site copy stays.
   ================================================================ */
body.fm-body {
    font-family: var(--fm-body)
}
.fm-nav-menu li a {
    font-size: 12.5px!important;
    font-weight: 500!important
}
.fm-nav-cta {
    font-size: 12px!important
}
.fm-kicker,.fm-eyebrow {
    font-family: var(--fm-label)!important;
    font-weight: 700!important;
    font-size: 11px!important
}
.fm-hero,.fm-subhero {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 0
}
.fm-hero {
    overflow: hidden
}
.fm-hero-media {
    background-size: cover!important
}
.fm-hero-inner {
    padding-top: 40px!important
}
.fm-hero-copy {
    padding-left: 30px!important;
    border-color: rgba(211,177,119,.66)!important
}
.fm-hero h1 {
    font-family: var(--fm-heading)!important;
    text-wrap: balance
}
.fm-btn {
    font-family: var(--fm-body)!important;
    font-size: 12.5px!important;
    font-weight: 600!important
}
.fm-feature-band {
    position: relative;
    z-index: 2
}
.fm-feature-band-inner {
    display: flex;
    align-items: center;
    padding-block: 18px
}
.fm-feature-band .fm-hero-features {
    display: grid!important;
    border: 0!important;
    margin: 0!important;
    padding: 0!important;
    color: #173A2F
}
.fm-feature-band .fm-hero-features>div {
    display: grid;
    grid-template-rows: auto auto;
    align-items: center
}
.fm-feature-band .fm-hero-feature-icon {
    grid-row: 1 / 3
}
.fm-feature-band .fm-hero-features strong {
    font-family: var(--fm-body)!important;
    font-weight: 600!important;
    line-height: 1.35!important
}
.fm-feature-band .fm-hero-features small {
    font-family: var(--fm-body)!important;
    line-height: 1.5!important
}
/* More readable, less grandiose photographic subpage headers */
.fm-subhero h1 {
    font-family: var(--fm-heading)!important;
    letter-spacing: -.025em!important;
    text-wrap: balance
}
.fm-subhero .fm-lead {
    font-family: var(--fm-body)!important
}
/* Editorial section rhythm: soft greens instead of unrelated heavy beige */
.fm-section-title,.fm-copy h2,.fm-location h2,.fm-booking h2,.fm-info-card h2,.fm-guide-article h2,.fm-legal-card h2 {
    font-family: var(--fm-heading)!important;
    letter-spacing: -.022em!important;
    line-height: 1.15!important;
    font-weight: 400!important;
    color: #123B30!important
}
.fm-section-title {
    margin-bottom: 42px!important
}
.fm-page-card h3,.fm-guide-card h2,.fm-related-guide h3,.fm-guide-link-grid h3 {
    font-family: var(--fm-heading)!important;
    font-size: clamp(28px,2.25vw,37px)!important;
    line-height: 1.16!important
}
.fm-page-card p,.fm-copy p,.fm-location p,.fm-booking p,.fm-info-card p,.fm-guide-article p {
    font-size: clamp(14px,.95vw,15.5px)!important;
    line-height: 1.85!important
}
.fm-hero-features strong,.fm-benefit-grid h2 {
    overflow-wrap: normal
}
.fm-page-card {
    background: #fff!important;
    border-color: rgba(23,67,48,.14)!important
}
.fm-gallery,.fm-guide-listing,.fm-related-guides,.fm-location-details {
    background: #EEF2ED!important
}
.fm-ideal,.fm-attraction-guide,.fm-section-links {
    background: #F6F7F2!important
}
.fm-score-card strong {
    font-family: var(--fm-heading)!important;
    font-size: clamp(31px,2.8vw,47px)!important
}
.fm-score-card span {
    font-family: var(--fm-body)!important;
    font-size: 12px!important;
    line-height: 1.5!important
}
.fm-benefit-grid h2 {
    font-family: var(--fm-body)!important;
    font-size: 15px!important;
    font-weight: 600!important
}
.fm-booking {
    border-color: rgba(37,75,52,.15)!important
}
.fm-guide-sidebar-card,.fm-guide-highlight {
    background: #ECF0E8!important
}
.fm-footer-v31 p,.fm-footer-v31 a {
    line-height: 1.8!important
}
/* mobile and tablet sizing, no giant empty hero or clipped navigation */
@media(max-width:1250px) {
    .fm-container {
        width: calc(100% - 64px)
    }
    .fm-feature-band .fm-hero-features>div {
        grid-template-columns: 40px minmax(0,1fr);
        gap: 4px 10px;
        padding-inline: 13px!important
    }
    .fm-feature-band .fm-hero-features small {
        font-size: 11px!important
    }
}
@media(max-width:860px) {
    .fm-feature-band-inner {
        padding-block: 18px
    }
    .fm-feature-band .fm-hero-features {
        gap: 0!important
    }
    .fm-feature-band .fm-hero-features>div {
        border-right: 0!important
    }
    .fm-feature-band .fm-hero-features>div:nth-child(odd) {
        border-right: 1px solid rgba(27,68,53,.14)!important
    }
    .fm-feature-band .fm-hero-features>div:first-child {
        padding-left: 0!important
    }
    .fm-feature-band .fm-hero-features>div:nth-child(2) {
        padding-right: 0!important
    }
    .fm-feature-band .fm-hero-features>div:nth-child(3) {
        padding-left: 0!important
    }
    .fm-feature-band .fm-hero-features>div:last-child {
        padding-right: 0!important
    }
}
@media(max-width:620px) {
    .fm-container {
        width: calc(100% - 36px)
    }
    .fm-hero-media {
        filter: saturate(.93)!important
    }
    .fm-hero-inner {
        padding-top: 20px!important
    }
    .fm-hero-actions .fm-btn {
        min-width: 0
    }
}
@media(max-width:375px) {
    .fm-hero {
        min-height: 710px!important
    }
    .fm-hero-actions .fm-btn {
        font-size: 11px!important;
        padding: 10px 12px!important
    }
}
/* Refinement II final cross-breakpoint fixes */
.fm-feature-band .fm-hero-features>div {
    background: transparent!important;
    backdrop-filter: none!important;
    border-radius: 0!important;
    box-shadow: none!important;
    color: #173a2f!important
}
.fm-feature-band .fm-hero-features strong,.fm-feature-band .fm-hero-features small {
    opacity: 1!important;
    text-shadow: none!important
}
@media(max-width:375px) {
    .fm-brand-wordmark {
        width: 137px!important
    }
    .fm-brand-symbol {
        width: 28px!important;
        height: 38px!important
    }
    .fm-brand-symbol img {
        width: 28px!important;
        height: 38px!important
    }
}
/* ========= LAYER: flat-margaret-signature.css ========= */
/* Flat Margaret / Signature identity 2026-10-08
   Final cohesive design layer. Existing content, templates, forms and SEO untouched.
   Approved palette: deep green #102b24, muted gold #a48759, cream #f4eee7. */
:root {
    --fm-deep: #102b24;
    --fm-navy: #102b24;
    --fm-gold-dark: #85673f;
    --fm-cream-2: #fcfaf6;
    --fm-sand: #eaded0;
    --fm-muted: #53635b;
    --fm-border: rgba(16,43,36,.15);
    --fm-shadow: 0 18px 42px rgba(18,37,29,.075);
    --fm-heading: 'Newsreader',Georgia,serif;
    --fm-body: 'Inter',Arial,sans-serif;
    --fm-label: 'Inter',Arial,sans-serif;
}
html {
    scroll-padding-top: 90px;
    scroll-behavior: smooth
}
body.fm-body {
    color: var(--fm-green)!important;
    font: 400 16px/1.75 var(--fm-body)!important
}
body.fm-body * {
    box-sizing: border-box
}
.fm-container {
    width: min(1312px,calc(100% - 96px))!important
}
.fm-body a {
    text-underline-offset: .18em
}
.fm-body a:focus-visible,.fm-body button:focus-visible,.fm-body input:focus-visible {
    outline: 3px solid #ba945a;
    outline-offset: 3px
}
/* Navigation: recognisable approved wordmark and an understated editorial rule */
.fm-navbar {
    border-bottom: 1px solid rgba(199,161,102,.33)!important;
    backdrop-filter: blur(14px)
}
.fm-brand-wordmark {
    height: auto!important
}
.fm-brand-sub {
    font: 500 8px/1.25 var(--fm-label)!important;
    letter-spacing: .37em!important;
    color: #d9c3a0!important
}
.fm-nav-menu ul {
    gap: clamp(13px,1.2vw,21px)!important
}
.fm-nav-menu a {
    font: 500 12px/1.4 var(--fm-body)!important;
    color: #f7f2e9!important
}
.fm-nav-menu a:hover,.fm-nav-menu a.is-current {
    color: #dfbd82!important
}
.fm-nav-cta,.fm-mobile-cta {
    background: #b49260!important;
    color: #102b24!important;
    border: 1px solid #b49260!important;
    min-height: 42px!important;
    font: 650 12px/1.3 var(--fm-body)!important;
    letter-spacing: .025em!important;
    padding: 12px 22px!important
}
.fm-nav-cta:hover,.fm-mobile-cta:hover {
    background: #d7b984!important;
    color: #102b24!important
}
.fm-lang-switch {
    border-color: rgba(209,174,117,.4)!important
}
.fm-lang-switch a {
    font-size: 10px!important;
    padding: 9px 10px!important
}
.fm-mobile-menu {
    background: #102b24!important
}
.fm-mobile-links>a:not(.fm-mobile-cta) {
    font-family: var(--fm-heading)!important;
    font-size: clamp(27px,5vw,35px)!important
}
/* Shared buttons and micro typography */
.fm-kicker,.fm-eyebrow {
    font: 650 10px/1.5 var(--fm-label)!important;
    letter-spacing: .21em!important;
    text-transform: uppercase!important;
    color: #97744a!important
}
.fm-kicker::before,.fm-eyebrow:not(.center)::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 27px;
    height: 1px;
    margin-right: 12px;
    background: currentColor;
    opacity: .8
}
.fm-kicker:empty::before,.fm-eyebrow:empty::before {
    display: none
}
.fm-eyebrow.center {
    text-align: center!important;
    margin: 0 auto 16px!important
}
.fm-btn {
    font: 600 12.5px/1.35 var(--fm-body)!important;
    border-radius: 2px!important;
    gap: 10px;
    transition: background .22s ease,color .22s ease,transform .22s ease!important
}
.fm-btn-primary,.fm-btn-gold {
    background: #b49361!important;
    color: #102b24!important;
    border: 1px solid #b49361!important;
    box-shadow: none!important
}
.fm-btn-primary:hover,.fm-btn-gold:hover {
    background: #ddbb87!important;
    border-color: #ddbb87!important
}
.fm-btn-dark {
    background: #102b24!important;
    color: #fff8ed!important;
    border-color: #102b24!important
}
.fm-btn-dark:hover {
    background: #234b3c!important;
    border-color: #234b3c!important
}
.fm-btn-light {
    color: #fff!important;
    border-color: rgba(247,238,225,.78)!important;
    background: rgba(7,25,19,.12)!important
}
.fm-btn-light:hover {
    background: rgba(255,255,255,.15)!important
}
/* Hero: full-width photograph, readable headline; no duplication of features inside image */
.fm-hero,.fm-subhero {
    background: #102b24!important;
    isolation: isolate;
    overflow: hidden!important;
    border-radius: 0!important
}
.fm-hero {
    display: flex!important;
    align-items: center!important
}
.fm-hero-media {
    filter: saturate(.9) contrast(1.02) brightness(.92)!important;
    background-position: center 50%!important;
    transform: none!important
}
.fm-hero-overlay {
    background: linear-gradient(0deg,rgba(9,26,20,.22),transparent 54%)!important;
    z-index: 1
}
.fm-hero-inner {
    display: flex!important;
    flex-direction: column;
    justify-content: center!important;
    padding: 22px 0 0!important
}
.fm-hero-copy {
    max-width: 740px!important;
    border: 0!important;
    padding: 0!important;
    position: relative
}
.fm-hero .fm-kicker,.fm-subhero .fm-kicker {
    color: #dfbd84!important;
    margin-bottom: 19px!important
}
.fm-hero h1,.fm-subhero h1 {
    font-family: var(--fm-heading)!important;
    font-weight: 500!important;
    letter-spacing: -.025em!important;
    line-height: 1.07!important;
    color: #fffaf2!important;
    text-wrap: balance
}
.fm-hero .fm-lead {
    font: 400 clamp(15px,1.1vw,17px)/1.85 var(--fm-body)!important;
    color: #f1ebe1!important;
    margin-top: 24px!important
}
.fm-hero-actions {
    display: flex;
    gap: 13px!important
}
/* Universal interior-page photo cover: consistent editorial framing */
.fm-subhero {
    display: flex;
    align-items: center!important
}
.fm-subhero:before {
    transform: none!important
}
.fm-subhero-inner {
    padding-top: 0!important;
    width: min(1312px,calc(100% - 96px))!important;
    max-width: none!important
}
.fm-subhero .fm-lead {
    font: 400 16px/1.8 var(--fm-body)!important;
    color: #f5eee4!important
}
.fm-breadcrumb {
    font: 500 12px/1.5 var(--fm-body)!important;
    letter-spacing: 0!important;
    margin-bottom: 23px!important
}
.fm-breadcrumb span:last-child {
    color: #dfbd83!important
}
.fm-guide-article-hero h1 {
    font-size: clamp(43px,4.25vw,64px)!important
}
/* Warm ivory, champagne and green, repeating in predictable section rhythm */
.fm-section-title,.fm-copy h2,.fm-location h2,.fm-booking h2,.fm-info-card h2,.fm-legal-card h2,.fm-guide-article h2 {
    font-family: var(--fm-heading)!important;
    font-weight: 500!important;
    letter-spacing: -.025em!important;
    line-height: 1.12!important;
    color: #102b24!important
}
.fm-copy p,.fm-location p,.fm-booking p,.fm-info-card p,.fm-guide-article p,.fm-legal-card p {
    font: 400 15.5px/1.82 var(--fm-body)!important;
    color: #4d5d54!important
}
.fm-guide-listing,.fm-related-guides,.fm-attraction-guide,.fm-ideal,.fm-location-details {
    background: #f4eee7!important
}
.fm-seo,.fm-amenities,.fm-guide-article-section,.fm-section-light {
    background: #fcfaf6!important
}
.fm-guide-source-note {
    background: #f6f0e6!important
}
.fm-guide-highlight,.fm-guide-sidebar-card {
    background: #f1e7d9!important
}
.fm-faq,.fm-legal {
    background: #f8f4ed!important
}
.fm-contact,.fm-page-booking .fm-contact,.fm-award-section {
    background: #f4eee7!important
}
.fm-section-links {
    background: #eee0cf!important
}
/* Signature feature row */
.fm-feature-band .fm-hero-features>div {
    grid-template-columns: 43px minmax(0,1fr);
    gap: 4px 12px!important
}
.fm-feature-band .fm-hero-features>div:last-child {
    border: 0!important
}
.fm-feature-band .fm-hero-feature-icon {
    color: #997748!important
}
.fm-feature-band .fm-hero-features strong {
    font: 600 14px/1.35 var(--fm-body)!important;
    color: #102b24!important
}
.fm-feature-band .fm-hero-features small {
    font: 400 12px/1.45 var(--fm-body)!important;
    color: #5e685f!important
}
/* Numbers row as a deep green interlude and property facts below it */
.fm-score-strip {
    background: #102b24!important;
    border: 0!important
}
.fm-score-grid {
    min-height: 123px;
    align-items: center!important;
    gap: 0!important
}
.fm-score-card {
    border-right: 1px solid rgba(234,210,170,.21)!important;
    border-bottom: 0!important;
    background: transparent!important;
    box-shadow: none!important;
    padding: 19px 12px!important
}
.fm-score-card:last-child {
    border-right: 0!important
}
.fm-score-card strong {
    font: 500 clamp(36px,3vw,50px)/1.1 var(--fm-heading)!important;
    color: #e0c08e!important;
    letter-spacing: -.015em!important
}
.fm-score-card span {
    font: 500 11.5px/1.5 var(--fm-body)!important;
    color: #f3e9da!important
}
.fm-benefits {
    background: #faf6f0!important;
    border-bottom: 1px solid #e2d5c4!important
}
.fm-benefit-grid {
    gap: 0!important
}
.fm-benefit-grid article {
    background: transparent!important;
    border: 0!important;
    border-right: 1px solid #e3d6c2!important;
    box-shadow: none!important;
    padding-block: 24px!important
}
.fm-benefit-grid article:last-child {
    border-right: 0!important
}
.fm-benefit-grid h2 {
    font: 600 13.5px/1.4 var(--fm-body)!important;
    color: #102b24!important
}
.fm-benefit-grid p {
    font: 400 11.5px/1.5 var(--fm-body)!important;
    color: #657067!important
}
.fm-mini-icon {
    color: #a48759!important;
    border-color: rgba(164,135,89,.35)!important
}
/* Four photo-led destination tiles – coherent editorial grid (same for HU / EN). */
.fm-page-card,.fm-page-card:first-child,.fm-page-card:last-child {
    transition: transform .25s,box-shadow .25s!important
}
.fm-page-card>img,.fm-page-card:first-child>img,.fm-page-card:last-child>img {
    display: block
}
.fm-page-card>div {
    align-items: flex-start!important
}
.fm-page-card span,.fm-guide-card-copy>span,.fm-related-guide span,.fm-guide-link-grid span {
    font: 650 10px/1.5 var(--fm-body)!important;
    letter-spacing: .14em!important;
    color: #97744a!important;
    text-transform: uppercase
}
.fm-page-card h3,.fm-guide-card h2,.fm-related-guide h3,.fm-guide-link-grid h3 {
    font: 500 clamp(29px,2.35vw,39px)/1.14 var(--fm-heading)!important;
    letter-spacing: -.025em!important;
    color: #102b24!important;
    margin-top: 10px!important
}
.fm-page-card p {
    font: 400 14.5px/1.75 var(--fm-body)!important;
    color: #546158!important;
    margin-top: 10px!important
}
.fm-page-card strong,.fm-guide-card strong {
    font: 650 12px/1.55 var(--fm-body)!important;
    color: #85663e!important;
    margin-top: auto!important;
    padding-top: 19px!important
}
/* Distinctive Budapest guide photo split */
.fm-guide-promo-image {
    overflow: hidden;
    border-radius: 2px!important
}
.fm-guide-promo-image img {
    filter: saturate(.9)
}
.fm-guide-promo .fm-copy h2 {
    margin-block: 16px 20px!important
}
.fm-guide-promo .fm-copy a:not(.fm-btn) {
    color: #846337;
    text-decoration-color: #bba074
}
.fm-guide-promo .fm-btn {
    margin-top: 15px!important
}
/* Photo wall – clean equal crops, keep original click-to-expand gallery JS */
.fm-gallery-grid-all,.fm-gallery-preview {
    display: grid!important
}
.fm-gallery-item {
    background: #d3c6b5!important;
    overflow: hidden!important;
    box-shadow: none!important
}
.fm-gallery-item img,.fm-gallery-grid img {
    width: 100%!important;
    height: 100%!important;
    object-fit: cover!important;
    filter: saturate(.94)!important;
    transition: transform .4s,filter .4s!important
}
.fm-gallery-item:hover img {
    transform: scale(1.05)!important;
    filter: saturate(1.04)!important
}
.fm-gallery .fm-note {
    font: 400 13px/1.65 var(--fm-body)!important;
    color: #5e655c!important
}
/* Harmonised cards on apartment, location, attractions, blog, reviews and FAQ */
.fm-info-card,.fm-seo-grid article,.fm-ideal-grid article,.fm-rule-card,.fm-guide-link-grid a,.fm-guide-card,.fm-related-guide,.fm-review-card,.fm-guide-sidebar-card,.fm-faq-item,.fm-contact-form,.fm-review-summary,.fm-host-card {
    background: #fffcf8!important;
    border: 1px solid #e2d8cb!important;
    border-top: 2px solid rgba(164,135,89,.64)!important;
    box-shadow: 0 12px 36px rgba(16,43,36,.055)!important;
    border-radius: 2px!important
}
.fm-guide-card-copy {
    padding: clamp(24px,2.8vw,38px)!important
}
.fm-guide-card p,.fm-related-guide p,.fm-guide-link-grid p,.fm-info-card p,.fm-review-card p {
    font: 400 14px/1.8 var(--fm-body)!important;
    color: #546158!important
}
.fm-info-grid,.fm-seo-grid,.fm-ideal-grid,.fm-rules-grid {
    gap: 20px!important
}
.fm-guide-card-grid {
    gap: 20px!important
}
.fm-guide-article {
    max-width: 770px!important
}
.fm-guide-article>p,.fm-guide-article li {
    font: 400 16px/1.9 var(--fm-body)!important;
    color: #374a3e!important
}
.fm-guide-article h2 {
    font: 500 clamp(30px,3vw,42px)/1.18 var(--fm-heading)!important;
    margin-top: 50px!important
}
.fm-guide-article h3 {
    font: 600 19px/1.35 var(--fm-body)!important
}
.fm-guide-sidebar-card {
    background: #f4eee7!important
}
.fm-guide-source-note {
    border-color: #dcccaf!important;
    color: #355246!important
}
.fm-location .fm-map-card,.fm-image-card,.fm-award-grid figure {
    border: 1px solid #e0d1bc!important;
    box-shadow: 0 16px 38px rgba(16,43,36,.065)!important
}
/* Booking: cream on green; same treatment wherever the CTA occurs */
.fm-booking {
    position: relative;
    background: #102b24!important;
    border-top: 1px solid rgba(186,149,88,.5)!important;
    border-bottom: 0!important;
    padding: 68px 0!important;
    overflow: hidden
}
.fm-booking::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 88% 30%,rgba(164,135,89,.16),transparent 45%);
    pointer-events: none
}
.fm-booking .fm-booking-inner {
    position: relative;
    z-index: 1;
    gap: 30px!important
}
.fm-booking .fm-btn-gold {
    border-color: #b49361!important
}
.fm-contact-form {
    background: #fffdfa!important
}
.fm-contact-form label {
    color: #102b24!important;
    font-weight: 600!important
}
.fm-contact-form input,.fm-contact-form select,.fm-contact-form textarea {
    background: #fffcf8!important;
    border: 1px solid #cec7b9!important;
    color: #102b24!important;
    min-height: 46px!important;
    border-radius: 2px!important
}
.fm-contact-form input:focus,.fm-contact-form select:focus,.fm-contact-form textarea:focus {
    border-color: #a48759!important;
    box-shadow: 0 0 0 3px rgba(164,135,89,.14)!important
}
.fm-faq-item {
    border-top: 1px solid #e1d5c4!important
}
.fm-faq button {
    color: #102b24!important
}
/* Strong, measured branded footer; no arbitrary blobs or off-brand sage */
.fm-footer-shell {
    width: min(1370px,calc(100% - 96px))!important;
    padding: 82px 0 29px!important
}
.fm-footer-top {
    display: grid!important;
    grid-template-columns: minmax(260px,1.45fr) minmax(150px,.78fr) minmax(190px,1fr) minmax(200px,1fr)!important
}
.fm-footer-logo {
    gap: 17px!important;
    margin-bottom: 25px!important
}
.fm-footer-monogram {
    width: 72px!important;
    height: 80px!important;
    border: none!important;
    border-radius: 0!important;
    object-fit: contain!important
}
.fm-footer-identity img {
    width: min(222px,100%)!important
}
.fm-footer-identity small {
    font: 500 8.5px/1.5 var(--fm-body)!important;
    letter-spacing: .18em!important;
    color: #d6be97!important
}
.fm-footer-v31 h3 {
    font: 650 10px/1.6 var(--fm-body)!important;
    margin: 3px 0 23px!important
}
.fm-footer-v31 p {
    font: 400 13px/1.9 var(--fm-body)!important;
    color: #eee7da!important;
    opacity: .87
}
.fm-footer-v31 a:not(.fm-footer-logo) {
    font: 500 12px/1.6 var(--fm-body)!important;
    color: #ede4d5!important
}
.fm-footer-v31 a:not(.fm-footer-logo):hover {
    color: #e6be7d!important
}
.fm-footer-link-grid {
    grid-template-columns: 1fr!important;
    gap: 10px!important
}
.fm-footer-cta {
    display: inline-flex!important;
    align-items: center;
    justify-content: center;
    border: 1px solid #a48759!important;
    padding: 12px 24px!important;
    background: transparent!important;
    color: #e7c999!important;
    margin-top: 18px!important
}
.fm-footer-cta:hover {
    background: #a48759!important;
    color: #102b24!important
}
.fm-footer-bottom {
    padding-top: 24px!important;
    border-top: 1px solid rgba(217,182,127,.3)!important;
    color: #cabfae!important;
    font-size: 11px!important
}
.fm-footer-badges span {
    border-color: rgba(196,162,110,.25)!important
}
.fm-to-top {
    background: #a48759!important;
    color: #102b24!important;
    border: 1px solid #c7a46a!important
}
/* Tablets */
@media(max-width:1250px) {
    .fm-nav-menu {
        display: none!important
    }
    .fm-nav-toggle {
        display: flex!important
    }
    .fm-navbar {
        height: 76px!important
    }
    .fm-nav-container {
        width: calc(100% - 56px)!important
    }
    .fm-footer-top {
        grid-template-columns: repeat(2,minmax(0,1fr))!important;
        gap: 40px!important
    }
    .fm-feature-band .fm-hero-features strong {
        font-size: 13px!important
    }
}
@media(max-width:860px) {
    .fm-container,.fm-subhero-inner {
        width: calc(100% - 56px)!important
    }
    .fm-hero {
        min-height: 630px!important;
        padding: 115px 0 70px!important
    }
    .fm-hero-inner {
        padding-top: 0!important
    }
    .fm-hero h1 {
        font-size: clamp(44px,7.3vw,65px)!important
    }
    .fm-subhero {
        min-height: 480px!important;
        padding: 112px 0 59px!important
    }
    .fm-subhero h1 {
        font-size: clamp(42px,6.3vw,59px)!important
    }
    .fm-feature-band .fm-hero-features {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }
    .fm-feature-band .fm-hero-features>div {
        border-bottom: 1px solid rgba(164,135,89,.22)!important;
        padding: 19px 14px!important
    }
    .fm-feature-band .fm-hero-features>div:nth-child(even) {
        border-right: 0!important
    }
    .fm-feature-band .fm-hero-features>div:nth-last-child(-n+2) {
        border-bottom: 0!important
    }
    .fm-feature-band .fm-hero-features>div:nth-child(odd) {
        padding-left: 0!important
    }
    .fm-guide-promo-grid {
        gap: 45px!important;
        grid-template-columns: 1fr!important
    }
    .fm-guide-promo-image,.fm-guide-promo-image img {
        min-height: 390px!important
    }
    .fm-page-card-grid {
        gap: 15px!important
    }
    .fm-page-card,.fm-page-card:first-child,.fm-page-card:last-child {
        grid-template-rows: 230px 1fr!important
    }
    .fm-footer-shell {
        width: calc(100% - 56px)!important
    }
}
@media(max-width:620px) {
    html {
        scroll-padding-top: 70px
    }
    .fm-nav-container {
        gap: 7px!important
    }
    .fm-brand-type {
        gap: 3px!important
    }
    .fm-brand-sub {
        font-size: 6.5px!important;
        letter-spacing: .23em!important
    }
    .fm-nav-actions {
        gap: 5px!important
    }
    .fm-nav-toggle {
        min-width: 38px!important;
        min-height: 38px!important;
        padding: 7px!important
    }
    .fm-nav-toggle span {
        width: 20px!important
    }
    .fm-lang-switch-compact a {
        font-size: 9px!important;
        padding: 7px 5px!important
    }
    .fm-hero-media {
        transform: none!important
    }
    .fm-hero-copy {
        padding: 0!important;
        border: 0!important;
        max-width: 100%!important
    }
    .fm-hero .fm-lead {
        line-height: 1.69!important;
        margin-top: 17px!important
    }
    .fm-hero-actions {
        gap: 9px!important;
        margin-top: 20px!important;
        flex-wrap: wrap
    }
    .fm-hero-actions .fm-btn {
        font-size: 12px!important;
        min-height: 43px!important;
        padding: 11px 15px!important;
        width: auto!important
    }
    .fm-subhero h1 {
        line-height: 1.07!important
    }
    .fm-subhero .fm-lead {
        font-size: 13.5px!important;
        line-height: 1.7!important
    }
    .fm-breadcrumb {
        font-size: 11px!important;
        margin-bottom: 18px!important;
        flex-wrap: wrap
    }
    .fm-kicker,.fm-eyebrow {
        font-size: 9px!important
    }
    .fm-feature-band-inner {
        padding-block: 8px!important
    }
    .fm-feature-band .fm-hero-features>div,.fm-feature-band .fm-hero-features>div:nth-child(odd) {
        border-right: 0!important
    }
    .fm-feature-band .fm-hero-features>div:last-child {
        border-bottom: 0!important
    }
    .fm-score-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))!important;
        min-height: 0!important;
        padding-block: 13px!important
    }
    .fm-score-card {
        border-right: 0!important;
        border-bottom: 1px solid rgba(234,210,170,.18)!important;
        padding: 14px 8px!important
    }
    .fm-score-card:nth-child(odd) {
        border-right: 1px solid rgba(234,210,170,.18)!important
    }
    .fm-score-card:nth-last-child(-n+1) {
        border-bottom: 0!important
    }
    .fm-score-card strong {
        font-size: 37px!important
    }
    .fm-benefit-grid {
        grid-template-columns: 1fr 1fr!important
    }
    .fm-benefit-grid article {
        padding: 17px 9px!important;
        border-right: 0!important;
        border-bottom: 1px solid #e3d6c2!important;
        min-width: 0
    }
    .fm-benefit-grid h2 {
        font-size: 12px!important
    }
    .fm-benefit-grid p {
        font-size: 11px!important
    }
    .fm-copy h2,.fm-location h2,.fm-booking h2 {
        font-size: clamp(36px,8.7vw,47px)!important
    }
    .fm-copy p,.fm-location p,.fm-booking p {
        font-size: 14px!important
    }
    .fm-page-card>img,.fm-page-card:first-child>img,.fm-page-card:last-child>img {
        width: 100%!important;
        min-height: 0!important
    }
    .fm-page-card h3,.fm-guide-card h2,.fm-related-guide h3,.fm-guide-link-grid h3 {
        font-size: 31px!important
    }
    .fm-guide-promo-grid {
        gap: 35px!important
    }
    .fm-guide-promo-image {
        box-shadow: 12px 12px 0 #f4eee7!important
    }
    .fm-booking {
        padding: 55px 0!important
    }
    .fm-booking h2 {
        color: #fffaf1!important
    }
    .fm-booking p {
        font-size: 13.5px!important
    }
    .fm-guide-article>p,.fm-guide-article li {
        font-size: 15px!important
    }
    .fm-footer-shell {
        width: calc(100% - 40px)!important;
        padding: 60px 0 25px!important
    }
    .fm-footer-top {
        grid-template-columns: 1fr!important;
        gap: 34px!important
    }
    .fm-footer-logo {
        gap: 13px!important
    }
    .fm-footer-monogram {
        width: 62px!important;
        height: 68px!important
    }
    .fm-footer-identity img {
        max-width: 205px!important
    }
    .fm-footer-bottom {
        margin-top: 34px!important
    }
    .fm-footer-link-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))!important;
        gap: 12px!important
    }
}
@media(max-width:365px) {
    .fm-brand-wordmark {
        width: 118px!important
    }
    .fm-brand-symbol {
        width: 28px!important
    }
    .fm-brand-symbol img {
        width: 28px!important
    }
    .fm-hero {
        min-height: 745px!important
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }
    .fm-page-card,.fm-gallery-item img {
        transition: none!important
    }
}
/* Keep the final odd-numbered rating centred on narrow screens. */
@media(max-width:620px) {
    .fm-score-card:last-child {
        grid-column: 1 / -1!important;
        border-right: 0!important;
        border-bottom: 0!important
    }
}
/* Final consistency sweep across the remaining interior templates. */
.fm-apartment,.fm-location,.fm-guide-intro,.fm-rules,.fm-reviews,.fm-location-photo-story,.fm-guide-link-section {
    background: #fcfaf6!important
}
.fm-seo-stay,.fm-stay-bridge,.fm-attractions,.fm-host {
    background: #f4eee7!important
}
.fm-guide-link-section {
    background: #f4eee7!important
}
.fm-stay-bridge-grid h2,.fm-guide-intro h2,.fm-host h2 {
    font-family: var(--fm-heading)!important;
    color: #102b24!important;
    font-weight: 500!important;
    letter-spacing: -.025em!important
}
.fm-stay-bridge-grid>img {
    border-radius: 2px!important;
    box-shadow: 0 15px 40px rgba(16,43,36,.075)!important
}
.fm-stay-bridge-grid a:not(.fm-btn) {
    color: #80613b!important
}
.fm-rules-grid .fm-rule-card {
    background: #fffcf8!important
}
.fm-location-photo-story .fm-copy {
    max-width: 650px
}
.fm-attractions .fm-card-grid article {
    background: #fffcf8!important;
    border: 1px solid #e2d8cb!important;
    box-shadow: 0 12px 36px rgba(16,43,36,.04)!important
}
.fm-attractions .fm-card-grid h3 {
    font-family: var(--fm-heading)!important;
    font-size: clamp(20px,2vw,28px)!important;
    font-weight: 500!important;
    color: #102b24!important
}
@media(max-width:620px) {
    /* Old base CSS hid both overlays on mobile. Reinstate the legible dark gradient. */
    .fm-hero::before,.fm-hero-overlay {
        display: block!important
    }
    .fm-hero-overlay {
        position: absolute!important;
        inset: auto 0 0!important;
        height: 60%!important
    }
}
/* Flat Margaret – Editorial Signature v3
   Harmonised layout and spacing, October 2026.
   Brand colors: forest #102b24, antique gold #a48759, warm limestone #f4eee7.
   This replaces (rather than stacks on) the previous editorial-experiment rules. */
:root {
    --fm-green: #102b24;
    --fm-ink: #102b24;
    --fm-gold: #a48759;
    --fm-cream: #f4eee7;
    --fm-ivory: #fdfbf8;
    --fm-rule: rgba(164,135,89,.26);
}
body.fm-body {
    background: var(--fm-ivory)!important
}
.fm-container,.fm-subhero-inner {
    width: min(1320px,calc(100% - 112px))!important
}
.fm-body p {
    line-height: 1.75
}
.fm-section {
    padding: clamp(78px,6.7vw,112px) 0!important
}
.fm-eyebrow.center {
    margin-bottom: 17px!important
}
.fm-section-title {
    font-size: clamp(39px,3.55vw,58px)!important;
    font-weight: 500!important;
    max-width: 925px!important;
    line-height: 1.13!important;
    margin: 0 auto 40px!important;
    letter-spacing: -.025em!important;
    text-wrap: balance
}
.fm-copy h2,.fm-location h2,.fm-booking h2 {
    font-size: clamp(40px,3.65vw,58px)!important;
    font-weight: 500!important;
    line-height: 1.13!important
}
.fm-copy p,.fm-location p,.fm-booking p {
    font-size: 15px!important;
    line-height: 1.85!important
}
/* Both kinds of hero: breathable headlines, consistent left alignment and genuinely useful photos. */
.fm-hero {
    min-height: clamp(680px,83svh,860px)!important;
    padding: 130px 0 92px!important
}
.fm-hero::before {
    background: linear-gradient(90deg,rgba(7,32,25,.95) 0%,rgba(9,34,27,.81) 28%,rgba(11,35,29,.44) 57%,rgba(11,35,29,.03) 96%)!important
}
.fm-hero .fm-hero-copy {
    max-width: 775px!important
}
.fm-hero h1 {
    max-width: 745px!important;
    font-size: clamp(55px,4.65vw,74px)!important;
    line-height: 1.10!important;
    letter-spacing: -.03em!important;
    font-weight: 500!important
}
.fm-hero .fm-lead {
    max-width: 600px!important;
    font-size: 15.5px!important;
    line-height: 1.82!important
}
.fm-hero-actions {
    margin-top: 28px!important
}
.fm-subhero {
    min-height: clamp(510px,62svh,630px)!important;
    padding: 125px 0 73px!important
}
.fm-subhero h1 {
    font-weight: 500!important
}
/* A single, quiet amenity bar instead of repeated stripes. */
.fm-feature-band {
    border-top: 0!important
}
.fm-feature-band .fm-hero-features {
    grid-template-columns: repeat(4,minmax(0,1fr))!important;
    gap: 0!important
}
.fm-feature-band .fm-hero-features>div {
    border-right: 1px solid var(--fm-rule)!important;
    border-bottom: 0!important
}
.fm-feature-band .fm-hero-features>div:first-child {
    padding-left: 0!important
}
.fm-feature-band .fm-hero-features>div:last-child {
    border-right: 0!important;
    padding-right: 0!important
}
.fm-feature-band .fm-hero-feature-icon {
    background: rgba(164,135,89,.07)!important
}
/* Predictable light / beige / light / beige rhythm, dark green reserved for the final invitation. */
.fm-home-overview,.fm-guide-listing,.fm-ideal,.fm-location-details,.fm-related-guides,.fm-award-section,.fm-contact {
    background: var(--fm-ivory)!important
}
.fm-guide-promo,.fm-gallery,.fm-guide-intro,.fm-location-photo-story,.fm-guide-article-section,.fm-faq,.fm-legal,.fm-reviews,.fm-amenities {
    background: var(--fm-cream)!important
}
.fm-apartment,.fm-location,.fm-seo,.fm-guide-link-section,.fm-rules {
    background: var(--fm-ivory)!important
}
/* The first section behaves like an editorial opening rather than another stack of cards. */
.fm-home-overview {
    padding-top: 100px!important;
    padding-bottom: 105px!important
}
.fm-overview-header {
    display: grid;
    grid-template-columns: minmax(0,1.12fr) minmax(320px,.9fr);
    align-items: center
}
.fm-overview-heading {
    min-width: 0
}
.fm-overview-heading .fm-eyebrow {
    text-align: left!important;
    margin: 0 0 21px!important
}
.fm-overview-heading .fm-section-title {
    text-align: left!important;
    margin: 0!important
}
.fm-overview-heading::after {
    content: "";
    display: block;
    background: var(--fm-gold);
    height: 1px;
    width: 77px;
    margin-top: 30px
}
.fm-overview-meta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    margin: 0;
    box-shadow: none
}
.fm-overview-rating {
    display: flex;
    gap: 17px;
    align-items: center
}
.fm-overview-rating>strong {
    font: 500 53px/1 var(--fm-heading);
    letter-spacing: -.04em
}
.fm-overview-rating span {
    display: flex;
    flex-direction: column;
    gap: 5px
}
.fm-overview-rating b,.fm-overview-address-label {
    font: 650 12px/1.45 var(--fm-body);
    color: var(--fm-green)
}
.fm-overview-rating small,.fm-overview-address span:last-child {
    font: 400 12px/1.65 var(--fm-body);
    color: #526057
}
.fm-overview-address {
    border: 0;
    border-top: 1px solid var(--fm-rule);
    padding: 15px 0 0!important;
    display: flex;
    flex-direction: column;
    gap: 6px
}
.fm-overview-scores {
    align-self: start;
    position: relative
}
.fm-overview-scores summary {
    font: 600 12px/1.5 var(--fm-body);
    text-decoration: underline;
    text-underline-offset: 5px;
    cursor: pointer;
    list-style: none
}
.fm-overview-scores summary::-webkit-details-marker {
    display: none
}
.fm-overview-score-list {
    position: absolute;
    top: 30px;
    left: 0;
    right: auto;
    z-index: 20;
    width: 270px;
    background: var(--fm-ivory);
    border: 1px solid var(--fm-rule);
    box-shadow: 0 15px 35px rgba(16,43,36,.15);
    padding: 18px 21px;
    display: grid;
    gap: 9px
}
.fm-overview-score-list>span {
    display: flex;
    align-items: center;
    gap: 11px;
    font: 400 12px/1.5 var(--fm-body)
}
.fm-overview-score-list b {
    font: 500 25px/1 var(--fm-heading);
    min-width: 40px;
    color: var(--fm-green)
}
/* Intentional hierarchy: a full-width apartment feature, two half-width experiences, then a portrait story. */
.fm-page-card-grid {
    display: grid!important
}
.fm-page-card,.fm-page-card:first-child,.fm-page-card:last-child {
    min-width: 0!important;
    min-height: 0!important;
    overflow: hidden!important
}
.fm-page-card:last-child {
    grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr)!important;
    grid-template-rows: minmax(285px,auto)!important
}
.fm-page-card>img,.fm-page-card:first-child>img,.fm-page-card:last-child>img {
    width: 100%!important;
    max-height: none!important;
    object-position: center 48%!important
}
.fm-page-card>div {
    display: flex!important;
    flex-direction: column!important;
    justify-content: center!important
}
.fm-page-card:first-child>div {
    padding: clamp(42px,5vw,75px)!important
}
.fm-page-card:last-child>div {
    padding: clamp(33px,3.5vw,55px)!important
}
.fm-page-card h3,.fm-page-card:first-child h3 {
    font-size: clamp(29px,2.65vw,43px)!important;
    font-weight: 500!important;
    line-height: 1.16!important;
    max-width: 575px!important;
    margin-top: 9px!important
}
.fm-page-card:first-child h3 {
    font-size: clamp(40px,3.6vw,57px)!important
}
.fm-page-card p,.fm-page-card:first-child p {
    font: 400 14px/1.8 var(--fm-body)!important;
    color: #536259!important;
    margin: 13px 0 0!important;
    max-width: 470px
}
.fm-page-card>div strong {
    margin-top: 23px!important;
    padding-top: 0!important;
    font: 600 12px/1.4 var(--fm-body)!important;
    color: #866440!important
}
/* Budapest – larger photograph and an appropriately sized text column. */
.fm-guide-promo-grid {
    display: grid!important;
    align-items: center!important
}
.fm-guide-promo-image,.fm-guide-promo-image img {
    min-height: 445px!important
}
.fm-guide-promo-image img {
    object-fit: cover!important
}
.fm-guide-promo .fm-copy {
    max-width: 540px!important
}
/* Photo selection – stop shrinking ten useful images to postage-stamp thumbnails. */
.fm-gallery-grid-all,.fm-gallery-preview {
    grid-template-columns: repeat(5,minmax(0,1fr))!important
}
.fm-gallery-item {
    border-radius: 0!important
}
.fm-gallery .fm-section-title {
    margin-bottom: 37px!important
}
.fm-gallery .fm-note {
    margin-top: 20px!important
}
.fm-gallery-action {
    margin-top: 20px!important
}
/* Shared UI: visually quiet but comfortably legible cards and navigation. */
.fm-info-card,.fm-seo-grid article,.fm-ideal-grid article,.fm-rule-card,.fm-guide-link-grid a,.fm-guide-card,.fm-related-guide,.fm-review-card,.fm-guide-sidebar-card {
    border-color: var(--fm-rule)!important;
    box-shadow: 0 8px 22px rgba(16,43,36,.03)!important
}
.fm-body .fm-info-card h2,.fm-body .fm-guide-link-grid h3 {
    line-height: 1.2!important
}
.fm-btn {
    min-height: 45px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    padding: 12px 22px!important;
    letter-spacing: .005em!important
}
/* Last invitation flows into the footer instead of forming another big band. */
.fm-booking-inner {
    display: grid!important
}
.fm-booking p {
    margin: 0!important
}
.fm-footer-v31 {
    border-top: 1px solid rgba(164,135,89,.35)!important
}
.fm-footer-shell {
    padding-bottom: 23px!important
}
.fm-footer-top {
    gap: clamp(30px,3vw,54px)!important
}
@media (max-width:1100px) {
    .fm-container,.fm-subhero-inner {
        width: calc(100% - 72px)!important
    }
    .fm-overview-header {
        grid-template-columns: 1fr 1fr;
        gap: 32px
    }
    .fm-gallery-grid-all,.fm-gallery-preview {
        grid-template-columns: repeat(5,minmax(0,1fr))!important
    }
}
@media (max-width:800px) {
    .fm-container,.fm-subhero-inner {
        width: calc(100% - 48px)!important
    }
    .fm-hero {
        min-height: 680px!important
    }
    .fm-subhero {
        min-height: 520px!important
    }
    .fm-overview-header {
        grid-template-columns: 1fr!important;
        gap: 26px;
        margin-bottom: 30px
    }
    .fm-overview-heading .fm-section-title {
        max-width: 650px!important
    }
    .fm-overview-meta {
        border-left: 0;
        border-top: 1px solid var(--fm-rule);
        padding: 23px 0 0!important;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 17px
    }
    .fm-overview-scores {
        grid-column: 1/-1
    }
    .fm-feature-band .fm-hero-features {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }
    .fm-feature-band .fm-hero-features>div:nth-child(even) {
        border-right: 0!important
    }
    .fm-feature-band .fm-hero-features>div:nth-child(-n+2) {
        border-bottom: 1px solid var(--fm-rule)!important
    }
    .fm-page-card:first-child {
        grid-template-columns: 1fr 1fr!important;
        grid-template-rows: minmax(345px,auto)!important
    }
    .fm-page-card:last-child {
        grid-template-columns: .78fr 1.22fr!important
    }
    .fm-page-card>div {
        padding: 24px!important
    }
    .fm-page-card h3 {
        font-size: 32px!important
    }
    .fm-page-card:first-child h3 {
        font-size: 38px!important
    }
    .fm-guide-promo-grid {
        grid-template-columns: 1fr!important;
        gap: 42px!important
    }
    .fm-guide-promo-image,.fm-guide-promo-image img {
        min-height: 385px!important
    }
    .fm-gallery-grid-all,.fm-gallery-preview {
        grid-template-columns: repeat(4,minmax(0,1fr))!important
    }
}
@media (max-width:620px) {
    .fm-container,.fm-subhero-inner {
        width: calc(100% - 38px)!important
    }
    .fm-section {
        padding: 65px 0!important
    }
    .fm-section-title {
        font-size: clamp(35px,9vw,44px)!important;
        line-height: 1.15!important;
        margin-bottom: 28px!important
    }
    .fm-hero {
        min-height: 710px!important;
        padding: 96px 0 49px!important;
        align-items: flex-end!important
    }
    .fm-hero h1 {
        font-size: clamp(40px,10vw,53px)!important;
        line-height: 1.08!important
    }
    .fm-hero .fm-lead {
        font-size: 13.5px!important
    }
    .fm-hero-media {
        background-image: url('/images/flat-margaret-hero-mobile-bedroom.webp')!important;
        background-position: center 22%!important;
        opacity: 1!important
    }
    .fm-hero::before {
        display: block!important;
        position: absolute!important;
        inset: 0!important;
        z-index: 1!important;
        background: linear-gradient(0deg,rgba(7,31,24,.96) 0%,rgba(8,30,24,.81) 38%,rgba(8,29,24,.12) 81%)!important
    }
    .fm-hero-overlay {
        display: block!important;
        z-index: 1!important;
        background: linear-gradient(0deg,rgba(8,30,24,.14),transparent)!important
    }
    .fm-subhero {
        min-height: 505px!important;
        padding: 105px 0 50px!important
    }
    .fm-subhero h1 {
        font-size: clamp(37px,9.2vw,48px)!important
    }
    .fm-feature-band-inner {
        padding: 8px 0!important
    }
    .fm-feature-band .fm-hero-features>div,.fm-feature-band .fm-hero-features>div:nth-child(odd) {
        display: flex!important;
        flex-direction: column;
        align-items: flex-start!important;
        border-bottom: 1px solid var(--fm-rule)!important
    }
    .fm-feature-band .fm-hero-features>div:nth-child(odd) {
        padding-left: 0!important
    }
    .fm-feature-band .fm-hero-features>div:nth-child(even) {
        border-right: 0!important;
        padding-right: 0!important
    }
    .fm-feature-band .fm-hero-features>div:nth-last-child(-n+2) {
        border-bottom: 0!important
    }
    .fm-overview-header {
        margin-bottom: 25px
    }
    .fm-overview-heading::after {
        margin-top: 20px
    }
    .fm-overview-meta {
        grid-template-columns: 1fr!important;
        padding-top: 20px!important;
        gap: 13px
    }
    .fm-overview-address {
        padding-top: 12px!important
    }
    .fm-overview-rating>strong {
        font-size: 44px
    }
    .fm-overview-score-list {
        left: 0;
        max-width: calc(100vw - 62px)
    }
    .fm-page-card-grid {
        grid-template-columns: 1fr!important;
        gap: 13px!important
    }
    .fm-page-card,.fm-page-card:first-child,.fm-page-card:last-child {
        grid-column: auto!important;
        grid-template-columns: 1fr!important;
        grid-template-rows: 230px auto!important;
        min-height: 0!important
    }
    .fm-page-card>img,.fm-page-card:first-child>img,.fm-page-card:last-child>img {
        height: 230px!important
    }
    .fm-page-card>div,.fm-page-card:first-child>div,.fm-page-card:last-child>div {
        padding: 25px!important
    }
    .fm-page-card h3,.fm-page-card:first-child h3 {
        font-size: clamp(29px,8vw,37px)!important
    }
    .fm-page-card p,.fm-page-card:first-child p {
        font-size: 13px!important
    }
    .fm-guide-promo-image,.fm-guide-promo-image img {
        min-height: 275px!important
    }
    .fm-gallery-grid-all,.fm-gallery-preview {
        grid-template-columns: repeat(2,minmax(0,1fr))!important;
        gap: 6px!important
    }
    .fm-gallery-item {
        aspect-ratio: 1.18!important
    }
    .fm-booking-inner {
        display: flex!important;
        flex-direction: column!important;
        align-items: flex-start!important;
        gap: 19px!important
    }
}
/* ========= LAYER: flat-margaret-art-direction.css ========= */
/* Flat Margaret — Signature v4 ART DIRECTION
   Actual source imagery, accessible contrast, semantic HTML unchanged.
   Warm ivory #fcfaf6 · cream #f4eee7 · emerald #102b24 · antique gold #a48759.
   Loaded AFTER Signature v3: one explicit art-direction sheet, easy to remove/rollback. */
:root {
    --fm-v4-forest: #102b24;
    --fm-v4-dark: #09241d;
    --fm-v4-gold: #a48759;
    --fm-v4-cream: #f4eee7;
    --fm-v4-ivory: #fcfaf6;
    --fm-v4-muted: #4c5d54;
}
/* 1. Typography: readable, editorial but never squeezed. */
.fm-body {
    font-family: 'Inter',Arial,sans-serif!important;
    color: var(--fm-v4-forest)!important
}
.fm-body .fm-section-title,.fm-body .fm-copy h2,.fm-body .fm-booking h2,.fm-body .fm-subhero h1,.fm-body .fm-hero h1 {
    font-family: 'Newsreader',Georgia,serif!important;
    font-weight: 500!important;
    letter-spacing: -.026em!important;
    font-optical-sizing: auto;
    text-wrap: balance
}
.fm-body p {
    hyphens: none;
    overflow-wrap: break-word
}
.fm-body .fm-eyebrow {
    letter-spacing: .17em!important;
    font-size: 10px!important;
    font-weight: 650!important
}
.fm-body .fm-container {
    width: min(1280px,calc(100% - 104px))!important
}
/* 2. Header: measured proportions and real transparent brand artwork. */
.fm-navbar {
    height: 82px!important;
    background: rgba(9,39,30,.98)!important;
    box-shadow: 0 7px 27px rgba(0,0,0,.12)!important
}
.fm-nav-container {
    width: min(1380px,calc(100% - 104px))!important
}
.fm-brand-symbol {
    border: 0!important;
    border-radius: 0!important;
    background: none!important;
    width: 38px!important;
    height: 53px!important;
    overflow: visible!important
}
.fm-brand-symbol img {
    width: 38px!important;
    height: 53px!important;
    object-fit: contain!important;
    border-radius: 0!important
}
.fm-brand-wordmark {
    width: 205px!important
}
.fm-brand-type {
    gap: 3px!important
}
.fm-nav-menu li a {
    padding: 31px 0!important
}
.fm-nav-menu li a::after {
    bottom: 21px!important
}
.fm-nav-menu a {
    font-size: 12px!important
}
/* 3. Immersive photo heroes. The photo is genuinely Flat Margaret, not AI interior. */
.fm-page-home .fm-hero {
    min-height: clamp(660px,80svh,800px)!important;
    padding: 135px 0 76px!important;
    align-items: center!important;
    background: #102b24!important
}
.fm-page-home .fm-hero-media {
    background-image: url('/images/flat-margaret-living-room-tv-wide.webp?v=signature-v4')!important;
    background-position: 59% 51%!important;
    background-repeat: no-repeat!important;
    background-size: cover!important;
    filter: saturate(.94) contrast(1.02) brightness(1.06)!important;
    transform: none!important
}
.fm-page-home .fm-hero::before {
    display: block!important;
    z-index: 1!important
}
.fm-page-home .fm-hero-overlay {
    display: block!important;
    height: auto!important;
    inset: 0!important;
    background: linear-gradient(0deg,rgba(8,30,24,.18),transparent 45%)!important
}
.fm-page-home .fm-hero-inner {
    width: min(1380px,calc(100% - 104px))!important;
    padding: 0!important;
    display: flex!important;
    justify-content: center!important
}
.fm-page-home .fm-hero-copy {
    max-width: 715px!important;
    margin: 0!important;
    padding: 0!important;
    border: 0!important
}
.fm-page-home .fm-hero .fm-kicker {
    margin-bottom: 20px!important;
    display: flex;
    align-items: center;
    gap: 13px;
    color: #d7bb8e!important;
    font-size: 10px!important;
    letter-spacing: .2em!important;
    font-family: 'Inter',sans-serif!important;
    text-transform: uppercase!important
}
.fm-page-home .fm-hero .fm-kicker::before {
    content: "";
    width: 36px;
    height: 1px;
    background: #c3a06a
}
.fm-page-home .fm-hero h1 {
    font-size: clamp(51px,5.15vw,79px)!important;
    line-height: 1.08!important;
    max-width: 700px!important;
    color: #fffaf3!important;
    font-weight: 500!important;
    text-shadow: 0 2px 15px rgba(0,0,0,.13)
}
.fm-page-home .fm-hero .fm-lead {
    font-size: clamp(14px,1.02vw,16px)!important;
    line-height: 1.75!important;
    max-width: 555px!important;
    margin-top: 20px!important;
    color: #f4eee6!important
}
.fm-page-home .fm-hero-actions {
    margin-top: 26px!important;
    gap: 12px!important
}
.fm-body .fm-btn {
    min-height: 47px!important;
    padding: 13px 24px!important;
    font-size: 12.5px!important;
    font-weight: 600!important;
    letter-spacing: .01em!important
}
.fm-body .fm-btn-primary,.fm-body .fm-btn-gold {
    background: #b49260!important;
    border-color: #b49260!important;
    color: #102b24!important
}
.fm-body .fm-btn-light {
    border-color: rgba(255,248,235,.7)!important;
    background: rgba(6,32,23,.2)!important;
    color: #fffaf3!important
}
/* 4. Interior-page hero typography and consistent airy vertical proportions. */
.fm-page:not(.fm-page-home) .fm-subhero {
    min-height: clamp(465px,58svh,580px)!important;
    padding: 125px 0 65px!important
}
.fm-subhero:before {
    background-position: center 45%!important;
    filter: saturate(.96) contrast(1.02)!important
}
.fm-subhero-overlay {
    background: linear-gradient(90deg,rgba(7,33,25,.96) 0%,rgba(8,33,26,.79) 32%,rgba(8,33,26,.32) 67%,rgba(8,33,26,.08) 100%)!important
}
.fm-subhero h1 {
    font-size: clamp(44px,4.55vw,68px)!important;
    line-height: 1.1!important;
    max-width: 810px!important
}
.fm-subhero .fm-lead {
    max-width: 610px!important;
    font-size: 15px!important;
    line-height: 1.7!important
}
/* 5. Under-hero: one calm amenity line, not stacked metrics stripes. */
.fm-feature-band {
    background: #f6efe5!important;
    border-bottom: 1px solid rgba(164,135,89,.26)!important
}
.fm-feature-band-inner {
    min-height: 112px!important;
    padding: 13px 0!important
}
.fm-feature-band .fm-hero-features>div {
    padding: 14px 20px!important
}
.fm-feature-band .fm-hero-feature-icon {
    width: 46px!important;
    height: 46px!important;
    border-radius: 50%!important;
    border: 1px solid rgba(164,135,89,.27)!important
}
.fm-feature-band .fm-hero-features strong {
    font-size: 14px!important
}
.fm-feature-band .fm-hero-features small {
    font-size: 12px!important
}
/* 6. Sparse architectural/organic accents: only meaningful open sections. */
.fm-home-overview,.fm-guide-promo,.fm-gallery,.fm-guide-listing,.fm-reviews {
    position: relative;
    isolation: isolate;
    overflow: hidden
}
.fm-home-overview>.fm-container,.fm-guide-promo>.fm-container,.fm-gallery>.fm-container,.fm-guide-listing>.fm-container,.fm-reviews>.fm-container {
    position: relative;
    z-index: 2
}
.fm-home-overview::before {
    content: "";
    position: absolute;
    width: clamp(260px,27vw,430px);
    height: 170px;
    background: url('/images/decor/parliament-outline.svg') center/contain no-repeat;
    pointer-events: none;
    z-index: 0
}
.fm-guide-promo::after {
    content: "";
    position: absolute;
    background: url('/images/decor/botanical-sprig.svg') center/contain no-repeat;
    pointer-events: none;
    z-index: 0
}
.fm-gallery::after {
    content: "";
    position: absolute;
    background: url('/images/decor/botanical-sprig.svg') center/contain no-repeat;
    transform: scaleX(-1);
    pointer-events: none;
    z-index: 0
}
/* 7. Home content: calmer main cards, actual photos. */
.fm-home-overview {
    padding: 100px 0 105px!important
}
.fm-overview-header {
    gap: clamp(30px,4vw,72px)!important;
    margin-bottom: 42px!important
}
.fm-overview-heading .fm-section-title {
    font-size: clamp(37px,3.4vw,54px)!important;
    line-height: 1.14!important;
    max-width: 650px!important
}
.fm-overview-meta {
    background: rgba(244,238,231,.65)!important;
    border: 1px solid rgba(164,135,89,.20)!important;
    border-left: 2px solid var(--fm-v4-gold)!important;
    padding: 23px 26px!important;
    gap: 12px!important
}
.fm-overview-rating>strong {
    color: var(--fm-v4-forest)!important;
    font-size: 51px!important
}
.fm-overview-rating b {
    color: #143b30!important
}
.fm-overview-address,.fm-overview-rating span,.fm-overview-scores {
    font-size: 12px!important
}
.fm-overview-scores summary {
    color: #886c46!important
}
.fm-page-card-grid {
    grid-template-columns: 1.12fr 1fr 1fr!important;
    gap: 16px!important;
    align-items: stretch!important
}
.fm-page-card,.fm-page-card:first-child,.fm-page-card:last-child {
    display: grid!important;
    grid-column: auto!important;
    grid-template-columns: 1fr!important;
    grid-template-rows: clamp(210px,18vw,245px) minmax(180px,auto)!important;
    border: 1px solid #e5dacb!important;
    background: #fffdf9!important;
    border-radius: 2px!important;
    box-shadow: 0 15px 38px rgba(16,43,36,.045)!important
}
.fm-page-card:first-child {
    grid-column: 1 / 3!important;
    grid-template-columns: 1.08fr 1fr!important;
    grid-template-rows: minmax(300px,auto)!important;
    min-height: 305px!important
}
.fm-page-card:first-child>img {
    height: 100%!important;
    min-height: 305px!important
}
.fm-page-card:last-child {
    grid-column: 3!important;
    grid-row: 2!important
}
.fm-page-card:nth-child(2) {
    grid-column: 3!important;
    grid-row: 1!important
}
.fm-page-card:nth-child(3) {
    grid-column: 1 / 3!important;
    grid-row: 2!important;
    grid-template-columns: 1fr 1fr!important;
    grid-template-rows: 1fr!important
}
.fm-page-card>img,.fm-page-card:first-child>img,.fm-page-card:last-child>img {
    object-fit: cover!important;
    height: 100%!important;
    min-height: 0!important;
    filter: saturate(.92)!important
}
.fm-page-card:first-child>img {
    object-position: 50% 53%!important
}
.fm-page-card:nth-child(3)>img {
    height: 100%!important;
    min-height: 235px!important
}
.fm-page-card:last-child>img {
    object-position: center 27%!important
}
.fm-page-card>div {
    padding: clamp(22px,2.6vw,32px)!important;
    gap: 0!important
}
.fm-page-card h3 {
    font-size: clamp(26px,2vw,34px)!important;
    line-height: 1.16!important;
    margin: 8px 0 9px!important
}
.fm-page-card p {
    font-size: 13.5px!important;
    line-height: 1.7!important;
    margin: 0!important
}
.fm-page-card strong {
    font-size: 12px!important;
    padding-top: 14px!important
}
.fm-page-card:hover {
    transform: translateY(-3px)!important;
    box-shadow: 0 23px 42px rgba(16,43,36,.085)!important
}
/* 8. Guide promo + gallery flow naturally through paper tones. */
.fm-guide-promo-grid {
    gap: clamp(36px,5vw,70px)!important;
    grid-template-columns: 1.05fr 1fr!important
}
.fm-guide-promo-image {
    box-shadow: none!important;
    border: 1px solid rgba(164,135,89,.22)!important;
    min-height: 390px!important
}
.fm-guide-promo-image img {
    min-height: 390px!important
}
.fm-guide-promo .fm-copy h2 {
    font-size: clamp(36px,3.2vw,53px)!important
}
.fm-gallery-grid-all,.fm-gallery-preview {
    gap: 8px!important
}
.fm-gallery-item {
    border: 1px solid rgba(164,135,89,.16)!important;
    aspect-ratio: 1.33!important
}
.fm-gallery .fm-section-title {
    font-size: clamp(38px,3.2vw,52px)!important
}
/* 9. Guest review: no blue, no dark-on-dark score. */
.fm-reviews {
    background: #f4eee7!important
}
.fm-reviews .fm-section-title {
    margin-bottom: 36px!important
}
.fm-review-summary {
    display: grid!important;
    grid-template-columns: 188px minmax(0,1fr)!important;
    column-gap: 28px!important;
    padding: 25px!important;
    background: #fffdf9!important;
    border: 1px solid rgba(164,135,89,.26)!important;
    box-shadow: 0 12px 39px rgba(16,43,36,.055)!important;
    border-radius: 3px!important;
    align-items: center!important
}
.fm-review-score-big {
    grid-column: 1!important;
    grid-row: 1 / span 3!important;
    align-self: stretch!important;
    min-height: 185px!important;
    border: 1px solid rgba(164,135,89,.48)!important;
    border-radius: 2px!important;
    color: #f7e6c9!important;
    padding: 24px 16px!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 8px!important;
    text-align: center!important
}
.fm-review-score-big::before {
    content: '✦';
    color: #d2b17b;
    font-size: 16px;
    line-height: 1
}
.fm-review-score-big strong {
    font-family: 'Newsreader',Georgia,serif!important;
    font-size: clamp(60px,6vw,82px)!important;
    font-weight: 500!important;
    line-height: .92!important;
    text-shadow: none!important
}
.fm-review-score-big span {
    font: 600 12px/1.25 'Inter',sans-serif!important;
    color: #edd1a3!important;
    letter-spacing: .035em
}
.fm-review-summary>p {
    grid-column: 2!important;
    margin: 0!important;
    color: #40574b!important;
    font-size: 14px!important;
    line-height: 1.65!important
}
.fm-review-summary>.fm-translation-note {
    font-size: 12px!important;
    color: #68766d!important
}
.fm-rating-bars {
    grid-column: 2!important;
    display: grid!important;
    grid-template-columns: repeat(7,minmax(0,1fr))!important;
    gap: 8px!important;
    margin-top: 3px!important;
    min-width: 0!important
}
.fm-rating-bars>span {
    background: #f7f2e9!important;
    border: 1px solid #e9dfd2!important;
    border-radius: 2px!important;
    padding: 10px 7px!important;
    min-width: 0!important;
    display: flex!important;
    flex-direction: column!important;
    justify-content: space-between!important;
    gap: 6px!important;
    text-align: center!important
}
.fm-rating-bars b {
    font: 600 10px/1.25 'Inter',sans-serif!important;
    color: #244438!important;
    overflow-wrap: anywhere!important
}
.fm-rating-bars em {
    font: 600 24px/1 'Newsreader',Georgia,serif!important;
    color: #927143!important;
    font-style: normal!important
}
.fm-review-card {
    background: #fffdf9!important;
    border: 1px solid #e3d8c9!important;
    box-shadow: 0 12px 35px rgba(16,43,36,.05)!important;
    border-radius: 3px!important
}
.fm-review-nav {
    color: #143e31!important
}
.fm-review-nav:hover {
    background: #102b24!important;
    color: #f6e9d3!important;
    border-color: #102b24!important
}
.fm-review-card::before {
    color: #a48759!important
}
/* 10. Distinct invitation: ivory card / forest footer, NEVER green-on-green. */
.fm-booking,.fm-home-final-cta {
    color: #102b24!important
}
.fm-booking-inner {
    grid-template-columns: minmax(0,1fr) auto!important;
    align-items: center!important
}
.fm-booking .fm-eyebrow.light {
    color: #866439!important
}
.fm-booking h2 {
    color: #102b24!important;
    line-height: 1.13!important;
    margin: 6px 0 8px!important
}
.fm-booking p {
    color: #395347!important;
    line-height: 1.65!important
}
.fm-booking .fm-btn-gold {
    min-width: 165px!important
}
.fm-booking .fm-btn-gold:hover {
    color: #fff!important
}
.fm-footer-shell {
    padding-top: 65px!important
}
.fm-footer-top {
    column-gap: 50px!important
}
.fm-footer-bottom {
    margin-top: 46px!important
}
/* 11. Mobile: text has room, cards become calm stack, overlays always present. */
@media(max-width:1100px) {
    .fm-page-card-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }
    .fm-page-card:first-child {
        grid-column: 1 / -1!important;
        grid-template-columns: 1fr 1fr!important;
        grid-row: auto!important
    }
    .fm-page-card:nth-child(2),.fm-page-card:nth-child(3),.fm-page-card:last-child {
        grid-column: auto!important;
        grid-row: auto!important;
        grid-template-columns: 1fr!important;
        grid-template-rows: 225px auto!important
    }
    .fm-review-summary {
        grid-template-columns: 155px minmax(0,1fr)!important
    }
    .fm-rating-bars {
        grid-template-columns: repeat(4,minmax(0,1fr))!important
    }
}
@media(max-width:780px) {
    .fm-body .fm-container,.fm-hero-inner,.fm-subhero-inner {
        width: calc(100% - 44px)!important
    }
    .fm-nav-container {
        width: calc(100% - 44px)!important
    }
    .fm-page-home .fm-hero {
        min-height: 675px!important;
        padding: 105px 0 55px!important;
        align-items: flex-end!important
    }
    .fm-page-home .fm-hero-media {
        background-position: 49% center!important
    }
    .fm-page-home .fm-hero::before {
        background: linear-gradient(0deg,rgba(6,29,22,.98) 0%,rgba(6,29,22,.92) 22%,rgba(8,32,25,.66) 51%,rgba(7,31,24,.18) 100%)!important
    }
    .fm-page-home .fm-hero-inner {
        width: calc(100% - 44px)!important;
        justify-content: flex-end!important
    }
    .fm-page-home .fm-hero h1 {
        font-size: clamp(42px,7vw,62px)!important;
        line-height: 1.09!important
    }
    .fm-page-home .fm-hero .fm-lead {
        font-size: 13.5px!important;
        max-width: 570px!important
    }
    .fm-page-card-grid {
        grid-template-columns: 1fr!important
    }
    .fm-page-card:first-child,.fm-page-card:nth-child(2),.fm-page-card:nth-child(3),.fm-page-card:last-child {
        grid-column: auto!important;
        grid-row: auto!important;
        grid-template-columns: 1fr!important;
        grid-template-rows: 250px auto!important;
        min-height: 0!important
    }
    .fm-page-card:first-child>img,.fm-page-card>img {
        height: 250px!important;
        min-height: 0!important
    }
    .fm-guide-promo-grid {
        grid-template-columns: 1fr!important
    }
    .fm-guide-promo-image,.fm-guide-promo-image img {
        min-height: 300px!important
    }
    .fm-booking-inner {
        display: flex!important;
        flex-direction: column!important;
        align-items: flex-start!important;
        gap: 21px!important
    }
    .fm-review-summary {
        grid-template-columns: 1fr!important;
        gap: 16px!important;
        padding: 20px!important
    }
    .fm-review-score-big {
        grid-row: auto!important;
        grid-column: 1!important;
        min-height: 128px!important
    }
    .fm-review-summary>p,.fm-rating-bars {
        grid-column: 1!important
    }
    .fm-rating-bars {
        grid-template-columns: repeat(3,minmax(0,1fr))!important;
        gap: 8px!important
    }
    .fm-home-overview::before {
        width: 260px;
        opacity: .1;
        top: 80px
    }
    .fm-gallery::after {
        width: 130px;
        left: -80px;
        opacity: .12
    }
    .fm-guide-promo::after {
        width: 150px;
        right: -90px;
        opacity: .15
    }
}
@media(max-width:620px) {
    .fm-navbar {
        height: 69px!important
    }
    .fm-nav-container {
        width: calc(100% - 28px)!important
    }
    .fm-brand-symbol {
        width: 30px!important;
        height: 42px!important
    }
    .fm-brand-symbol img {
        width: 30px!important;
        height: 42px!important
    }
    .fm-brand-wordmark {
        width: 143px!important
    }
    .fm-body .fm-container,.fm-subhero-inner {
        width: calc(100% - 36px)!important
    }
    .fm-page-home .fm-hero {
        min-height: 715px!important;
        padding: 100px 0 45px!important
    }
    .fm-page-home .fm-hero-inner {
        width: calc(100% - 36px)!important
    }
    .fm-page-home .fm-hero h1 {
        font-size: clamp(41px,10vw,54px)!important
    }
    .fm-feature-band .fm-hero-features {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }
    .fm-feature-band .fm-hero-features>div,.fm-feature-band .fm-hero-features>div:nth-child(odd) {
        grid-template-columns: 38px minmax(0,1fr)!important;
        gap: 3px 7px!important;
        padding: 14px 6px!important;
        border: 0!important
    }
    .fm-feature-band .fm-hero-features>div:nth-child(odd) {
        border-right: 1px solid rgba(164,135,89,.22)!important
    }
    .fm-feature-band .fm-hero-features>div:nth-child(-n+2) {
        border-bottom: 1px solid rgba(164,135,89,.22)!important
    }
    .fm-feature-band .fm-hero-feature-icon {
        width: 35px!important;
        height: 35px!important
    }
    .fm-feature-band .fm-hero-features strong {
        font-size: 11.5px!important;
        line-height: 1.35!important
    }
    .fm-feature-band .fm-hero-features small {
        font-size: 10px!important;
        line-height: 1.38!important
    }
    .fm-home-overview {
        padding-top: 65px!important;
        padding-bottom: 66px!important
    }
    .fm-overview-header {
        grid-template-columns: 1fr!important;
        gap: 26px!important
    }
    .fm-overview-heading .fm-section-title {
        font-size: clamp(36px,9vw,47px)!important
    }
    .fm-overview-meta {
        padding: 17px!important
    }
    .fm-review-summary {
        padding: 17px!important
    }
    .fm-rating-bars {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }
    .fm-review-score-big strong {
        font-size: 68px!important
    }
    .fm-page-card>div {
        padding: 22px!important
    }
    .fm-booking h2 {
        font-size: clamp(29px,8vw,38px)!important
    }
    .fm-booking .fm-btn-gold {
        width: 100%!important
    }
    .fm-footer-shell {
        padding-top: 46px!important
    }
}
@media(prefers-reduced-motion:reduce) {
    .fm-page-card {
        transition: none!important
    }
    .fm-hero-media {
        filter: none!important
    }
}
/* ================================================================
   SIGNATURE V5 | Quiet luxury, consistent details & crafted footer
   No copy, routes, forms, layout semantics or critical functionality touched.
   Background illustrations are decorative only (CSS, ignored by AT).
   ================================================================ */
:root {
    --fm-v5-pine: #102b24;
    --fm-v5-shadow: #0b231c;
    --fm-v5-gold: #a48759;
    --fm-v5-warm: #f4eee7;
    --fm-v5-paper: #fcfaf6;
    --fm-v5-rule: rgba(164,135,89,.24);
}
/* A cohesive visual rhythm across the two language versions and subpages. */
.fm-body :where(.fm-home-overview,.fm-apartment,.fm-location,.fm-guide-intro,.fm-reviews,
 .fm-award-section,.fm-location-photo-story,.fm-related-guides,.fm-guide-listing,
 .fm-guide-article-section,.fm-rules,.fm-faq,.fm-amenities,.fm-ideal,.fm-legal,
 .fm-contact,.fm-gallery,.fm-guide-promo) {
    scroll-margin-top: 90px;
}
.fm-body :where(.fm-section-title,.fm-copy h2,.fm-location h2,.fm-booking h2) {
    text-wrap: balance;
    overflow-wrap: normal;
    line-height: 1.12!important;
}
.fm-body :where(.fm-copy p,.fm-location p,.fm-info-card p,.fm-page-card p,
 .fm-guide-article p,.fm-review-card p,.fm-rule-card p) {
    line-height: 1.78!important;
}
.fm-body :where(.fm-section-heading,.fm-section-intro) {
    max-width: 830px;
    margin-inline: auto;
}
.fm-body :where(.fm-page-card,.fm-info-card,.fm-seo-grid article,.fm-ideal-grid article,
 .fm-rule-card,.fm-guide-link-grid a,.fm-guide-card,.fm-related-guide,
 .fm-review-card,.fm-faq-item,.fm-contact-form) {
    border-color: rgba(164,135,89,.20)!important;
    box-shadow: 0 10px 30px rgba(12,36,28,.045)!important;
}
.fm-body :where(.fm-page-card,.fm-info-card,.fm-guide-card,.fm-related-guide) img {
    filter: saturate(.95) contrast(1.01);
}
.fm-body :where(.fm-eyebrow,.fm-kicker) {
    text-transform: uppercase;
}
.fm-body :where(a,button,input,select,textarea):focus-visible {
    outline: 2px solid #a48759!important;
    outline-offset: 4px!important;
}
/* Darkened background only on the text-facing end; imagery remains rich. */
.fm-page:not(.fm-page-home) .fm-subhero-overlay {
    background: linear-gradient(90deg,rgba(9,35,27,.94) 0%,rgba(9,35,27,.79) 30%,rgba(9,35,27,.37) 60%,rgba(9,35,27,.07) 100%)!important;
}
.fm-page-home .fm-hero::before {
    background: linear-gradient(90deg,rgba(7,31,24,.96) 0%,rgba(7,31,24,.88) 25%,rgba(8,35,27,.60) 44%,rgba(8,35,27,.15) 73%,rgba(8,35,27,.04) 100%)!important;
}
/* Align editorials: warm beige / ivory / beige instead of alternating random grays. */
.fm-guide-promo {
    background: #f4eee7!important;
}
.fm-gallery {
    background: #fcfaf6!important;
}
.fm-home-overview {
    background: #fcfaf6!important;
}
.fm-page-home .fm-guide-listing {
    background: #f4eee7!important;
}
.fm-body .fm-overview-meta {
    background: #f7f2eb!important;
}
/* Restrained leaf engraving where there is genuine negative space. */
.fm-guide-promo::after {
    right: -80px!important;
    bottom: 1%!important;
    width: 210px!important;
    height: 275px!important;
    opacity: .15!important;
}
.fm-gallery::after {
    left: -95px!important;
    bottom: 8%!important;
    width: 190px!important;
    height: 250px!important;
    opacity: .12!important;
}
.fm-home-overview::before {
    opacity: .11!important;
    top: 75px!important;
    right: -30px!important;
}
/* A softly framed invitation, distinct from the deep-green footer. */
.fm-booking,.fm-home-final-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(115deg,#f5eee3 0%,#ebddc9 62%,#f5eee4 100%)!important;
    border-top: 1px solid rgba(164,135,89,.30)!important;
    border-bottom: 1px solid rgba(164,135,89,.30)!important;
}
.fm-booking::after,.fm-home-final-cta::after {
    content: "";
    position: absolute;
    right: max(-42px,calc((100vw - 1620px)/2));
    bottom: -108px;
    width: 245px;
    height: 345px;
    background: url('/images/decor/botanical-sprig.svg') center/contain no-repeat;
    opacity: .14;
    pointer-events: none;
    z-index: -1;
    transform: rotate(-22deg);
}
.fm-booking-inner {
    position: relative;
    z-index: 1!important;
    gap: clamp(20px,3.5vw,64px)!important;
}
.fm-booking-inner>div {
    max-width: 710px!important;
}
.fm-booking h2 {
    font-size: clamp(31px,2.9vw,45px)!important;
}
.fm-booking p {
    font-size: 14px!important;
    max-width: 630px!important;
}
.fm-booking .fm-btn-gold {
    min-height: 48px!important;
    padding: 13px 26px!important;
    color: #fdf8ec!important;
    background: #12372c!important;
    border: 1px solid #12372c!important;
    box-shadow: 0 9px 22px rgba(15,43,31,.12)!important;
}
.fm-booking .fm-btn-gold:hover {
    background: #24523d!important;
    border-color: #24523d!important;
}
/* Footer: quiet gold architectural skyline + organic corner, not a second busy hero. */
.fm-footer-v31 {
    position: relative!important;
    isolation: isolate;
    overflow: hidden!important;
    background: linear-gradient(115deg,#0b261e 0%,#102e25 51%,#0b241d 100%)!important;
    border: 0!important;
    box-shadow: none!important;
}
.fm-footer-v31::before {
    display: block!important;
    content: ""!important;
    position: absolute!important;
    width: min(550px,46vw)!important;
    height: 195px!important;
    left: auto!important;
    top: auto!important;
    right: -35px!important;
    bottom: 10px!important;
    background: url('/images/decor/parliament-outline.svg') center bottom/contain no-repeat!important;
    opacity: .095!important;
    pointer-events: none!important;
    z-index: 0!important;
}
.fm-footer-v31::after {
    content: "";
    display: block;
    position: absolute;
    top: -95px;
    left: -125px;
    width: 280px;
    height: 390px;
    background: url('/images/decor/botanical-sprig.svg') center/contain no-repeat;
    transform: rotate(-20deg);
    opacity: .095;
    pointer-events: none;
    z-index: 0;
}
.fm-footer-v31 .fm-footer-shell {
    position: relative!important;
    z-index: 1!important;
    padding-top: clamp(48px,5vw,72px)!important;
}
.fm-footer-v31 .fm-footer-top {
    gap: clamp(27px,3.2vw,54px)!important;
}
.fm-footer-v31 h3 {
    color: #d7b684!important;
    letter-spacing: .17em!important;
}
.fm-footer-v31 .fm-footer-logo {
    display: inline-flex;
    align-items: center;
}
.fm-footer-v31 .fm-footer-brand-block p {
    max-width: 340px!important;
}
.fm-footer-v31 .fm-footer-badges span {
    border: 1px solid rgba(193,165,120,.35)!important;
    background: rgba(250,244,228,.035)!important;
}
.fm-footer-v31 .fm-footer-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(194,159,103,.55)!important;
    background: rgba(244,238,231,.035)!important;
    color: #f5e4c7!important;
    min-height: 41px;
    padding: 10px 20px!important;
}
.fm-footer-v31 .fm-footer-cta:hover {
    background: #a48759!important;
    color: #102b24!important;
}
.fm-footer-v31 .fm-footer-bottom {
    margin-top: clamp(35px,4vw,56px)!important;
    border-top: 1px solid rgba(210,182,135,.2)!important;
    padding-top: 22px!important;
}
/* Review language consistent with the identity. No platform-blue CTAs. */
.fm-review-score-big {
    background: linear-gradient(155deg,#214637,#102b24)!important;
    box-shadow: inset 0 0 0 1px rgba(194,162,110,.17)!important;
}
.fm-review-score-big strong {
    color: #f9eddb!important;
}
.fm-review-top>strong,.fm-review-card .fm-review-top strong,
.fm-review-score,.fm-review-avatar {
    background: #153b2e!important;
    border-color: #153b2e!important;
    color: #fff9ed!important;
}
.fm-review-nav {
    background: #fffaf3!important;
}
.fm-review-nav:focus-visible {
    outline-color: #a48759!important;
}
/* Consistent hover treatment without motion-heavy effects. */
@media(hover:hover) {
    .fm-body .fm-btn {
        transition: background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease!important;
    }
    .fm-body .fm-btn-primary:hover,.fm-body .fm-btn-gold:hover {
        box-shadow: 0 7px 19px rgba(18,43,34,.13)!important;
    }
}
@media(max-width:980px) {
    .fm-footer-v31::before {
        width: 440px!important;
        height: 155px!important;
        right: -115px!important;
        opacity: .065!important;
    }
    .fm-footer-v31::after {
        left: -165px;
        width: 230px;
        height: 320px;
        opacity: .07;
    }
    .fm-booking::after,.fm-home-final-cta::after {
        right: -110px;
        opacity: .09;
    }
}
@media(max-width:620px) {
    .fm-page:not(.fm-page-home) .fm-subhero-overlay {
        background: linear-gradient(0deg,rgba(8,32,25,.92) 0%,rgba(8,32,25,.76) 40%,rgba(8,32,25,.34) 100%)!important;
    }
    .fm-booking,.fm-home-final-cta {
        padding: 34px 0!important;
    }
    .fm-booking::after,.fm-home-final-cta::after {
        width: 170px;
        height: 235px;
        right: -96px;
        bottom: -95px;
        opacity: .08;
    }
    .fm-footer-v31::before {
        right: -145px!important;
        bottom: 35px!important;
        width: 340px!important;
        height: 122px!important;
        opacity: .045!important;
    }
    .fm-footer-v31::after {
        width: 175px;
        height: 242px;
        top: -85px;
        left: -120px;
        opacity: .055;
    }
    .fm-footer-v31 .fm-footer-shell {
        padding-top: 46px!important;
    }
    .fm-footer-v31 .fm-footer-bottom {
        margin-top: 35px!important;
    }
    .fm-home-overview::before,.fm-guide-promo::after,.fm-gallery::after {
        opacity: .08!important;
    }
}
@media(prefers-reduced-motion:reduce) {
    .fm-body .fm-btn {
        transition: none!important;
    }
}
/* ================================================================
   SIGNATURE V6 | Final polish sweep (2026-10-08)
   Focus: clearer section endings, stronger review/guide rhythm,
   calmer booking form, and a more refined footer reading experience.
   ================================================================ */
/* 1) Global polish */
.fm-body :where(.fm-page-card,.fm-guide-card,.fm-related-guide,.fm-guide-link-grid a,.fm-rule-card,.fm-review-card,.fm-contact-form,.fm-review-summary,.fm-host-card,.fm-award-grid figure) {
    box-shadow: 0 12px 34px rgba(11,36,28,.05)!important;
}
.fm-body :where(.fm-page-card,.fm-guide-card,.fm-related-guide,.fm-guide-link-grid a,.fm-review-card,.fm-contact-form) {
    background: #fffdf9!important;
}
.fm-body :where(.fm-page-card strong,.fm-guide-card strong,.fm-related-guide strong,.fm-guide-link-grid strong) {
    color: #86633c!important;
}
/* 2) Guide index: handle the odd final card more intentionally instead of leaving an orphan. */
.fm-page-guide .fm-guide-card-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 24px!important;
    align-items: stretch!important
}
.fm-page-guide .fm-guide-card {
    display: grid!important;
    grid-template-rows: auto 1fr!important;
    min-height: 100%!important
}
.fm-page-guide .fm-guide-card-copy {
    display: flex!important;
    flex-direction: column!important;
    justify-content: flex-start!important
}
.fm-page-guide .fm-guide-card strong {
    margin-top: auto!important;
    padding-top: 18px!important
}
@media (min-width:981px) {
    .fm-page-guide .fm-guide-card-grid>.fm-guide-card:last-child:nth-child(odd) {
        grid-column: 1 / -1!important;
        grid-template-columns: minmax(300px,.95fr) minmax(0,1.15fr)!important;
        grid-template-rows: 1fr!important;
    }
    .fm-page-guide .fm-guide-card-grid>.fm-guide-card:last-child:nth-child(odd) .fm-guide-card-media,
  .fm-page-guide .fm-guide-card-grid>.fm-guide-card:last-child:nth-child(odd) .fm-guide-card-media img {
        height: 100%!important;
        min-height: 275px!important
    }
    .fm-page-guide .fm-guide-card-grid>.fm-guide-card:last-child:nth-child(odd) .fm-guide-card-copy {
        padding: 32px 34px!important
    }
}
/* 3) Related guides and simple link sections: equal-height cards and a slightly stronger editorial frame. */
.fm-guide-link-grid,.fm-related-guides .fm-guide-card-grid {
    align-items: stretch!important
}
.fm-guide-link-grid>a,.fm-related-guide {
    display: flex!important;
    flex-direction: column!important;
    justify-content: space-between!important;
    min-height: 100%!important
}
.fm-guide-link-grid h3,.fm-related-guide h3 {
    line-height: 1.15!important
}
.fm-related-guide strong,.fm-guide-link-grid strong {
    margin-top: auto!important;
    padding-top: 16px!important
}
/* 4) Reviews: cleaner host layout, stronger summary rhythm, calmer carousel edges. */
.fm-host-card {
    display: grid!important;
    grid-template-columns: minmax(0,.96fr) minmax(320px,.9fr)!important;
    gap: clamp(26px,3vw,42px)!important;
    padding: clamp(26px,3vw,38px)!important;
    background: #fffdf9!important
}
.fm-host-card>div:last-child {
    display: grid!important;
    grid-template-columns: minmax(180px,220px) minmax(0,1fr)!important;
    gap: 22px!important;
    align-items: start!important
}
.fm-host-photo {
    margin: 0!important;
    overflow: hidden!important;
    border-radius: 3px!important;
    box-shadow: 0 10px 28px rgba(12,36,28,.08)!important
}
.fm-host-photo img {
    width: 100%!important;
    height: 100%!important;
    object-fit: cover!important
}
.fm-host-card>div:last-child>p:first-of-type {
    position: relative;
    margin: 0!important;
    padding: 18px 20px 18px 24px!important;
    background: #f7f2ea!important;
    border: 1px solid rgba(164,135,89,.18)!important;
    border-left: 3px solid rgba(164,135,89,.72)!important;
    border-radius: 2px!important;
    color: #42584d!important
}
.fm-host-card>div:last-child>p:first-of-type::before {
    content: "\201C";
    position: absolute;
    left: 10px;
    top: 10px;
    font: 500 34px/1 'Newsreader',Georgia,serif;
    color: #ab8553;
    opacity: .6
}
.fm-host-card>div:last-child>p:last-of-type {
    grid-column: 1 / -1!important;
    margin: 0!important;
    font-size: 12.5px!important;
    color: #66756b!important
}
.fm-review-summary {
    row-gap: 14px!important
}
.fm-review-summary>p {
    max-width: 900px!important
}
.fm-review-track {
    padding: 4px 2px 8px!important;
    scroll-padding-inline: 6px!important
}
.fm-review-card {
    height: 100%!important
}
.fm-review-card footer {
    margin-top: auto!important
}
.fm-review-nav {
    box-shadow: 0 8px 20px rgba(12,36,28,.08)!important;
    border: 1px solid rgba(164,135,89,.22)!important
}
/* 5) Booking page / contact form: better balance and a more premium form feel. */
.fm-contact {
    background: linear-gradient(140deg,#fbf7f1 0%,#f1e8dd 100%)!important
}
.fm-contact-layout {
    grid-template-columns: minmax(0,.9fr) minmax(340px,1.02fr)!important;
    gap: clamp(30px,4vw,62px)!important;
    align-items: start!important
}
.fm-contact-copy h2 {
    font-size: clamp(40px,3.6vw,60px)!important;
    line-height: 1.06!important;
    max-width: 12ch!important
}
.fm-contact-copy p {
    font-size: 15px!important;
    line-height: 1.78!important
}
.fm-contact-points {
    gap: 9px!important
}
.fm-contact-points span {
    padding: 11px 15px!important;
    border-radius: 2px!important;
    background: #fffcf8!important;
    border-color: rgba(164,135,89,.17)!important;
    box-shadow: none!important
}
.fm-contact-form {
    padding: clamp(24px,2.7vw,34px)!important;
    border: 1px solid rgba(164,135,89,.22)!important;
    box-shadow: 0 18px 48px rgba(12,36,28,.08)!important;
    gap: 15px!important
}
.fm-contact-form label {
    font-size: 12.5px!important;
    letter-spacing: .01em!important
}
.fm-contact-form input,.fm-contact-form textarea,.fm-contact-form select,.fm-booking-form input[type="date"],.fm-date-display {
    min-height: 50px!important;
    border-color: rgba(16,43,36,.12)!important;
    background: #fffdfa!important;
}
.fm-contact-form textarea {
    min-height: 136px!important
}
.fm-contact-form input:focus,.fm-contact-form textarea:focus,.fm-contact-form select:focus,.fm-date-display:focus {
    box-shadow: 0 0 0 4px rgba(164,135,89,.11)!important
}
.fm-privacy-check {
    padding-top: 2px!important
}
.fm-privacy-check span {
    font-size: 12.5px!important;
    line-height: 1.6!important
}
.fm-contact-form .fm-btn {
    min-width: 190px!important
}
/* 6) Booking CTA and footer: keep them consistent but more clearly separated. */
.fm-booking,.fm-home-final-cta {
    padding: clamp(34px,3.2vw,50px) 0!important
}
.fm-booking h2 {
    max-width: 16ch!important
}
.fm-footer-v31 .fm-footer-shell {
    padding-bottom: 26px!important
}
.fm-footer-v31 .fm-footer-top {
    grid-template-columns: minmax(240px,1.2fr) minmax(180px,.9fr) minmax(190px,.9fr) minmax(210px,1fr)!important;
    align-items: start!important
}
.fm-footer-v31 .fm-footer-brand-block p,
.fm-footer-v31 .fm-footer-direct p,
.fm-footer-v31 .fm-footer-contact p {
    font-size: 13.5px!important;
    line-height: 1.72!important;
    color: #d8ddd7!important
}
.fm-footer-v31 .fm-footer-link-grid {
    gap: 10px 18px!important
}
.fm-footer-v31 .fm-footer-link-grid a,
.fm-footer-v31 .fm-footer-legal a {
    line-height: 1.5!important;
    color: #f5efe6!important;
    opacity: .92!important
}
.fm-footer-v31 .fm-footer-link-grid a:hover,
.fm-footer-v31 .fm-footer-legal a:hover {
    opacity: 1!important;
    color: #d8bb89!important
}
.fm-footer-v31 .fm-footer-badges {
    gap: 8px!important
}
.fm-footer-v31 .fm-footer-badges span {
    font-size: 11.5px!important;
    padding: 8px 11px!important
}
.fm-footer-v31 .fm-footer-bottom {
    font-size: 12px!important;
    color: #d4d8d2!important
}
/* 7) Responsive refinements */
@media (max-width:980px) {
    .fm-host-card {
        grid-template-columns: 1fr!important
    }
    .fm-host-card>div:last-child {
        grid-template-columns: 180px minmax(0,1fr)!important
    }
    .fm-contact-layout {
        grid-template-columns: 1fr!important
    }
    .fm-footer-v31 .fm-footer-top {
        grid-template-columns: repeat(2,minmax(0,1fr))!important;
        gap: 28px!important
    }
}
@media (max-width:760px) {
    .fm-host-card>div:last-child {
        grid-template-columns: 1fr!important
    }
    .fm-host-photo {
        max-width: 220px!important
    }
}
@media (max-width:620px) {
    .fm-page-guide .fm-guide-card-grid {
        gap: 18px!important
    }
    .fm-contact-copy h2 {
        max-width: none!important
    }
    .fm-contact-form .fm-btn {
        width: 100%!important;
        min-width: 0!important
    }
    .fm-footer-v31 .fm-footer-top {
        grid-template-columns: 1fr!important;
        gap: 24px!important
    }
    .fm-footer-v31 .fm-footer-link-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))!important;
        gap: 10px 14px!important
    }
}
/* ========= LAYER: fm-v7-mobile-polish.css ========= */
/* Flat Margaret | Responsive precision pass, Oct 2026.
   One place for final component refinements after the existing style layers.
   Preserves content, routing and booking logic. */
:root {
    --fm-pine: #102b24;
    --fm-antique-gold: #a48759;
    --fm-paper: #fcfaf6;
    --fm-sand-light: #f4eee7
}
/* Readability without changing the brand's editorial display type. */
.fm-body .fm-page-card p,.fm-body .fm-guide-card-copy p,.fm-body .fm-related-guide p {
    line-height: 1.62!important;
}
.fm-body .fm-page-card:focus-visible,.fm-body .fm-guide-card:focus-visible {
    outline: 2px solid var(--fm-antique-gold);
    outline-offset: 4px
}
/* Phones + compact tablets: switch photo cards to an intentional editorial stack.
   The prior four-sheet cascade kept grid row heights on mobile, stretching portraits
   to almost full-screen and squeezing English article titles into narrow columns. */
@media(max-width:780px) {
    .fm-body .fm-page-card-grid {
        display: grid!important;
        grid-template-columns: minmax(0,1fr)!important;
        gap: 17px!important
    }
    .fm-body .fm-page-card-grid>.fm-page-card,
  .fm-body .fm-page-card-grid>.fm-page-card:first-child,
  .fm-body .fm-page-card-grid>.fm-page-card:nth-child(2),
  .fm-body .fm-page-card-grid>.fm-page-card:nth-child(3),
  .fm-body .fm-page-card-grid>.fm-page-card:last-child {
        display: grid!important;
        grid-column: auto!important;
        grid-row: auto!important;
        grid-template-columns: minmax(0,1fr)!important;
        grid-template-rows: auto auto!important;
        min-height: 0!important;
        width: 100%!important;
    }
    .fm-body .fm-page-card-grid>.fm-page-card>img,
  .fm-body .fm-page-card-grid>.fm-page-card:first-child>img,
  .fm-body .fm-page-card-grid>.fm-page-card:nth-child(3)>img,
  .fm-body .fm-page-card-grid>.fm-page-card:last-child>img {
        display: block!important;
        width: 100%!important;
        height: clamp(188px,50vw,270px)!important;
        min-height: 0!important;
        max-height: 270px!important;
        aspect-ratio: unset!important;
        object-fit: cover!important;
    }
    .fm-body .fm-page-card-grid>.fm-page-card:last-child>img.fm-page-card-host {
        height: clamp(185px,48vw,235px)!important;
        max-height: 235px!important;
        object-position: center 26%!important;
    }
    .fm-body .fm-page-card-grid>.fm-page-card>div {
        padding: 20px 21px 22px!important;
        min-height: 0!important
    }
    .fm-body .fm-page-card-grid>.fm-page-card h3 {
        font-size: clamp(25px,4.4vw,32px)!important;
        line-height: 1.12!important;
        margin: 6px 0 10px!important
    }
    .fm-body .fm-page-card-grid>.fm-page-card p {
        font-size: 14px!important;
        line-height: 1.65!important
    }
    .fm-body .fm-page-card-grid>.fm-page-card strong {
        font-size: 12.5px!important;
        padding-top: 14px!important
    }
    /* One article per row; readable card headlines on both languages. */
    .fm-body .fm-guide-card-grid,
  .fm-page-guide .fm-guide-card-grid {
        grid-template-columns: minmax(0,1fr)!important;
        gap: 20px!important
    }
    .fm-page-guide .fm-guide-card-grid>.fm-guide-card:last-child:nth-child(odd) {
        grid-column: auto!important;
        grid-template-columns: minmax(0,1fr)!important;
        grid-template-rows: auto auto!important;
    }
    .fm-body .fm-guide-card-grid>.fm-guide-card {
        display: grid!important;
        grid-template-columns: minmax(0,1fr)!important;
        grid-template-rows: auto auto!important;
        min-width: 0!important;
        height: auto!important;
        min-height: 0!important;
    }
    .fm-body .fm-guide-card-grid .fm-guide-card-media,
  .fm-body .fm-guide-card-grid .fm-guide-card-media img,
  .fm-page-guide .fm-guide-card-grid>.fm-guide-card:last-child:nth-child(odd) .fm-guide-card-media,
  .fm-page-guide .fm-guide-card-grid>.fm-guide-card:last-child:nth-child(odd) .fm-guide-card-media img {
        display: block!important;
        width: 100%!important;
        height: clamp(190px,51vw,270px)!important;
        min-height: 0!important;
        max-height: 270px!important;
        object-fit: cover!important;
    }
    .fm-body .fm-guide-card-grid .fm-guide-card-copy,
  .fm-page-guide .fm-guide-card-grid>.fm-guide-card:last-child:nth-child(odd) .fm-guide-card-copy {
        padding: 21px 23px 24px!important;
        min-width: 0!important;
        display: flex!important;
        flex-direction: column!important;
    }
    .fm-body .fm-guide-card-grid h3 {
        font-size: clamp(26px,5vw,34px)!important;
        line-height: 1.14!important;
        overflow-wrap: normal!important;
        word-break: normal!important;
        hyphens: none!important;
    }
    .fm-body .fm-guide-card-grid p {
        font-size: 14px!important;
        line-height: 1.65!important
    }
    .fm-body .fm-guide-card-grid .fm-guide-card-copy>span {
        font-size: 10px!important;
        letter-spacing: .12em!important
    }
}
/* Menu: remove oversized exhibition-poster nav and wasted blank area. */
@media(max-width:860px) {
    .fm-mobile-menu {
        background: #112a22!important;
        overflow-y: auto!important;
        overscroll-behavior: contain!important;
        height: 100dvh!important;
        max-height: 100dvh!important
    }
    .fm-mobile-head {
        min-height: 80px!important;
        height: auto!important;
        padding: 16px clamp(20px,6vw,36px)!important;
        border-bottom: 1px solid rgba(164,135,89,.24)!important;
        gap: 16px!important;
    }
    .fm-mobile-head .fm-brand {
        min-width: 0!important
    }
    .fm-menu-close {
        flex: 0 0 44px!important;
        height: 44px!important;
        width: 44px!important;
        color: #f4eee7!important;
        border: 1px solid rgba(164,135,89,.46)!important;
        background: transparent!important;
        border-radius: 2px!important
    }
    .fm-mobile-links {
        display: flex!important;
        flex-direction: column!important;
        align-items: stretch!important;
        width: min(100% - 48px,480px)!important;
        margin: clamp(26px,5vh,46px) auto 32px!important;
        gap: 0!important;
        padding: 0 0 max(30px,env(safe-area-inset-bottom))!important;
    }
    .fm-mobile-links>a:not(.fm-mobile-cta) {
        display: block!important;
        margin: 0!important;
        padding: 14px 0!important;
        font-family: 'Newsreader',Georgia,serif!important;
        font-size: clamp(22px,4.2vw,27px)!important;
        font-weight: 500!important;
        line-height: 1.18!important;
        letter-spacing: -.012em!important;
        color: #f6f0e7!important;
        border-bottom: 1px solid rgba(244,238,231,.11)!important;
    }
    .fm-mobile-links>a[aria-current="page"] {
        color: #d3b181!important
    }
    .fm-mobile-links>a.fm-mobile-cta {
        display: flex!important;
        align-items: center!important;
        justify-content: center!important;
        align-self: flex-start!important;
        margin: 24px 0 0!important;
        padding: 13px 26px!important;
        min-height: 48px!important;
        font: 600 14px/1.2 'Inter',Arial,sans-serif!important;
        background: #ad8f61!important;
        color: #102b24!important;
        border: 1px solid #ad8f61!important;
    }
    .fm-mobile-links>.fm-lang-switch-mobile {
        display: inline-flex!important;
        align-self: flex-start!important;
        margin: 24px 0 0!important;
        border: 1px solid rgba(164,135,89,.46)!important;
        border-radius: 2px!important;
    }
    .fm-mobile-links>.fm-lang-switch-mobile a {
        padding: 10px 15px!important;
        font: 600 12px/1.2 'Inter',Arial,sans-serif!important;
        color: #f5efe6!important;
    }
    .fm-mobile-links>.fm-lang-switch-mobile a.active {
        color: #102b24!important;
        background: #b99b6e!important;
    }
}
@media(max-width:620px) {
    .fm-body .fm-container {
        width: calc(100% - 36px)!important
    }
    .fm-body .fm-home-overview {
        padding-top: 52px!important;
        padding-bottom: 64px!important
    }
    .fm-body .fm-overview-header {
        gap: 23px!important;
        margin-bottom: 24px!important
    }
    .fm-body .fm-overview-heading .fm-section-title {
        font-size: clamp(32px,8.5vw,42px)!important;
        line-height: 1.13!important
    }
    .fm-body .fm-subhero h1 {
        font-size: clamp(35px,9vw,45px)!important;
        line-height: 1.07!important
    }
    .fm-body .fm-subhero .fm-lead {
        font-size: 14px!important;
        line-height: 1.6!important
    }
    .fm-body .fm-guide-card-grid h3 {
        font-size: clamp(26px,7.5vw,34px)!important
    }
    .fm-body .fm-gallery-grid {
        gap: 6px!important
    }
    .fm-body .fm-guide-promo-image,.fm-body .fm-guide-promo-image img {
        min-height: 0!important;
        max-height: 275px!important;
        object-fit: cover!important
    }
    .fm-body .fm-footer-v31 .fm-footer-link-grid a,
  .fm-body .fm-footer-v31 .fm-footer-legal a {
        font-size: 13px!important
    }
}
@media(max-width:370px) {
    .fm-mobile-links {
        width: calc(100% - 40px)!important
    }
    .fm-mobile-links>a:not(.fm-mobile-cta) {
        font-size: 21px!important;
        padding: 13px 0!important
    }
    .fm-body .fm-nav-container {
        width: calc(100% - 20px)!important
    }
    .fm-body .fm-brand-wordmark {
        width: 125px!important
    }
}
/* ===============================================================
   Signature v8 — booking statistics and centred mobile navigation
   Fixes two regressions observed on iPhone (HU and EN).
   =============================================================== */
/* Booking summary: four equal readable tiles with properly constrained text. */
.fm-body.fm-page-booking .fm-score-strip {
    background: #102b24!important;
}
.fm-body.fm-page-booking .fm-score-grid.fm-score-grid-4 {
    display: grid!important;
    grid-template-columns: repeat(4,minmax(0,1fr))!important;
    gap: 0!important;
    align-items: stretch!important;
}
.fm-body.fm-page-booking .fm-score-grid-4>.fm-score-card {
    box-sizing: border-box!important;
    min-width: 0!important;
    grid-column: auto!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 8px!important;
    text-align: center!important;
    border-radius: 0!important;
    border: 0!important;
    border-right: 1px solid rgba(222,191,146,.25)!important;
    box-shadow: none!important;
    background: none!important;
}
.fm-body.fm-page-booking .fm-score-grid-4>.fm-score-card:last-child {
    border-right: 0!important;
}
.fm-body.fm-page-booking .fm-score-grid-4>.fm-score-card>strong {
    display: block!important;
    width: 100%!important;
    margin: 0!important;
    color: #e0c08e!important;
    font-family: 'Newsreader',Georgia,serif!important;
    font-size: clamp(27px,2.6vw,42px)!important;
    font-weight: 500!important;
    line-height: 1.12!important;
    white-space: normal!important;
    overflow-wrap: normal!important;
    letter-spacing: -.016em!important;
}
.fm-body.fm-page-booking .fm-score-grid-4>.fm-score-card>span {
    display: block!important;
    max-width: 100%!important;
    margin: 0!important;
    color: #f5ede2!important;
    font: 500 12px/1.45 'Inter',Arial,sans-serif!important;
}
@media(max-width:860px) {
    /* Calm centred layout. Menu remains scrollable on short screens. */
    .fm-body .fm-mobile-menu {
        display: flex!important;
        flex-direction: column!important;
    }
    .fm-body .fm-mobile-head {
        flex: 0 0 auto!important
    }
    .fm-body .fm-mobile-links {
        flex: 1 1 auto!important;
        min-height: 0!important;
        display: flex!important;
        flex-direction: column!important;
        align-items: center!important;
        justify-content: safe center!important;
        gap: 0!important;
        width: min(calc(100% - 44px),390px)!important;
        margin: 0 auto!important;
        padding: 22px 0 max(28px,env(safe-area-inset-bottom))!important;
        overflow-y: auto!important;
        overflow-x: hidden!important;
        scrollbar-width: thin;
        text-align: center!important;
    }
    .fm-body .fm-mobile-links>a:not(.fm-mobile-cta) {
        width: 100%!important;
        text-align: center!important;
        padding: 14px 4px!important;
        font-size: clamp(23px,5.1vw,29px)!important;
        line-height: 1.2!important;
    }
    .fm-body .fm-mobile-links>a.fm-mobile-cta {
        align-self: center!important;
        margin: 26px 0 0!important;
        min-width: 170px!important;
    }
    .fm-body .fm-mobile-links>.fm-lang-switch-mobile {
        align-self: center!important;
        margin: 22px 0 0!important;
    }
}
@media(max-width:680px) {
    .fm-body.fm-page-booking .fm-score-grid.fm-score-grid-4 {
        grid-template-columns: repeat(2,minmax(0,1fr))!important;
        padding: 12px 0!important;
        gap: 0!important;
    }
    .fm-body.fm-page-booking .fm-score-grid-4>.fm-score-card,
  .fm-body.fm-page-booking .fm-score-grid-4>.fm-score-card:last-child {
        grid-column: auto!important;
        min-height: 108px!important;
        padding: 19px 10px!important;
        border-right: 0!important;
        border-bottom: 0!important;
    }
    .fm-body.fm-page-booking .fm-score-grid-4>.fm-score-card:nth-child(odd) {
        border-right: 1px solid rgba(222,191,146,.25)!important;
    }
    .fm-body.fm-page-booking .fm-score-grid-4>.fm-score-card:nth-child(-n+2) {
        border-bottom: 1px solid rgba(222,191,146,.25)!important;
    }
    .fm-body.fm-page-booking .fm-score-grid-4>.fm-score-card>strong {
        font-size: clamp(25px,7vw,35px)!important;
        white-space: normal!important;
        line-height: 1.08!important;
    }
    .fm-body.fm-page-booking .fm-score-grid-4>.fm-score-card>span {
        font-size: 11.5px!important;
    }
}
@media(max-width:370px) {
    .fm-body .fm-mobile-links>a:not(.fm-mobile-cta) {
        font-size: 22px!important;
        padding: 11px 4px!important
    }
    .fm-body.fm-page-booking .fm-score-grid-4>.fm-score-card>strong {
        font-size: clamp(23px,7vw,27px)!important
    }
}
@media(max-height:700px) and (max-width:860px) {
    .fm-body .fm-mobile-links>a:not(.fm-mobile-cta) {
        padding: 10px 3px!important
    }
    .fm-body .fm-mobile-links>a.fm-mobile-cta {
        margin-top: 16px!important
    }
    .fm-body .fm-mobile-links>.fm-lang-switch-mobile {
        margin-top: 16px!important
    }
}
/* Signature v9 — consistent bottom-up photographic hero shading on phones/tablets.
   IMPORTANT: placed after v8 because a later editorial rule was overriding
   the intended mobile vertical gradient with a desktop left-right gradient. */
@media (max-width: 860px) {
    /* Main HU/EN home hero: clear photo above; readable heading and CTA below. */
    .fm-body.fm-page-home .fm-hero::before {
        background: linear-gradient(to top,
      rgba(6, 30, 23, .96) 0%,
      rgba(7, 31, 24, .88) 26%,
      rgba(7, 31, 24, .58) 52%,
      rgba(8, 34, 27, .22) 77%,
      rgba(8, 34, 27, .08) 100%) !important;
    }
    .fm-body.fm-page-home .fm-hero-overlay {
        inset: 0 !important;
        height: auto !important;
        background: linear-gradient(to top, rgba(6, 27, 22, .12), transparent 48%) !important;
    }
    /* All HU/EN interior and guide-page heroes have the same direction. Their
     copy starts nearer the top, so leave a subtle top wash for readability. */
    .fm-body .fm-page .fm-subhero-overlay {
        background: linear-gradient(to top,
      rgba(6, 30, 23, .91) 0%,
      rgba(7, 31, 24, .81) 33%,
      rgba(8, 34, 27, .57) 65%,
      rgba(8, 34, 27, .38) 100%) !important;
    }
}
/* ====================================================================
   Flat Margaret · V10 / FINAL TYPOGRAPHY & FOOTER
   Central component type scale; scope carefully to card/footer families.
   Earlier v7/v8/v9 responsive, navigation and hero fixes remain intact.
   ==================================================================== */
.fm-body {
    --fm-type-card-title: clamp(28px, 2.2vw, 35px);
    --fm-type-card-copy: 14.5px;
    --fm-type-card-label: 10.5px;
    --fm-type-card-link: 12.5px;
    --fm-type-footer-label: 11px;
    --fm-type-footer-copy: 14px;
    --fm-type-footer-link: 13.5px;
}
/* Every home/destination card, including the featured first card, shares
   identical text sizing.  The featured card stays larger through layout,
   photography and whitespace, not an unrelated 57px headline. */
.fm-body .fm-page-card-grid > .fm-page-card h3,
.fm-body .fm-page-card-grid > .fm-page-card:first-child h3,
.fm-body .fm-page-card-grid > .fm-page-card:nth-child(2) h3,
.fm-body .fm-page-card-grid > .fm-page-card:nth-child(3) h3,
.fm-body .fm-page-card-grid > .fm-page-card:last-child h3 {
    font-family: 'Newsreader', Georgia, serif !important;
    font-size: var(--fm-type-card-title) !important;
    font-weight: 500 !important;
    letter-spacing: -.023em !important;
    line-height: 1.13 !important;
    margin: 9px 0 12px !important;
    max-width: none !important;
    text-wrap: balance;
}
.fm-body .fm-page-card-grid > .fm-page-card div > span,
.fm-body .fm-page-card-grid > .fm-page-card div > span:first-child {
    font: 650 var(--fm-type-card-label)/1.45 'Inter',Arial,sans-serif !important;
    letter-spacing: .13em !important;
    color: #8b6b43 !important;
    text-transform: uppercase !important;
}
.fm-body .fm-page-card-grid > .fm-page-card div > p {
    font: 400 var(--fm-type-card-copy)/1.68 'Inter',Arial,sans-serif !important;
    color: #4c5b52 !important;
    margin: 0 0 4px !important;
}
.fm-body .fm-page-card-grid > .fm-page-card div > strong {
    font: 650 var(--fm-type-card-link)/1.5 'Inter',Arial,sans-serif !important;
    letter-spacing: 0 !important;
    color: #85643c !important;
    padding-top: 18px !important;
    margin-top: auto !important;
}
/* Unify the title/meta/link hierarchy used by related guide cards too. */
.fm-body .fm-guide-card-grid h3,
.fm-body .fm-guide-card-grid h2,
.fm-body .fm-related-guide h3,
.fm-body .fm-guide-link-grid h3 {
    font-family: 'Newsreader',Georgia,serif !important;
    font-size: clamp(26px,2.05vw,33px) !important;
    font-weight: 500 !important;
    line-height: 1.16 !important;
    letter-spacing: -.022em !important;
    text-wrap: balance;
}
.fm-body .fm-guide-card-grid p,
.fm-body .fm-related-guide p,
.fm-body .fm-guide-link-grid p {
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #4d5e54 !important;
}
.fm-body .fm-guide-card-copy > span,
.fm-body .fm-related-guide span,
.fm-body .fm-guide-link-grid span {
    font-size: var(--fm-type-card-label) !important;
    line-height: 1.45 !important;
}
/* Button colours must remain accessible in default, hovered and focused
   states. Older rules used pale backgrounds with inherited pale text. */
.fm-body a.fm-btn-primary,
.fm-body a.fm-btn-gold {
    background: #b49260 !important;
    border-color: #b49260 !important;
    color: #102b24 !important;
    opacity: 1 !important;
    text-decoration: none !important;
}
.fm-body a.fm-btn-primary:hover,
.fm-body a.fm-btn-primary:focus-visible,
.fm-body a.fm-btn-gold:hover,
.fm-body a.fm-btn-gold:focus-visible {
    background: #d8b987 !important;
    border-color: #d8b987 !important;
    color: #102b24 !important;
    opacity: 1 !important;
    box-shadow: 0 9px 22px rgba(7,31,23,.18) !important;
}
/* The booking CTA intentionally starts dark; its hover is champagne/gold. */
.fm-body .fm-booking a.fm-btn-gold,
.fm-body .fm-home-final-cta a.fm-btn-gold {
    background: #102b24 !important;
    border-color: #102b24 !important;
    color: #fff9f0 !important;
}
.fm-body .fm-booking a.fm-btn-gold:hover,
.fm-body .fm-booking a.fm-btn-gold:focus-visible,
.fm-body .fm-home-final-cta a.fm-btn-gold:hover,
.fm-body .fm-home-final-cta a.fm-btn-gold:focus-visible {
    background: #b49260 !important;
    border-color: #b49260 !important;
    color: #102b24 !important;
}
.fm-body :is(a.fm-btn-primary,a.fm-btn-gold,.fm-footer-cta):focus-visible {
    outline: 3px solid #d9b981 !important;
    outline-offset: 3px !important;
}
/* Footer: balanced four columns, sensible reading size, quieter separations. */
.fm-body .fm-footer-v31 {
    background: linear-gradient(115deg,#0b261e 0%,#102e25 70%,#0a261d 100%) !important;
}
.fm-body .fm-footer-v31 .fm-footer-shell {
    width: min(1280px,calc(100% - 88px)) !important;
    padding-top: clamp(52px,4.5vw,70px) !important;
    padding-bottom: 26px !important;
}
.fm-body .fm-footer-v31 .fm-footer-top {
    display: grid !important;
    grid-template-columns: minmax(260px,1.4fr) minmax(160px,.8fr) minmax(210px,1fr) minmax(220px,1fr) !important;
    column-gap: clamp(32px,3.5vw,60px) !important;
    row-gap: 30px !important;
    align-items: start !important;
}
.fm-body .fm-footer-v31 :is(.fm-footer-brand-block,.fm-footer-nav,.fm-footer-direct,.fm-footer-contact) {
    min-width: 0 !important;
    text-align: left !important;
}
.fm-body .fm-footer-v31 h3 {
    margin: 5px 0 22px !important;
    font: 650 var(--fm-type-footer-label)/1.5 'Inter',Arial,sans-serif !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: #ddbd8a !important;
}
.fm-body .fm-footer-v31 :is(.fm-footer-brand-block,.fm-footer-direct,.fm-footer-contact) p {
    margin-top: 0 !important;
    font: 400 var(--fm-type-footer-copy)/1.75 'Inter',Arial,sans-serif !important;
    color: #dce2d9 !important;
    opacity: 1 !important;
}
.fm-body .fm-footer-v31 .fm-footer-link-grid {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 12px !important;
}
.fm-body .fm-footer-v31 .fm-footer-legal {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-top: 21px !important;
}
.fm-body .fm-footer-v31 .fm-footer-link-grid a,
.fm-body .fm-footer-v31 .fm-footer-legal a,
.fm-body .fm-footer-v31 .fm-footer-contact p a {
    font: 500 var(--fm-type-footer-link)/1.55 'Inter',Arial,sans-serif !important;
    color: #f3eee5 !important;
    opacity: 1 !important;
    transition: color .18s ease !important;
}
.fm-body .fm-footer-v31 .fm-footer-link-grid a:hover,
.fm-body .fm-footer-v31 .fm-footer-legal a:hover,
.fm-body .fm-footer-v31 .fm-footer-contact p a:hover {
    color: #e1bd82 !important;
}
.fm-body .fm-footer-v31 .fm-footer-badges {
    display: flex!important;
    flex-wrap: wrap!important;
    gap: 8px!important;
    margin-top: 22px!important
}
.fm-body .fm-footer-v31 .fm-footer-badges span {
    font: 600 11.5px/1.3 'Inter',Arial,sans-serif!important;
    color: #f5e9d6!important;
    padding: 8px 11px!important;
}
.fm-body .fm-footer-v31 a.fm-footer-cta {
    display: inline-flex !important;
    min-height: 43px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 11px 23px !important;
    margin-top: 17px !important;
    border: 1px solid rgba(204,171,118,.6) !important;
    background: rgba(201,164,108,.08) !important;
    font: 600 13px/1.3 'Inter',Arial,sans-serif !important;
    color: #f7e8ce !important;
}
.fm-body .fm-footer-v31 a.fm-footer-cta:hover,
.fm-body .fm-footer-v31 a.fm-footer-cta:focus-visible {
    background: #bb9a69 !important;
    border-color: #bb9a69 !important;
    color: #102b24 !important;
    opacity: 1 !important;
}
.fm-body .fm-footer-v31 .fm-footer-bottom {
    margin-top: 43px !important;
    padding: 23px 0 0 !important;
    gap: 7px !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    color: #c8d1c8 !important;
}
.fm-body .fm-footer-v31 .fm-footer-credit a {
    color: #e4c392 !important;
    font-weight: 600 !important;
    font-size: inherit !important;
}
@media(max-width:1100px) {
    .fm-body .fm-footer-v31 .fm-footer-top {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 34px 44px !important;
    }
}
@media(max-width:780px) {
    .fm-body {
        --fm-type-card-title: clamp(27px,5.5vw,32px)
    }
    .fm-body .fm-page-card-grid > .fm-page-card h3,
  .fm-body .fm-page-card-grid > .fm-page-card:first-child h3,
  .fm-body .fm-page-card-grid > .fm-page-card:nth-child(2) h3,
  .fm-body .fm-page-card-grid > .fm-page-card:nth-child(3) h3,
  .fm-body .fm-page-card-grid > .fm-page-card:last-child h3 {
        font-size: var(--fm-type-card-title)!important
    }
    .fm-body .fm-guide-card-grid h3,
  .fm-body .fm-guide-card-grid h2,
  .fm-body .fm-related-guide h3,
  .fm-body .fm-guide-link-grid h3 {
        font-size: clamp(26px,5.7vw,32px)!important
    }
}
@media(max-width:620px) {
    .fm-body {
        --fm-type-footer-copy: 14px;
        --fm-type-footer-link: 14px
    }
    .fm-body .fm-footer-v31 .fm-footer-shell {
        width: calc(100% - 42px) !important;
        padding-top: 46px !important;
    }
    .fm-body .fm-footer-v31 .fm-footer-top {
        grid-template-columns: minmax(0,1fr) !important;
        row-gap: 30px !important;
    }
    .fm-body .fm-footer-v31 .fm-footer-nav {
        padding-top: 24px !important;
        border-top: 1px solid rgba(213,177,118,.18) !important;
    }
    .fm-body .fm-footer-v31 .fm-footer-link-grid {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 15px 18px !important;
    }
    .fm-body .fm-footer-v31 .fm-footer-bottom {
        margin-top: 35px !important;
        padding-top: 20px !important;
        text-align: center !important;
    }
}

/* Flat Margaret | Mobile home hero: compact text and more visible photography.
   Scope: HU/EN home pages only; desktop design and other sections unchanged. */
.fm-body.fm-page-home .fm-hero .fm-lead-mobile{display:none!important}
@media (max-width:620px){
  .fm-body.fm-page-home .fm-hero{
    min-height:clamp(625px,82svh,700px)!important;
    padding:106px 0 42px!important;
  }
  .fm-body.fm-page-home .fm-hero-inner{justify-content:flex-end!important}
  .fm-body.fm-page-home .fm-hero-copy{max-width:100%!important}
  .fm-body.fm-page-home .fm-hero .fm-kicker{font-size:9px!important;margin-bottom:12px!important;letter-spacing:.17em!important}
  .fm-body.fm-page-home .fm-hero h1{
    font-size:clamp(31px,9vw,37px)!important;
    line-height:1.055!important;
    letter-spacing:-.021em!important;
    max-width:100%!important;
  }
  .fm-body.fm-page-home .fm-hero .fm-lead-desktop{display:none!important}
  .fm-body.fm-page-home .fm-hero .fm-lead-mobile{
    display:block!important;
    font-size:13px!important;
    line-height:1.55!important;
    max-width:39ch!important;
    margin-top:13px!important;
    overflow-wrap:normal!important;
  }
  .fm-body.fm-page-home .fm-hero-actions{
    margin-top:18px!important;
    gap:9px!important;
    flex-wrap:wrap!important;
  }
  .fm-body.fm-page-home .fm-hero-actions .fm-btn{
    min-height:43px!important;
    width:auto!important;
    padding:11px 15px!important;
    font-size:12px!important;
  }
}
/* Narrow phones: keep the same legibility, shorten only the visual rhythm. */
@media (max-width:350px){
  .fm-body.fm-page-home .fm-hero h1{font-size:31px!important}
  .fm-body.fm-page-home .fm-hero .fm-lead-mobile{font-size:12.5px!important}
  .fm-body.fm-page-home .fm-hero-actions{gap:7px!important}
  .fm-body.fm-page-home .fm-hero-actions .fm-btn{padding-inline:12px!important}
}

/* ============================================================
   Flat Margaret — HU/EN responsive polish, 2026-10-09
   Consolidated layout rules for the supplied ORIGINAL ZIP.
   No changes to consent, form submission, routes, or SEO content.
   ============================================================ */

/* Contrast and consistent link affordances */
.fm-body a:is(.fm-btn,.fm-btn-dark,.fm-btn-primary,.fm-btn-gold,.fm-nav-cta,.fm-mobile-cta),
.fm-body a:is(.fm-btn,.fm-btn-dark,.fm-btn-primary,.fm-btn-gold,.fm-nav-cta,.fm-mobile-cta):hover,
.fm-body a:is(.fm-btn,.fm-btn-dark,.fm-btn-primary,.fm-btn-gold,.fm-nav-cta,.fm-mobile-cta):focus-visible {
  text-decoration:none!important;
}
.fm-body .fm-nav-cta,
.fm-body .fm-nav-cta:hover,
.fm-body .fm-nav-cta:focus-visible,
.fm-body .fm-mobile-cta,
.fm-body .fm-mobile-cta:hover,
.fm-body .fm-mobile-cta:focus-visible {
  color:#112c25!important;
  background:#c4a16e!important;
  border-color:#c4a16e!important;
  opacity:1!important;
  text-shadow:none!important;
}
.fm-body .fm-nav-cta:hover,.fm-body .fm-mobile-cta:hover {
  background:#e0c18c!important;
  border-color:#e0c18c!important;
}
.fm-body .fm-nav-cta[aria-current="page"] {color:#112c25!important;}
.fm-body .fm-btn-dark:hover,.fm-body .fm-btn-dark:focus-visible {color:#fffaf2!important;}
.fm-body .fm-btn-gold,.fm-body .fm-btn-gold:hover,.fm-body .fm-btn-gold:focus-visible {color:#102b24!important;}

/* Homepage project/navigation cards: 4 intentional tiles, no squeezed text columns */
.fm-body .fm-page-card-grid {
  display:grid!important;
  grid-template-columns: repeat(12,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  gap:18px!important;
}
.fm-body .fm-page-card-grid>.fm-page-card {
  display:grid!important;
  grid-column:auto!important;
  grid-row:auto!important;
  box-shadow:none!important;
  border:1px solid #e7dace!important;
  background:#fffdf9!important;
  min-width:0!important;
  min-height:0!important;
  border-radius:4px!important;
}
.fm-body .fm-page-card-grid>.fm-page-card:nth-child(1) {
  grid-column:1 / span 7!important;
  grid-row:1!important;
  grid-template-columns: 49% minmax(0,1fr)!important;
  grid-template-rows: 310px!important;
}
.fm-body .fm-page-card-grid>.fm-page-card:nth-child(2) {
  grid-column:8 / span 5!important;
  grid-row:1!important;
  grid-template-columns: minmax(0,1fr)!important;
  grid-template-rows: 170px 1fr!important;
}
.fm-body .fm-page-card-grid>.fm-page-card:nth-child(3) {
  grid-column:1 / span 5!important;
  grid-row:2!important;
  grid-template-columns: minmax(0,1fr)!important;
  grid-template-rows: 170px 1fr!important;
}
.fm-body .fm-page-card-grid>.fm-page-card:nth-child(4) {
  grid-column:6 / span 7!important;
  grid-row:2!important;
  grid-template-columns: 46% minmax(0,1fr)!important;
  grid-template-rows: 310px!important;
}
.fm-body .fm-page-card-grid>.fm-page-card>img,
.fm-body .fm-page-card-grid>.fm-page-card:first-child>img,
.fm-body .fm-page-card-grid>.fm-page-card:last-child>img {
  width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
  display:block!important;object-fit:cover!important;object-position:center!important;
}
.fm-body .fm-page-card-grid>.fm-page-card:last-child>img.fm-page-card-host {object-position:center 35%!important;}
.fm-body .fm-page-card-grid>.fm-page-card>div {
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  padding:clamp(20px,2.5vw,30px)!important;gap:0!important;min-width:0!important;
}
.fm-body .fm-page-card-grid>.fm-page-card h3 {
  font-size:clamp(25px,2.2vw,34px)!important;line-height:1.09!important;margin:10px 0!important;
  overflow-wrap:normal!important;
}
.fm-body .fm-page-card-grid>.fm-page-card p {font-size:13px!important;line-height:1.55!important;}
.fm-body .fm-page-card-grid>.fm-page-card strong {margin-top:auto!important;padding-top:12px!important;font-size:12px!important;}
.fm-body .fm-page-card-grid>.fm-page-card:hover {transform:translateY(-2px)!important;box-shadow:0 12px 24px rgba(16,43,36,.07)!important;}

/* Apartment: alternate clean typographic rows with gently coloured panels */
.fm-body .fm-seo-stay .fm-seo-grid article,
.fm-body .fm-ideal .fm-ideal-grid article {
  background:transparent!important;box-shadow:none!important;border:0!important;
  border-top:2px solid #b99a70!important;border-radius:0!important;
  padding:24px 14px 18px!important;
}
.fm-body .fm-seo-stay .fm-seo-grid article::before,
.fm-body .fm-ideal .fm-ideal-grid article::before,
.fm-body .fm-ideal .fm-ideal-grid article::after {display:none!important;content:none!important;}
.fm-body .fm-ideal {background:#f4eee6!important;}
.fm-body .fm-ideal .fm-ideal-grid article h3 {font-size:clamp(19px,1.8vw,24px)!important;margin-bottom:12px!important;}
.fm-body .fm-info-grid {
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;align-items:stretch!important;
}
.fm-body .fm-info-grid>.fm-info-card {
  position:relative!important;display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;
  gap:6px 18px!important;
  align-items:start!important;text-align:left!important;
  background:#fffcf7!important;border:1px solid #e9ddcf!important;
  border-radius:14px!important;box-shadow:none!important;padding:22px 23px!important;
}
.fm-body .fm-info-grid>.fm-info-card::before {display:none!important;content:none!important;}
.fm-body .fm-info-grid>.fm-info-card>.fm-mini-icon {
  grid-column:1!important;grid-row:1 / 3!important;position:static!important;
  width:50px!important;height:50px!important;margin:0!important;
}
.fm-body .fm-info-grid>.fm-info-card>h3 {
  grid-column:2!important;grid-row:1!important;margin:1px 0 4px!important;
  font-size:17px!important;line-height:1.28!important;text-align:left!important;
}
.fm-body .fm-info-grid>.fm-info-card>p {
  grid-column:2!important;grid-row:2!important;margin:0!important;
  font-size:14px!important;line-height:1.65!important;text-align:left!important;
}
.fm-body .fm-location-details {background:#f3ede5!important;}
.fm-body .fm-location-details .fm-info-grid {grid-template-columns:1fr!important;max-width:950px;margin-inline:auto;}
.fm-body .fm-location-details .fm-info-grid>.fm-info-card {
  grid-template-columns:minmax(180px,34%) minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  background:transparent!important;border:0!important;border-bottom:1px solid #d9c9b6!important;
  border-radius:0!important;padding:17px 4px!important;align-items:center!important;
}
.fm-body .fm-location-details .fm-info-grid>.fm-info-card>h3 {grid-column:1!important;grid-row:1!important;font-size:18px!important;margin:0!important;}
.fm-body .fm-location-details .fm-info-grid>.fm-info-card>p {grid-column:2!important;grid-row:1!important;}

/* Host intro: rating + spoken languages on same visual row on desktop */
.fm-body .fm-host-card.fm-host-redesign {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 210px minmax(0,1.08fr)!important;
  grid-template-areas:'intro photo quote' 'score language quote'!important;
  grid-template-rows:auto auto!important;align-items:start!important;
  gap:18px 24px!important;padding:36px!important;
  background:#fffdf9!important;border:1px solid #e8dccc!important;box-shadow:none!important;
  border-radius:4px!important;
}
.fm-body .fm-host-redesign>.fm-host-intro {grid-area:intro!important;min-width:0!important;display:block!important;}
.fm-body .fm-host-redesign .fm-host-intro .fm-section-title {text-align:left!important;margin:6px 0 16px!important;font-size:clamp(34px,3vw,47px)!important;line-height:1.06!important;}
.fm-body .fm-host-redesign .fm-host-intro .fm-subtitle {font-size:15px!important;margin:0!important;line-height:1.7!important;}
.fm-body .fm-host-redesign>.fm-host-photo {
  grid-area:photo!important;justify-self:center!important;align-self:start!important;
  width:100%!important;max-width:210px!important;margin:0!important;
  box-shadow:none!important;border-radius:12px!important;overflow:hidden!important;
}
.fm-body .fm-host-redesign>.fm-host-photo img {
  display:block!important;width:100%!important;height:auto!important;
  aspect-ratio:1 / 1.10!important;object-fit:cover!important;object-position:50% 38%!important;
}
.fm-body .fm-host-redesign>.fm-host-quote {
  grid-area:quote!important;min-width:0!important;align-self:stretch!important;
  display:flex!important;align-items:center!important;
  margin:0!important;padding:20px 25px!important;
  background:#f6f0e6!important;border:0!important;border-left:2px solid #b89b70!important;
  color:#344d42!important;font-size:14px!important;line-height:1.85!important;
}
.fm-body .fm-host-redesign>.fm-host-score {grid-area:score!important;margin:0!important;align-self:center!important;min-width:0!important;}
.fm-body .fm-host-redesign>.fm-host-languages {
  grid-area:language!important;justify-self:center!important;align-self:center!important;
  margin:0!important;padding:8px 2px!important;
  font-size:12px!important;line-height:1.45!important;text-align:center!important;
  background:transparent!important;border:0!important;box-shadow:none!important;color:#496052!important;
}
.fm-body .fm-host-redesign>.fm-host-languages strong {display:block!important;color:#102b24!important;}

/* Review slider: one scroll track, no native scrollbar, compact progress indicator */
.fm-body .fm-reviews .fm-review-summary,
.fm-body .fm-reviews .fm-review-card {box-shadow:none!important;}
.fm-body .fm-review-carousel {position:relative!important;padding:0 44px!important;margin-inline:auto!important;}
.fm-body .fm-review-carousel>.fm-review-track {
  box-sizing:border-box!important;width:100%!important;display:grid!important;
  grid-auto-flow:column!important;grid-auto-columns:calc((100% - 36px)/3)!important;
  gap:18px!important;overflow-x:auto!important;overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;
  scrollbar-width:none!important;-ms-overflow-style:none!important;
  padding:1px 0 3px!important;scroll-padding:0!important;
}
.fm-body .fm-review-carousel>.fm-review-track::-webkit-scrollbar {display:none!important;}
.fm-body .fm-review-carousel .fm-review-card {
  display:flex!important;flex-direction:column!important;
  box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;
  min-height:0!important;height:auto!important;flex:initial!important;
  padding:22px!important;background:#fffdf9!important;border:1px solid #e5d9c9!important;
  border-radius:3px!important;box-shadow:none!important;scroll-snap-align:start!important;
}
.fm-body .fm-review-carousel .fm-review-card>p {flex:1 1 auto!important;margin-bottom:12px!important;}
.fm-body .fm-review-carousel .fm-review-card>footer {margin-top:auto!important;}
.fm-body .fm-review-carousel>.fm-review-nav {
  display:flex!important;align-items:center!important;justify-content:center!important;
  position:absolute!important;top:50%!important;width:36px!important;height:42px!important;
  transform:translateY(-50%)!important;border:1px solid #dfd3c2!important;
  background:#fffdf9!important;box-shadow:none!important;border-radius:50%!important;
  color:#15382d!important;font-size:27px!important;z-index:1!important;
}
.fm-body .fm-review-carousel>.fm-review-prev {left:0!important;right:auto!important;}
.fm-body .fm-review-carousel>.fm-review-next {right:0!important;left:auto!important;}
.fm-body .fm-review-carousel>.fm-review-nav:disabled {opacity:.25!important;cursor:default!important;}
.fm-body .fm-review-progress {
  display:flex;justify-content:center;align-items:center;gap:16px;
  max-width:240px;margin:19px auto 0;color:#876d49;
  font:600 12px/1.3 'Inter',sans-serif;letter-spacing:.11em;
}
.fm-body .fm-review-progress-line {flex:1 1 auto;height:3px;border-radius:4px;background:#e0d5c8;overflow:hidden;}
.fm-body .fm-review-progress-fill {height:100%;display:block;background:#ad8d60;transition:width .24s ease;}
.fm-body .fm-review-progress-count {min-width:55px;text-align:right;}

/* Booking request: text and benefits above one wide, readable form */
.fm-body .fm-booking-inquiry .fm-contact-layout {
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:30px!important;max-width:1080px!important;margin-inline:auto!important;
}
.fm-body .fm-booking-inquiry .fm-contact-copy {
  width:min(100%,940px)!important;max-width:940px!important;
  justify-self:center!important;box-sizing:border-box!important;
}
.fm-body .fm-booking-inquiry .fm-contact-copy h2 {max-width:850px!important;}
.fm-body .fm-booking-inquiry .fm-contact-copy>p:not(.fm-eyebrow) {max-width:840px!important;}
.fm-body .fm-booking-inquiry .fm-contact-points {display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:22px!important;}
.fm-body .fm-booking-inquiry .fm-contact-form {
  width:min(100%,940px)!important;min-width:0!important;max-width:940px!important;
  justify-self:center!important;box-sizing:border-box!important;margin:0!important;
  padding:32px!important;box-shadow:none!important;background:#fffdf9!important;
}
.fm-body .fm-booking-inquiry .fm-booking-form .fm-form-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.fm-body .fm-booking-inquiry .fm-privacy-check {
  display:flex!important;align-items:center!important;gap:13px!important;
  padding:14px 16px!important;border:1px solid #e7dacc!important;
  background:#fbf7f1!important;min-width:0!important;
}
.fm-body .fm-booking-inquiry .fm-privacy-check input {
  flex:0 0 19px!important;width:19px!important;height:19px!important;
  min-height:19px!important;margin:0!important;align-self:center!important;
}
.fm-body .fm-booking-inquiry .fm-privacy-check span {display:block!important;min-width:0!important;line-height:1.5!important;}

/* Article end-of-page navigation: touch targets, not a bare word cloud */
.fm-body .fm-guide-end-links {
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;align-items:stretch!important;border:0!important;padding:26px 0 0!important;
}
.fm-body .fm-guide-end-links>a {
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  min-height:52px!important;padding:14px 17px!important;box-sizing:border-box!important;
  border:1px solid #e3d5c4!important;border-left:3px solid #b6986b!important;
  background:#fffdf9!important;color:#1a3b31!important;text-decoration:none!important;
  font-weight:600!important;font-size:13px!important;line-height:1.5!important;
}
.fm-body .fm-guide-end-links>a:hover,.fm-body .fm-guide-end-links>a:focus-visible {background:#f6ede2!important;}

@media(max-width:1190px) {
  .fm-body .fm-review-carousel>.fm-review-track {grid-auto-columns:calc((100% - 18px)/2)!important;}
  .fm-body .fm-host-card.fm-host-redesign {
    grid-template-columns:minmax(0,1fr) 190px!important;
    grid-template-areas:'intro photo' 'score language' 'quote quote'!important;
  }
  .fm-body .fm-host-redesign>.fm-host-quote {align-self:start!important;}
}
@media(max-width:860px) {
  .fm-body .fm-page-card-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .fm-body .fm-page-card-grid>.fm-page-card:nth-child(n) {
    grid-column:auto!important;grid-row:auto!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:185px auto!important;
  }
  .fm-body .fm-page-card-grid>.fm-page-card:nth-child(n)>img {height:185px!important;min-height:0!important;max-height:185px!important;}
}
@media(max-width:760px) {
  /* Safe-area colour + compact three-piece header: brand | HU/EN | menu */
  html {background:#102b24!important;}
  .fm-body {padding-top:env(safe-area-inset-top,0px)!important;}
  .fm-body::before {
    content:'';position:fixed;left:0;top:0;right:0;height:env(safe-area-inset-top,0px);
    background:#102b24;z-index:1000;pointer-events:none;
  }
  .fm-body .fm-navbar {min-height:68px!important;height:68px!important;box-sizing:border-box!important;padding:0!important;}
  .fm-body .fm-nav-container {
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    width:calc(100% - 24px)!important;min-height:68px!important;height:68px!important;
    padding:0!important;margin:0 auto!important;gap:8px!important;
  }
  .fm-body .fm-navbar .fm-brand {display:inline-flex!important;align-items:center!important;gap:7px!important;min-width:0!important;flex:0 1 auto!important;}
  .fm-body .fm-navbar .fm-brand-symbol {width:33px!important;flex:0 0 33px!important;}
  .fm-body .fm-navbar .fm-brand-symbol img {width:33px!important;height:33px!important;object-fit:contain!important;}
  .fm-body .fm-navbar .fm-brand-type {display:flex!important;justify-content:center!important;align-self:center!important;gap:2px!important;}
  .fm-body .fm-navbar .fm-brand-wordmark {width:clamp(128px,38vw,175px)!important;height:auto!important;max-width:100%!important;}
  .fm-body .fm-navbar .fm-brand-sub {font-size:7px!important;line-height:1.1!important;letter-spacing:.18em!important;margin:0!important;}
  .fm-body .fm-navbar .fm-nav-actions {display:flex!important;flex:0 0 auto!important;align-items:center!important;margin:0 0 0 auto!important;gap:5px!important;}
  .fm-body .fm-navbar .fm-lang-switch-compact {
    display:flex!important;align-items:center!important;justify-content:center!important;
    height:40px!important;border:0!important;background:rgba(255,255,255,.06)!important;
    box-shadow:none!important;border-radius:7px!important;gap:0!important;
  }
  .fm-body .fm-navbar .fm-lang-switch-compact>a {
    display:grid!important;place-items:center!important;min-width:36px!important;height:40px!important;
    padding:0 8px!important;font-size:12px!important;letter-spacing:0!important;
  }
  .fm-body .fm-navbar .fm-lang-switch-compact>span {display:none!important;}
  .fm-body .fm-navbar .fm-nav-toggle {
    display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    padding:6px!important;margin:0!important;border:0!important;outline-offset:2px!important;
    box-shadow:none!important;background:transparent!important;gap:5px!important;
  }
  .fm-body .fm-navbar .fm-nav-toggle span {width:29px!important;height:2px!important;display:block!important;background:#d6b780!important;}
  .fm-body .fm-mobile-links>a:not(.fm-mobile-cta) {font-size:clamp(25px,6.5vw,34px)!important;padding:12px 0!important;}
  .fm-body .fm-mobile-links>.fm-lang-switch-mobile {border:0!important;border-radius:8px!important;overflow:hidden!important;}
  .fm-body .fm-mobile-links>.fm-lang-switch-mobile a {font-size:15px!important;min-height:42px!important;min-width:48px!important;text-decoration:none!important;}
  /* One review per swipe, no side controls, no giant indicator row */
  .fm-body .fm-review-carousel {padding:0!important;}
  .fm-body .fm-review-carousel>.fm-review-nav {display:none!important;}
  .fm-body .fm-review-carousel>.fm-review-track {
    grid-auto-columns:100%!important;gap:0!important;
    scroll-snap-type:x mandatory!important;overscroll-behavior-inline:contain!important;
  }
  .fm-body .fm-review-carousel .fm-review-card {scroll-snap-align:start!important;}
  .fm-body .fm-review-summary {
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    row-gap:14px!important;padding:18px!important;box-shadow:none!important;
  }
  .fm-body .fm-review-summary>.fm-review-score-big {
    grid-column:1!important;grid-row:auto!important;min-height:0!important;
    align-self:auto!important;width:100%!important;max-width:none!important;
    padding:16px!important;box-sizing:border-box!important;
  }
  .fm-body .fm-review-summary>.fm-review-score-big strong {font-size:56px!important;}
  .fm-body .fm-review-summary>p {grid-column:1!important;margin:0!important;}
  .fm-body .fm-review-summary>.fm-rating-bars {
    grid-column:1!important;display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;min-width:0!important;margin:0!important;
  }
  .fm-body .fm-review-summary>.fm-rating-bars>span {padding:11px 8px!important;min-width:0!important;}
  .fm-body .fm-review-summary>.fm-rating-bars b {font-size:11px!important;}
  .fm-body .fm-review-summary>.fm-rating-bars em {font-size:25px!important;}
  /* Levente photo centred, then the quote and labels */
  .fm-body .fm-host-card.fm-host-redesign {
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:'intro' 'photo' 'score' 'language' 'quote'!important;
    grid-template-rows:auto!important;gap:16px!important;padding:24px 20px!important;
  }
  .fm-body .fm-host-redesign>.fm-host-intro .fm-section-title {font-size:clamp(33px,9vw,43px)!important;}
  .fm-body .fm-host-redesign>.fm-host-photo {justify-self:center!important;max-width:235px!important;width:100%!important;}
  .fm-body .fm-host-redesign>.fm-host-score {justify-self:center!important;}
  .fm-body .fm-host-redesign>.fm-host-languages {justify-self:center!important;}
  .fm-body .fm-host-redesign>.fm-host-quote {padding:18px 20px!important;line-height:1.7!important;}
  .fm-body .fm-booking-inquiry .fm-booking-form .fm-form-grid,
  .fm-body .fm-booking-inquiry .fm-contact-form .fm-form-grid {
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;
  }
  .fm-body .fm-booking-inquiry .fm-contact-form {padding:22px 18px!important;}
  .fm-body .fm-booking-inquiry .fm-contact-copy h2 {max-width:none!important;font-size:clamp(34px,9vw,48px)!important;}
  .fm-body .fm-booking-inquiry .fm-contact-points {display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .fm-body .fm-booking-inquiry .fm-contact-points>span {padding:10px 12px!important;}
  .fm-body .fm-booking-inquiry .fm-privacy-check {align-items:center!important;}
  .fm-body .fm-page-card-grid {grid-template-columns:minmax(0,1fr)!important;}
  .fm-body .fm-page-card-grid>.fm-page-card:nth-child(n) {grid-template-rows:205px auto!important;}
  .fm-body .fm-page-card-grid>.fm-page-card:nth-child(n)>img {height:205px!important;max-height:205px!important;}
  .fm-body .fm-info-grid {grid-template-columns:minmax(0,1fr)!important;}
  .fm-body .fm-info-grid>.fm-info-card {grid-template-columns:46px minmax(0,1fr)!important;padding:18px!important;gap:4px 14px!important;}
  .fm-body .fm-info-grid>.fm-info-card>.fm-mini-icon {width:42px!important;height:42px!important;}
  .fm-body .fm-info-grid>.fm-info-card>h3 {font-size:16px!important;}
  .fm-body .fm-location-details .fm-info-grid>.fm-info-card {grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:5px!important;}
  .fm-body .fm-location-details .fm-info-grid>.fm-info-card>h3 {grid-column:1!important;grid-row:1!important;}
  .fm-body .fm-location-details .fm-info-grid>.fm-info-card>p {grid-column:1!important;grid-row:2!important;}
  .fm-body .fm-guide-end-links {grid-template-columns:1fr!important;}
}
@media(max-width:355px) {
  .fm-body .fm-navbar .fm-brand-symbol {width:28px!important;flex-basis:28px!important;}
  .fm-body .fm-navbar .fm-brand-symbol img {width:28px!important;height:28px!important;}
  .fm-body .fm-navbar .fm-brand-wordmark {width:112px!important;}
  .fm-body .fm-navbar .fm-lang-switch-compact>a {min-width:32px!important;font-size:11px!important;padding:0 6px!important;}
  .fm-body .fm-navbar .fm-nav-toggle {width:38px!important;min-width:38px!important;}
}
