/* Flat Margaret / boutique v4 – V2 SEO and functionality preserved. */

/* HOME: one protagonist feature, three supporting editorial routes. */
.fm-body.fm-page-home .fm-page-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:15px!important;align-items:stretch!important}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:nth-child(n){
 display:flex!important;flex-direction:column!important;grid-column:auto!important;grid-row:auto!important;
 grid-template-rows:none!important;min-width:0!important;min-height:0!important;width:100%!important;
 border-radius:2px!important;border:1px solid #e1d8cb!important;box-shadow:none!important;background:#fffdf9!important;
 transform:none!important;overflow:hidden!important
}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:first-child{
 grid-column:1/-1!important;display:grid!important;grid-template-columns:1.08fr .92fr!important;grid-template-rows:420px!important;
 background:#102b24!important;border:0!important;color:#fffaf1!important
}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:nth-child(n)>img{
 display:block!important;width:100%!important;height:230px!important;max-height:none!important;min-height:0!important;
 aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;border-radius:0!important
}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:first-child>img{height:420px!important;object-position:center 49%!important}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:nth-child(4)>img.fm-page-card-host{object-fit:cover!important;object-position:center 28%!important}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:nth-child(n)>div{
 display:flex!important;flex:1!important;flex-direction:column!important;justify-content:flex-start!important;
 padding:clamp(22px,2.1vw,31px)!important;min-height:0!important
}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:first-child>div{
 padding:clamp(30px,4vw,65px)!important;justify-content:center!important
}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:first-child h3{font-size:clamp(31px,3.4vw,51px)!important;color:#f9f5ed!important;line-height:1.1!important}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:first-child p{font-size:15px!important;color:#d3ded5!important;line-height:1.7!important}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:first-child div>span{color:#d9bf8f!important}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:first-child strong{color:#e8c894!important}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:not(:first-child) h3{font-size:clamp(23px,2.1vw,30px)!important;line-height:1.16!important}
.fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:nth-child(n) strong{margin-top:auto!important;padding-top:14px!important}
@media(hover:hover) and (pointer:fine){
 .fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:hover{transform:translateY(-3px)!important;box-shadow:0 17px 30px rgba(16,43,36,.13)!important}
 .fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:first-child:hover{box-shadow:0 24px 50px rgba(16,43,36,.17)!important}
}



@media(max-width:820px){
 .fm-body.fm-page-home .fm-page-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:first-child{grid-column:1/-1!important;grid-template-columns:1fr 1fr!important;grid-template-rows:320px!important}
 .fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:first-child>img{height:320px!important}
 .fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:not(:first-child)>img{height:210px!important}
 .fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:nth-child(4){grid-column:1/-1!important}
}
@media(max-width:620px){
 .fm-body.fm-page-home .fm-page-card-grid{grid-template-columns:minmax(0,1fr)!important}
 .fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:first-child{display:flex!important;grid-column:1/-1!important;grid-template-columns:none!important;grid-template-rows:none!important}
 .fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:first-child>img{height:245px!important}
 .fm-body.fm-page-home .fm-page-card-grid>.fm-page-card:nth-child(n)>div{padding:24px!important}
}
/* GALLERIES / ART DIRECTED: large image first, complementary rooms/details. */
.fm-body.fm-page-apartment .fm-gallery{background:#f8f3eb!important}
.fm-body.fm-page-apartment .fm-gallery .fm-section-title{max-width:860px;margin-inline:auto!important;font-size:clamp(40px,4vw,64px)!important;text-wrap:balance!important}
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-grid-all,
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-preview{
 display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;
 grid-auto-rows:clamp(145px,14.2vw,225px)!important;gap:12px!important;
 max-height:none!important;overflow:visible!important;align-items:stretch!important
}
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item{
 display:block;position:relative;grid-column:span 2;grid-row:span 1;
 width:100%!important;height:100%!important;aspect-ratio:auto!important;
 border:0!important;border-radius:2px!important;overflow:hidden!important;
 box-shadow:none!important;background:#e5d8c7!important
}
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item img,
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-grid img{
 width:100%!important;height:100%!important;max-height:none!important;
 object-fit:cover!important;aspect-ratio:auto!important;transition:transform .48s ease!important
}
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:nth-child(1){grid-column:span 6;grid-row:span 2}
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:nth-child(2),
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:nth-child(3){grid-column:span 3}
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:nth-child(4),
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:nth-child(5),
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:nth-child(6){grid-column:span 2}
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item::after,
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item::before { content: none !important; display: none !important; }
.fm-body.fm-page-apartment .fm-gallery-grid-all:not(.is-expanded) .fm-gallery-item:nth-child(n+7){display:none!important}
.fm-body.fm-page-apartment .fm-gallery-grid-all.is-expanded{grid-auto-rows:clamp(110px,11vw,170px)!important}
.fm-body.fm-page-apartment .fm-gallery-grid-all.is-expanded .fm-gallery-item:nth-child(n+7){grid-column:span 3;grid-row:span 1}
/* Native gallery buttons keep their lightbox behavior; no decorative arrow badge. */

/* Compact text elsewhere: add one editorial whitespace pause instead of extra UI boxes. */
.fm-body.fm-page-apartment .fm-apartment .fm-split{gap:clamp(34px,5vw,88px)!important;align-items:center!important}
.fm-body.fm-page-apartment .fm-apartment .fm-image-card{border:0!important;border-radius:2px!important;box-shadow:17px 17px 0 #eee5d5!important;overflow:hidden!important}
.fm-body.fm-page-apartment .fm-apartment .fm-copy h2{font-size:clamp(39px,4vw,59px)!important;line-height:1.13!important;text-wrap:balance!important}
.fm-body.fm-page-apartment .fm-seo-stay .fm-seo-grid{border-top:1px solid #c6ae8b;padding-top:18px}
.fm-body.fm-page-apartment .fm-seo-stay .fm-seo-grid article{background:transparent!important;box-shadow:none!important;border:0!important;border-right:1px solid #e3d7c7!important}
.fm-body.fm-page-apartment .fm-seo-stay .fm-seo-grid article:last-child{border-right:0!important}
.fm-body.fm-page-apartment .fm-ideal-grid article{border-top:1px solid #c6ae8b!important;border-bottom:0!important;padding-top:21px!important}



@media (max-width: 800px){
 .fm-body.fm-page-apartment .fm-gallery .fm-gallery-grid-all{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-rows:clamp(138px,25vw,205px)!important;gap:10px!important}
 .fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:first-child{grid-column:span 4;grid-row:span 2}
 .fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:nth-child(2),.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:nth-child(3){grid-column:span 2}
 .fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:nth-child(4),.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:nth-child(5),.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:nth-child(6){grid-column:span 2}
 .fm-body.fm-page-apartment .fm-gallery-grid-all.is-expanded .fm-gallery-item:nth-child(n+7){grid-column:span 2}
}
@media(max-width:600px){
 .fm-body.fm-page-apartment .fm-gallery .fm-gallery-grid-all{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:clamp(155px,45vw,210px)!important;gap:8px!important}
 .fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:first-child{grid-column:1/-1;grid-row:span 1}
 .fm-body.fm-page-apartment .fm-gallery .fm-gallery-item:nth-child(n+2){grid-column:span 1;grid-row:span 1}
 .fm-body.fm-page-apartment .fm-gallery-grid-all.is-expanded .fm-gallery-item:nth-child(n+7){grid-column:span 1}
}


/* HOME: editorial photo composition and V3 previews.
   The only page with a thumbnail strip; apartment gallery remains on apartment page. */
/* Older hero-sync stylesheet sets a green, padded full-height .fm-hero.
   Reset that specifically on this new editorial homepage hero. */
body.fm-body.fm-page-home .fm-page section.fm-hero.fm-v4-home-hero {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 !important;
  align-items: initial !important;
  background: #f6f1e8 !important;
  overflow: hidden !important;
  border: 0 !important;
}
body.fm-body.fm-page-home .fm-page section.fm-hero.fm-v4-home-hero::before,
body.fm-body.fm-page-home .fm-page section.fm-hero.fm-v4-home-hero::after {
  content: none !important;
  display: none !important;
}
.fm-body.fm-page-home .fm-v4-hero-layout{
  width:100%!important;max-width:none!important; margin:0!important; padding:0!important;
  display:grid!important;grid-template-columns:minmax(0, 44%) minmax(0, 56%)!important;
  gap:0!important;align-items:stretch!important;
}
.fm-body.fm-page-home .fm-v4-hero-copy{
  position:relative;z-index:1;min-width:0;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(54px,6vw,104px) clamp(24px,4vw,72px) clamp(50px,6vw,92px)
          max(24px,calc((100vw - 1440px)/2 + 38px));
  background:radial-gradient(ellipse at 0 25%,#fffaf2 0%,#f6f1e8 67%);
  color:#102b24;
}
.fm-body.fm-page-home .fm-v4-eyebrow{
  margin:0 0 22px!important;display:flex;align-items:center;gap:15px;
  font:700 11px/1.4 Inter,sans-serif;letter-spacing:.24em;text-transform:uppercase;
  color:#967441!important;
}
.fm-body.fm-page-home .fm-v4-eyebrow::before{content:"";display:block;width:38px;height:1px;background:#a48759}
.fm-body.fm-page-home .fm-v4-hero-copy h1{
  max-width:10.5em!important;margin:0 0 23px!important;
  font:500 clamp(44px,4.7vw,78px)/1.055 Newsreader,Georgia,serif!important;
  letter-spacing:-.047em!important;color:#102b24!important;text-shadow:none!important;
  text-wrap:balance;
}
.fm-body.fm-page-home .fm-v4-hero-intro{
  margin:0!important;max-width:52ch;
  font:400 clamp(13px,1.03vw,16px)/1.72 Inter,sans-serif!important;
  color:#40534b!important;
}
.fm-body.fm-page-home .fm-v4-hero-actions{
  margin:26px 0 0!important;display:flex!important;gap:12px!important;flex-wrap:wrap!important;
  justify-content:flex-start!important;align-items:center!important;
}
.fm-body.fm-page-home .fm-v4-hero-actions .fm-btn{
  min-height:49px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center!important;line-height:1.15!important;
  font:700 12px Inter,sans-serif!important;white-space:normal!important;
}
.fm-body.fm-page-home .fm-v4-hero-actions .fm-btn-primary{background:#b89a66!important;border-color:#b89a66!important;color:#102b24!important}
.fm-body.fm-page-home .fm-v4-hero-actions .fm-btn-light{background:transparent!important;border:1px solid #87968c!important;color:#102b24!important}
.fm-body.fm-page-home .fm-v4-hero-photos{
  display:grid;grid-template-rows:minmax(0,1fr) auto;
  min-width:0; min-height:570px;background:#e5dacb;
}
.fm-body.fm-page-home .fm-v4-hero-photos .fm-gallery-item,
.fm-body.fm-page-home .fm-v4-more-photos{
  position:relative;display:block;overflow:hidden;width:100%!important;height:100%!important;
  min-width:0!important;margin:0!important;padding:0!important;border:0!important;
  background:#203b33;box-shadow:none!important;border-radius:0!important;
  cursor:pointer;appearance:none;text-align:left;
}
.fm-body.fm-page-home .fm-v4-main-photo{min-height:380px!important}
.fm-body.fm-page-home .fm-v4-hero-photos img{
  display:block;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
  object-fit:cover!important;object-position:center 46%;border-radius:0!important;
  transition:transform .35s ease;
}
.fm-body.fm-page-home .fm-v4-main-photo img{object-position:center 53%}
.fm-body.fm-page-home .fm-v4-hero-thumbs{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;
  height:clamp(125px,11.2vw,166px);background:#f6f1e8;padding:4px 0 0;
}
.fm-body.fm-page-home .fm-v4-thumb span{
  position:absolute;z-index:2;left:0;right:0;bottom:0;padding:18px 8px 7px;
  background:linear-gradient(transparent,rgba(5,29,23,.72));
  color:white;font:650 10px Inter,sans-serif;text-align:center;
  pointer-events:none;
}
.fm-body.fm-page-home .fm-v4-more-photos{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  text-align:center!important;color:#f8edda!important;text-decoration:none!important;
  font:700 12px/1.3 Inter,sans-serif;
}
.fm-body.fm-page-home .fm-v4-more-photos span{font:500 40px/1 Newsreader,Georgia,serif;color:#ddc398}
.fm-body.fm-page-home .fm-v4-more-photos strong{padding:0 8px}
.fm-body.fm-page-home .fm-v4-home-hero .fm-lightbox{position:fixed;z-index:999999}
.fm-body.fm-page-home .fm-v4-hero-photos .fm-gallery-item:focus-visible,
.fm-body.fm-page-home .fm-v4-more-photos:focus-visible{outline:3px solid #b89a66!important;outline-offset:-3px!important}
@media(hover:hover) and (pointer:fine){
 .fm-body.fm-page-home .fm-v4-hero-photos .fm-gallery-item:hover img{transform:scale(1.035)}
 .fm-body.fm-page-home .fm-v4-more-photos:hover{background:#315548}
}


/* =============================================================
   FLAT MARGARET — FINAL HERO SYSTEM
   Desktop interior heroes: consistent height, contained original imagery,
   only a subtle edge feather, flush-left editorial copy.
   Homepage: established collage; mobile: stacked with no cropping.
   ============================================================= */

/* Homepage, desktop */
@media (min-width: 1101px) {
  .fm-body.fm-page-home .fm-v4-hero-layout {
    grid-template-columns: minmax(0,47%) minmax(0,53%) !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-copy {
    isolation: isolate;
    padding: clamp(66px,5vw,92px) clamp(16px,1.2vw,24px) clamp(58px,4.8vw,78px) clamp(42px,4.1vw,82px) !important;
    justify-content: center !important;
    overflow: hidden;
    background: linear-gradient(104deg,#fbf8f2 0%,#f6f1e8 100%);
  }
  .fm-body.fm-page-home .fm-v4-hero-copy::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: -42px;
    bottom: 3%;
    width: clamp(180px,16vw,300px);
    height: clamp(230px,23vw,390px);
    background: url('/images/decor/botanical-sprig.svg') center / contain no-repeat;
    opacity: .12;
    transform: rotate(-10deg);
    pointer-events: none;
  }
  .fm-body.fm-page-home .fm-v4-hero-copy > * {
    position: relative;
    z-index: 1;
  }
  .fm-body.fm-page-home .fm-v4-eyebrow {
    margin-bottom: clamp(17px,1.35vw,24px) !important;
    font-size: clamp(11px,.72vw,13px) !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-copy h1 {
    width: 100%;
    max-width: min(100%,760px) !important;
    margin: 0 0 clamp(18px,1.3vw,25px) !important;
    font-size: clamp(60px,4.65vw,82px) !important;
    line-height: 1.01 !important;
    letter-spacing: -.047em !important;
    text-wrap: balance;
  }
  html[lang="en"] .fm-body.fm-page-home .fm-v4-hero-copy h1 {
    font-size: clamp(54px,4.08vw,72px) !important;
    line-height: 1.04 !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-intro {
    max-width: min(100%,58ch);
    font-size: clamp(15px,1vw,17.5px) !important;
    line-height: 1.72 !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-actions {
    margin-top: clamp(21px,1.65vw,30px) !important;
    gap: 12px !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-actions .fm-btn {
    min-height: 53px !important;
    padding-inline: clamp(18px,1.35vw,26px) !important;
    font-size: clamp(12px,.82vw,14px) !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-photos {
    height: clamp(640px,43.5vw,725px);
    min-height: 0;
  }
  .fm-body.fm-page-home .fm-v4-hero-thumbs {
    height: clamp(175px,12.8vw,215px);
    gap: 5px;
    padding-top: 5px;
  }
}
@media (min-width: 821px) and (max-width: 1100px) {
  .fm-body.fm-page-home .fm-v4-hero-layout {
    grid-template-columns: minmax(0,46%) minmax(0,54%) !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-copy {
    padding: 78px 14px 50px clamp(28px,3.7vw,42px);
    justify-content: center;
  }
  .fm-body.fm-page-home .fm-v4-hero-copy h1 {
    max-width: 100% !important;
    font-size: clamp(48px,4.85vw,58px) !important;
    line-height: 1.03 !important;
  }
  html[lang="en"] .fm-body.fm-page-home .fm-v4-hero-copy h1 {
    font-size: clamp(43px,4.25vw,52px) !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-photos {
    height: clamp(610px,62vw,690px);
    min-height: 0;
  }
  .fm-body.fm-page-home .fm-v4-hero-thumbs {
    height: clamp(138px,16vw,172px);
  }
}
@media (min-width: 821px) {
  .fm-body.fm-page-home .fm-v4-main-photo {
    min-height: 0 !important;
  }
  /* The homepage keeps the natural photo: no artificial beige fade. */
  .fm-body.fm-page-home .fm-v4-main-photo::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-photos .fm-v4-main-photo,
  .fm-body.fm-page-home .fm-v4-hero-photos .fm-v4-thumb {
    position: relative;
    display: block;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
    height: 100%;
    cursor: default;
  }
  .fm-body.fm-page-home .fm-v4-hero-photos .fm-v4-thumb img,
  .fm-body.fm-page-home .fm-v4-hero-photos .fm-v4-main-photo img {
    height: 100%;
    transition: none !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-thumbs .fm-v4-thumb:nth-child(4) img {
    object-position: center 81%;
  }
}


/* ================================================================
   FLAT MARGARET – CONSOLIDATED HERO RULES (October 19)
   Exactly one inner-hero set for desktop / tablet / mobile.
   The homepage DESKTOP collage lives above and is intentionally untouched.
   ================================================================ */
@media (min-width: 1101px) {
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    height: 610px !important;
    min-height: 610px !important;
    max-height: 610px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #f6f1e8 !important;
    border-bottom: 1px solid #e2d4bf !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 0 0 46% !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;
    background-image: var(--fm-subhero-image) !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    filter: none !important;
    opacity: 1 !important;
  }
  body.fm-body.fm-page-location .fm-page .fm-subhero::before {
    background-image: var(--fm-subhero-image-tablet, var(--fm-subhero-image)) !important;
  }
  /* Tiny feather at the photo edge only. The rest of the photo stays sharp. */
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero-overlay {
    /* Clean editorial split: keep the photograph fully sharp. */
    display: none !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero-inner {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 62px 38px 43px clamp(64px, 5.8vw, 118px) !important;
    margin: 0 !important;
    text-align: left !important;
    color: #102b24 !important;
    isolation: isolate !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero-inner::before {
    content: "";
    position: absolute;
    left: -29px;
    bottom: 15px;
    width: 125px;
    height: 205px;
    background: url('/images/decor/botanical-sprig.svg') center / contain no-repeat;
    opacity: .10;
    pointer-events: none;
    z-index: 0;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero-inner > * {
    position: relative !important;
    z-index: 1 !important;
    max-width: min(42%, 680px) !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero h1 {
    width: auto !important;
    max-width: min(42%, 680px) !important;
    margin: 0 0 17px !important;
    font: 500 clamp(47px, 3.6vw, 66px)/1.07 Newsreader, Georgia, serif !important;
    letter-spacing: -.042em !important;
    color: #102b24 !important;
    text-shadow: none !important;
    text-wrap: balance;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-lead {
    max-width: min(42%, 660px) !important;
    margin: 0 0 22px !important;
    font: 400 clamp(14px, .94vw, 16px)/1.7 Inter, sans-serif !important;
    color: #40544b !important;
    text-shadow: none !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-breadcrumb {
    position: static !important;
    transform: none !important;
    top: auto !important;
    display: flex !important;
    margin: 0 0 15px !important;
    min-height: 0 !important;
    color: #587064 !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-breadcrumb a {color: #587064 !important;}
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-kicker {
    margin: 0 0 14px !important;
    font: 700 11px/1.45 Inter, sans-serif !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
    color: #977548 !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-hero-actions {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    margin: 0 !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-hero-actions .fm-btn {min-height: 48px !important;}
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-hero-actions .fm-btn-light {
    background: transparent !important;
    border: 1px solid #84958a !important;
    color: #102b24 !important;
  }
}
@media (min-width: 821px) and (max-width: 1100px) {
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    height: 575px !important;
    min-height: 575px !important;
    max-height: 575px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #f6f1e8 !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 0 0 48% !important;
    width: auto !important;
    height: auto !important;
    background-image: var(--fm-subhero-image-tablet, var(--fm-subhero-image)) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    transform: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    filter: none !important;
    opacity: 1 !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero-overlay {
    /* Clean editorial split: keep the photograph fully sharp. */
    display: none !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero-inner {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    position: relative !important;
    z-index: 2 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 48px 24px 36px clamp(42px, 5vw, 58px) !important;
    margin: 0 !important;
    text-align: left !important;
    color: #102b24 !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero-inner > * {max-width: 45% !important;}
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero h1 {
    max-width: 45% !important;
    font: 500 clamp(39px, 4.4vw, 50px)/1.07 Newsreader, Georgia, serif !important;
    color: #102b24 !important;
    text-shadow: none !important;
    margin: 0 0 14px !important;
    text-wrap: balance;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-lead {
    max-width: 45% !important;
    font: 400 13px/1.7 Inter, sans-serif !important;
    color: #40544b !important;
    text-shadow: none !important;
    margin: 0 0 16px !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-breadcrumb {
    position: static !important;
    transform: none !important;
    margin: 0 0 14px !important;
    color: #587064 !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-kicker {color:#977548 !important;text-shadow:none !important;margin:0 0 12px !important;}
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-hero-actions {display:flex !important;gap:8px !important;flex-wrap:wrap !important;margin:0 !important;}
}

/* Mobile page heroes: picture, then copy; safe clearance below the sticky header.
   No fixed large min-height. Long HU/EN titles can grow naturally. */
@media (max-width: 820px) {
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero {
    position: relative !important;
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 0 32px !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #f6f1e8 !important;
    box-sizing: border-box !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 0 auto !important;
    width: 100% !important;
    height: clamp(230px, 58vw, 340px) !important;
    background-image: var(--fm-subhero-image-mobile, var(--fm-subhero-image)) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero-overlay {display:none !important;}
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero-inner {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    width: calc(100% - 42px) !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: calc(clamp(230px, 58vw, 340px) + 28px) 0 0 !important;
    text-align: left !important;
    color: #102b24 !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero-inner > * {max-width:100% !important;min-width:0 !important;}
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-breadcrumb {position:static !important;transform:none !important;top:auto !important;margin:0 0 17px !important;color:#587064 !important;}
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-kicker {margin:0 0 15px !important;color:#977548 !important;text-shadow:none !important;}
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero h1 {
    max-width:100% !important;
    font:500 clamp(35px, 8.6vw, 48px)/1.09 Newsreader, Georgia, serif !important;
    letter-spacing:-.038em !important;
    margin:0 0 16px !important;
    text-wrap:balance;
    overflow-wrap:break-word;
    color:#102b24 !important;
    text-shadow:none !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-lead {
    max-width:100% !important;
    margin:0 0 24px !important;
    font:400 14px/1.68 Inter,sans-serif !important;
    color:#40544b !important;
    text-shadow:none !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-hero-actions {
    display:flex !important;flex-wrap:wrap !important;gap:10px !important;
    justify-content:flex-start !important;margin:0 !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-hero-actions .fm-btn {min-height:46px !important;}
  /* Secondary action: distinct forest green beside the gold booking action (mobile only). */
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-hero-actions .fm-btn-light {
    color: #fffaf2 !important;
    background: #10352b !important;
    border: 1px solid #10352b !important;
    box-shadow: none !important;
  }
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-hero-actions .fm-btn-light:hover,
  body.fm-body .fm-page:not(.fm-page-home) .fm-subhero .fm-hero-actions .fm-btn-light:focus-visible {
    background: #194b3d !important;
    border-color: #194b3d !important;
    color: #ffffff !important;
  }
}

/* Homepage: MOBILE-ONLY correction. The desktop hero remains exactly as above. */
@media (max-width:820px) {
  body.fm-body.fm-page-home .fm-page section.fm-v4-home-hero {padding:0 !important;min-height:0 !important;height:auto !important;background:#f6f1e8 !important;}
  /* Photo story on mobile: hero image, four equal photos, then editorial copy. */
  .fm-body.fm-page-home .fm-v4-hero-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "photo" "thumbs" "copy" !important;
    gap: 0 !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-photos {display:contents !important;}
  .fm-body.fm-page-home .fm-v4-main-photo {
    grid-area:photo !important;height:clamp(240px,54vw,365px) !important;min-height:0 !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-copy {
    grid-area:copy !important;min-width:0;padding:30px 29px 28px !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-copy h1 {
    max-width:100% !important;font-size:clamp(39px,7.8vw,56px) !important;line-height:1.08 !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-actions {margin-top:23px !important;}
  /* Four compact square photographs in ONE ROW on phones and small tablets.
     No sideways swipe, room captions, coloured overlays or extra gallery button. */
  .fm-body.fm-page-home .fm-v4-hero-thumbs {
    grid-area:thumbs !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-template-rows:auto !important;
    grid-auto-flow:row !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    overflow-x:clip !important;
    scroll-snap-type:none !important;
    -webkit-overflow-scrolling:auto !important;
    gap:4px !important;
    padding:4px 0 0 !important;
    box-sizing:border-box !important;
    background:#f6f1e8 !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-thumbs > .fm-v4-thumb {
    display:block !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    flex:none !important;
    scroll-snap-align:none !important;
    border:0 !important;
    border-radius:0 !important;
    position:relative !important;
    overflow:hidden !important;
    background:transparent !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-thumbs .fm-v4-thumb img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center !important;
    filter:none !important;
    opacity:1 !important;
    transform:none !important;
  }
  .fm-body.fm-page-home .fm-v4-hero-thumbs .fm-v4-thumb span,
  .fm-body.fm-page-home .fm-v4-hero-thumbs .fm-v4-thumb::before,
  .fm-body.fm-page-home .fm-v4-hero-thumbs .fm-v4-thumb::after,
  .fm-body.fm-page-home .fm-v4-main-photo::after {
    display:none !important;
    content:none !important;
    background:none !important;
  }
  /* The existing copy CTA still links to the gallery, so the fifth tile is not needed on mobile. */
  .fm-body.fm-page-home .fm-v4-hero-thumbs > .fm-v4-more-photos {
    display:none !important;
  }

}
@media (max-width:600px) {
  .fm-body.fm-page-home .fm-v4-main-photo {height:clamp(225px,64vw,285px) !important;}
  .fm-body.fm-page-home .fm-v4-hero-copy {padding:29px 20px 27px !important;}
  .fm-body.fm-page-home .fm-v4-hero-copy h1 {font-size:clamp(36px,9.1vw,46px) !important;max-width:100% !important;line-height:1.07 !important;margin-bottom:14px !important;}
  .fm-body.fm-page-home .fm-v4-eyebrow {font-size:10px !important;gap:11px !important;margin-bottom:14px !important;}
  .fm-body.fm-page-home .fm-v4-eyebrow::before {width:26px !important;}
  .fm-body.fm-page-home .fm-v4-hero-intro {font-size:13px !important;line-height:1.65 !important;}
  .fm-body.fm-page-home .fm-v4-hero-actions {flex-direction:column !important;align-items:stretch !important;gap:10px !important;margin-top:21px !important;width:100% !important;}
  .fm-body.fm-page-home .fm-v4-hero-actions .fm-btn {width:100% !important;min-height:47px !important;}
}

/* Remove large external-link emoji badges from apartment gallery without losing lightbox triggers. */
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item::after,
.fm-body.fm-page-apartment .fm-gallery .fm-gallery-item::before {content:none !important;display:none !important;}

/* Accessible, branded checkbox instead of native dark-mode black square (iOS). */
.fm-body.fm-page-booking .fm-booking-inquiry .fm-privacy-check input[type="checkbox"] {
  -webkit-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
  display:inline-grid !important;
  place-content:center !important;
  width:21px !important;height:21px !important;min-width:21px !important;min-height:21px !important;
  padding:0 !important;
  margin:2px 0 0 !important;
  background:#fffdf7 !important;
  border:2px solid #ac905f !important;
  border-radius:5px !important;
  box-shadow:none !important;
  cursor:pointer;
  flex:0 0 21px !important;
  color-scheme:light !important;
}
.fm-body.fm-page-booking .fm-booking-inquiry .fm-privacy-check input[type="checkbox"]:checked {
  background:#b89a66 !important;
  border-color:#b89a66 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath fill='none' stroke='%23102b24' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round' d='M3 9l4 4 8-8'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:16px 16px !important;
}
.fm-body.fm-page-booking .fm-booking-inquiry .fm-privacy-check input[type="checkbox"]:focus-visible {outline:3px solid #184a38 !important;outline-offset:3px !important;}

/* FAQ: font weight is kept clean and legible. */
.fm-body.fm-page-booking .fm-faq .fm-accordion-trigger {font-weight:600 !important;line-height:1.5 !important;letter-spacing:0 !important;}
.fm-body.fm-page-booking .fm-faq .fm-accordion-trigger span {font-weight:600 !important;}

/* Editorial mobile: prevent overflowing italic headlines and dark route-board cards. */
@media (max-width:760px) {
  .fm-v2-portrait-grid,.fm-v2-neighbourhood-grid,.fm-v2-next-inner,.fm-v2-guide-signpost-inner,
  .fm-v2-portrait-copy,.fm-v2-neighbourhood-copy,.fm-v2-route-board,
  .fm-v2-next-inner>div,.fm-v2-next-inner>ol {min-width:0 !important;max-width:100% !important;}
  .fm-v2-portrait h2,.fm-v2-neighbourhood h2,.fm-v2-next-steps h2,.fm-v2-guide-signpost h2 {
    max-width:100% !important;
    font-size:clamp(32px,8.2vw,39px) !important;
    line-height:1.12 !important;
    overflow-wrap:break-word !important;
    text-wrap:balance !important;
  }
  .fm-v2-neighbourhood-copy>p,.fm-v2-next-inner>div>p,
  .fm-v2-portrait-copy>p {max-width:100% !important;overflow-wrap:break-word !important;}
  .fm-v2-route-board>div {grid-template-columns:28px minmax(0,1fr) !important;gap:7px 13px !important;}
  .fm-v2-route-board strong,.fm-v2-route-board small {min-width:0 !important;overflow-wrap:break-word !important;}
}
@media (max-width:450px) {
  .fm-v2-portrait h2,.fm-v2-neighbourhood h2,.fm-v2-next-steps h2,.fm-v2-guide-signpost h2 {font-size:clamp(30px,8vw,37px) !important;}
}
@media (prefers-reduced-motion: reduce) {
  .fm-body.fm-page-home .fm-v4-hero-photos img {transition:none !important;}
}

/* Audit: inline form feedback and robust keyboard focus. */
.fm-booking-form .fm-field-error { display:block; font:500 12px/1.5 Inter,sans-serif; color:#9c342d; margin:6px 0 0; }
.fm-booking-form [aria-invalid="true"] { border-color:#ac433b !important; outline:2px solid #ac433b !important; outline-offset:1px !important; }
.fm-booking-form .fm-date-wrap:has([aria-invalid="true"]) [data-date-display] { border-color:#ac433b !important; }
.fm-body .fm-nav-toggle:focus-visible,.fm-body .fm-menu-close:focus-visible,
.fm-body .fm-lightbox button:focus-visible,.fm-body .fm-booking-form button:focus-visible {outline:3px solid #bd9b61 !important;outline-offset:3px !important;}
/* Per the editorial design, FAQ questions should be easy to scan, not ultra-bold. */
.fm-body .fm-faq .fm-accordion-trigger,.fm-body .fm-faq .fm-accordion-trigger span {font-weight:600 !important;line-height:1.55 !important;}


/* ===============================================================
   Flat Margaret editorial drawer · only affects mobile navigation.
   The homepage desktop hero / inner heroes are intentionally untouched.
   =============================================================== */
@media (max-width:1250px) {
  body.fm-body .fm-mobile-menu {
    display:flex !important;
    flex-direction:column !important;
    position:fixed !important;
    inset:0 auto 0 0 !important;
    width:min(86vw,390px) !important;
    max-width:390px !important;
    height:100vh !important;
    height:100dvh !important;
    box-sizing:border-box !important;
    z-index:1201 !important;
    padding:0 0 env(safe-area-inset-bottom,0px) !important;
    overflow:hidden !important;
    background:#f7f2e9 !important;
    background-image:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-right:1px solid #d6c6ab !important;
    box-shadow:15px 0 55px rgba(11,30,23,.23) !important;
    opacity:1 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translate3d(-105%,0,0) !important;
    transition:transform .34s cubic-bezier(.22,.72,.24,1),visibility 0s linear .34s !important;
    isolation:isolate;
  }
  body.fm-body .fm-mobile-menu.open {
    transform:translate3d(0,0,0) !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transition:transform .34s cubic-bezier(.22,.72,.24,1),visibility 0s !important;
  }
  body.fm-body .fm-mobile-head {
    flex:0 0 auto !important;
    display:flex !important;
    gap:12px !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:calc(86px + env(safe-area-inset-top,0px)) !important;
    height:calc(86px + env(safe-area-inset-top,0px)) !important;
    padding:env(safe-area-inset-top,0px) 23px 0 !important;
    box-sizing:border-box !important;
    border-bottom:1px solid #dbcfbd !important;
    background:transparent !important;
  }
  body.fm-body .fm-mobile-head .fm-brand {min-width:0 !important;flex-shrink:1 !important;}
  body.fm-body .fm-mobile-head .fm-brand-symbol {max-width:42px !important;max-height:42px !important;}
  body.fm-body .fm-mobile-head .fm-brand-wordmark {max-width:176px !important;}
  body.fm-body .fm-mobile-head .fm-brand-sub {color:#64776d !important;}
  body.fm-body .fm-menu-close {
    flex:0 0 44px !important;
    display:grid !important;
    place-items:center !important;
    width:44px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 !important;
    font:400 23px/1 Inter,Arial,sans-serif !important;
    color:#102b24 !important;
    border:1px solid #d8cbb6 !important;
    background:#fcfaf5 !important;
    border-radius:50% !important;
    cursor:pointer;
  }
  body.fm-body .fm-mobile-links {
    position:relative !important;
    display:flex !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:stretch !important;
    width:100% !important;
    max-height:none !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    gap:0 !important;
    margin:0 !important;
    padding:29px 25px 34px !important;
    box-sizing:border-box !important;
    background:transparent !important;
    counter-reset:fmDrawerLink;
  }
  body.fm-body .fm-drawer-eyebrow {
    margin:0 0 20px !important;
    color:#8c714a !important;
    text-transform:uppercase !important;
    letter-spacing:.17em !important;
    font:650 10px/1.5 Inter,Arial,sans-serif !important;
  }
  body.fm-body .fm-mobile-links > a:not(.fm-mobile-cta) {
    display:flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    gap:14px !important;
    width:100% !important;
    min-height:62px !important;
    padding:11px 0 !important;
    border:0 !important;
    border-bottom:1px solid #ded3c4 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#102b24 !important;
    text-decoration:none !important;
    font:500 clamp(24px,3.2vw,32px)/1.06 Newsreader,Georgia,serif !important;
    letter-spacing:-.024em !important;
    white-space:normal !important;
    counter-increment:fmDrawerLink;
  }
  body.fm-body .fm-mobile-links > a:not(.fm-mobile-cta)::before {
    content:counter(fmDrawerLink,decimal-leading-zero);
    flex:0 0 22px;
    font:700 10px/1.2 Inter,Arial,sans-serif;
    letter-spacing:.08em;
    color:#a58a5c;
  }
  body.fm-body .fm-mobile-links > a.is-current:not(.fm-mobile-cta),
  body.fm-body .fm-mobile-links > a[aria-current="page"]:not(.fm-mobile-cta) {color:#8a6b40 !important;}
  body.fm-body .fm-mobile-links > a:not(.fm-mobile-cta):hover {color:#a27c47 !important;}
  body.fm-body .fm-mobile-links > .fm-mobile-cta {
    display:flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:52px !important;
    margin:26px 0 17px !important;
    padding:13px 18px !important;
    background:#b99b68 !important;
    background-image:none !important;
    border:1px solid #ad8c55 !important;
    color:#102b24 !important;
    border-radius:2px !important;
    font:700 13px/1.3 Inter,Arial,sans-serif !important;
    text-transform:none !important;
    text-align:center !important;
  }
  body.fm-body .fm-mobile-links > .fm-mobile-cta:hover {background:#ccb080 !important;}
  body.fm-body .fm-mobile-links .fm-lang-switch-mobile {
    display:inline-flex !important;
    align-self:flex-start !important;
    flex:0 0 auto !important;
    margin:5px 0 0 !important;
    border:1px solid #cbbb9f !important;
    border-radius:2px !important;
    background:#fdfbf7 !important;
  }
  body.fm-body .fm-mobile-links .fm-lang-switch-mobile a {
    color:#4b5d52 !important;
    font:650 11px/1 Inter,Arial,sans-serif !important;
    padding:11px 14px !important;
  }
  body.fm-body .fm-mobile-links .fm-lang-switch-mobile a.active,
  body.fm-body .fm-mobile-links .fm-lang-switch-mobile a[aria-current="page"] {color:#102b24 !important;background:#e4d4bb !important;}
  body.fm-body .fm-mobile-links .fm-lang-switch-mobile > span {background:#cbbb9f !important;}
  body.fm-body .fm-mobile-scrim {
    position:fixed !important;
    inset:0 !important;
    z-index:1200 !important;
    background:rgba(4,22,16,.54) !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .32s ease,visibility 0s linear .32s;
  }
  body.fm-body .fm-mobile-menu.open + .fm-mobile-scrim {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .32s ease,visibility 0s;
  }
  body.fm-body .fm-mobile-menu :focus-visible {
    outline:2px solid #957345 !important;
    outline-offset:3px !important;
  }
}
@media (min-width:1251px) {
  body.fm-body .fm-mobile-menu,
  body.fm-body .fm-mobile-scrim {display:none !important;}
}
@media (max-width:1250px) and (max-height:640px) {
  body.fm-body .fm-mobile-head {height:calc(70px + env(safe-area-inset-top,0px)) !important;min-height:calc(70px + env(safe-area-inset-top,0px)) !important;}
  body.fm-body .fm-mobile-links {padding-top:15px !important;padding-bottom:18px !important;}
  body.fm-body .fm-mobile-links > a:not(.fm-mobile-cta) {min-height:49px !important;font-size:24px !important;}
  body.fm-body .fm-mobile-links > .fm-mobile-cta {margin-top:17px !important;}
}
@media (prefers-reduced-motion: reduce) {
  body.fm-body .fm-mobile-menu,
  body.fm-body .fm-mobile-menu.open,
  body.fm-body .fm-mobile-scrim {transition:none !important;}
}
/* ===============================================================
   Flat Margaret — desktop-only homepage mockup composition (v5.2)
   Main story: compact editorial copy | dominant apartment photograph.
   Below: one continuous full-width strip of four rooms and gallery CTA.
   Does not change mobile (<=820px), internal heroes or navigation.
   =============================================================== */
@media (min-width: 821px) {
  /* Fixed desktop navbar is 82px tall; keep the full collage below it. */
  body.fm-body.fm-page-home .fm-page section.fm-hero.fm-v4-home-hero {
    margin-top: 82px !important;
  }
  body.fm-body.fm-page-home .fm-page .fm-v4-hero-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 41%) minmax(0, 59%) !important;
    grid-template-rows: minmax(450px, auto) clamp(134px, 10.8vw, 188px) !important;
    align-items: stretch !important;
    gap: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }
  /* Flatten the photo wrapper ONLY on desktop so the gallery spans both columns. */
  body.fm-body.fm-page-home .fm-page .fm-v4-hero-photos {
    display: contents !important;
    height: auto !important;
    min-height: 0 !important;
  }
  body.fm-body.fm-page-home .fm-page .fm-v4-hero-copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    padding: clamp(40px, 3.1vw, 62px) clamp(22px, 2.3vw, 43px)
             clamp(38px, 2.95vw, 59px) clamp(32px, 3.4vw, 78px) !important;
    justify-content: center !important;
  }
  body.fm-body.fm-page-home .fm-page .fm-v4-main-photo {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
  }
  body.fm-body.fm-page-home .fm-page .fm-v4-main-photo img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 52% !important;
  }
  body.fm-body.fm-page-home .fm-page .fm-v4-hero-thumbs {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 4px 0 0 !important;
    gap: 4px !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }
  body.fm-body.fm-page-home .fm-page .fm-v4-hero-thumbs > * {
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
  }
  body.fm-body.fm-page-home .fm-page .fm-v4-eyebrow {
    margin-bottom: clamp(12px, 1vw, 20px) !important;
  }
  body.fm-body.fm-page-home .fm-page .fm-v4-hero-copy h1 {
    font-size: clamp(47px, 3.8vw, 72px) !important;
    line-height: 1.045 !important;
    max-width: 100% !important;
    margin-bottom: clamp(15px, 1.15vw, 22px) !important;
  }
  html[lang="en"] body.fm-body.fm-page-home .fm-page .fm-v4-hero-copy h1 {
    font-size: clamp(43px, 3.45vw, 67px) !important;
  }
  body.fm-body.fm-page-home .fm-page .fm-v4-hero-intro {
    max-width: 56ch !important;
    font-size: clamp(13px, .89vw, 16px) !important;
    line-height: 1.65 !important;
  }
  body.fm-body.fm-page-home .fm-page .fm-v4-hero-actions {
    margin-top: clamp(18px, 1.55vw, 27px) !important;
  }
}
@media (min-width: 821px) and (max-width: 1100px) {
  body.fm-body.fm-page-home .fm-page .fm-v4-hero-layout {
    grid-template-columns: minmax(0, 43%) minmax(0, 57%) !important;
    grid-template-rows: minmax(440px, auto) clamp(120px, 13.2vw, 145px) !important;
  }
  body.fm-body.fm-page-home .fm-page .fm-v4-hero-copy {
    padding: 35px 18px 35px clamp(26px, 3vw, 35px) !important;
  }
  body.fm-body.fm-page-home .fm-page .fm-v4-hero-copy h1 {
    font-size: clamp(43px, 4.45vw, 49px) !important;
  }
  html[lang="en"] body.fm-body.fm-page-home .fm-page .fm-v4-hero-copy h1 {
    font-size: clamp(39px, 4.05vw, 45px) !important;
  }
}

/* ===============================================================
   Flat Margaret — desktop header typography refinement (v5.3)
   Navigation only. Home hero, internal heroes and mobile drawer
   deliberately unchanged. Desktop menu is hidden at <= 1250px.
   =============================================================== */
@media (min-width: 1251px) {
  body.fm-body .fm-navbar .fm-nav-menu ul {
    gap: clamp(16px, 1.45vw, 24px) !important;
  }
  body.fm-body .fm-navbar .fm-nav-menu ul > li > a {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: .005em !important;
  }
  body.fm-body .fm-navbar .fm-nav-menu > .fm-nav-cta {
    font-size: 13px !important;
    font-weight: 700 !important;
    min-height: 44px !important;
    padding: 11px 20px !important;
  }
}
