/* Flat Margaret, boutique editorial 2026-10-19. Scoped visual enhancement. */
:root{--fm-v2-green:#102b24;--fm-v2-gold:#a48759;--fm-v2-cream:#faf8f3;--fm-v2-rule:#dbcbb5}
.fm-v2-section{position:relative;isolation:isolate;scroll-margin-top:94px}
.fm-v2-section .fm-container{position:relative;z-index:1}
.fm-v2-eyebrow{display:flex;align-items:center;gap:12px;font:700 10px/1.6 Inter,sans-serif!important;letter-spacing:.16em;text-transform:uppercase;color:#a48759!important;margin:0 0 18px!important}
.fm-v2-eyebrow:before{content:"";width:27px;height:1px;background:#a48759}
.fm-v2-section h2{font-family:Newsreader,Georgia,serif!important;font-weight:500!important;line-height:1.09!important;letter-spacing:-.035em!important;text-wrap:balance;color:#102b24!important;margin:0 0 22px!important}
.fm-v2-section h2 em{font-style:italic;font-weight:400;color:#a48759}
.fm-v2-section p{line-height:1.72!important}
.fm-v2-text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;border-bottom:1px solid #a48759;color:#102b24!important;text-decoration:none!important;font:650 13px/1.4 Inter,sans-serif!important;transition:gap .22s ease}
.fm-v2-text-link:hover,.fm-v2-text-link:focus-visible{gap:23px}.fm-v2-text-link:focus-visible{outline:2px solid #a48759;outline-offset:4px}.fm-v2-text-link span{color:#a48759;font-size:19px}
/* Purely decorative arrow emoji is not needed on the text link. */
.fm-v2-text-link span[aria-hidden="true"]{display:none!important}
/* A composed, own-photography story rather than another grid of cards. */
.fm-v2-portrait,.fm-v2-neighbourhood,.fm-v2-next-steps{background:#102b24;overflow:hidden;padding:clamp(70px,9vw,126px) 0}
.fm-v2-portrait-grid,.fm-v2-neighbourhood-grid,.fm-v2-next-inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(35px,7vw,110px)}
.fm-v2-picture-story{position:relative;height:clamp(400px,43vw,590px)}
.fm-v2-picture-story figure{margin:0;overflow:hidden;background:#243e34}
.fm-v2-photo-main{position:absolute;left:0;top:0;width:81%;height:89%;box-shadow:16px 20px 0 rgba(190,164,119,.12)}
.fm-v2-photo-detail{position:absolute;bottom:0;right:0;width:38%;height:54%;border:6px solid #102b24;box-shadow:0 18px 34px rgba(0,0,0,.2)}
.fm-v2-picture-story img{width:100%;height:100%;display:block;object-fit:cover}
.fm-v2-photo-index{position:absolute;left:0;bottom:0;font:700 11px Inter,sans-serif;color:#cdb68d;letter-spacing:.15em}
.fm-v2-portrait h2,.fm-v2-neighbourhood h2,.fm-v2-next-steps h2{color:#fff9ef!important;font-size:clamp(40px,4.2vw,68px)!important}
.fm-v2-portrait h2 em,.fm-v2-neighbourhood h2 em{color:#ddc29a}
.fm-v2-portrait-copy>p:not(.fm-v2-eyebrow),.fm-v2-neighbourhood-copy>p:not(.fm-v2-eyebrow),.fm-v2-next-inner>div>p:not(.fm-v2-eyebrow){color:#d4dfd6!important;font-size:15px!important;max-width:53ch}
.fm-v2-portrait .fm-v2-text-link,.fm-v2-neighbourhood .fm-v2-text-link{color:#fff!important}
.fm-v2-tag-row{display:flex;gap:9px;flex-wrap:wrap;margin:29px 0 22px}.fm-v2-tag-row span{border:1px solid rgba(205,177,132,.4);padding:10px 13px;color:#ebd9c1;font:600 11px Inter,sans-serif}
/* Apartment: magazine-like image and three benefits. */
.fm-v2-amenity-story,.fm-v2-planner{background:#faf8f3;padding:clamp(70px,9vw,115px) 0}
.fm-v2-amenity-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(30px,4.4vw,72px);align-items:center}
.fm-v2-amenity-heading h2{font-size:clamp(38px,4.2vw,63px)!important}
.fm-v2-amenity-heading p:not(.fm-v2-eyebrow){color:#52645c!important;max-width:51ch}
.fm-v2-amenity-visual{position:relative;overflow:hidden;align-self:stretch;min-height:380px}
.fm-v2-amenity-visual img{width:100%;height:100%;min-height:380px;display:block;object-fit:cover}
.fm-v2-amenity-visual span{position:absolute;bottom:0;left:0;right:0;padding:45px 20px 18px;background:linear-gradient(0deg,rgba(12,39,31,.83),transparent);color:#fff;font:500 20px Newsreader,Georgia,serif}
.fm-v2-amenity-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:33px;border-top:1px solid #dbcbb5}
.fm-v2-amenity-facts>div{display:grid;grid-template-columns:30px 1fr;gap:7px 14px;align-content:start}
.fm-v2-amenity-facts b{grid-row:span 2;color:#a48759;font:700 12px Inter,sans-serif;padding-top:5px}
.fm-v2-amenity-facts strong{font:500 clamp(21px,1.8vw,28px) Newsreader,Georgia,serif;color:#102b24}
.fm-v2-amenity-facts p{grid-column:2;font-size:13px!important;color:#52645c!important;margin:0!important}
/* Neighbourhood: compact architectural route board. */
.fm-v2-neighbourhood:before{content:"";position:absolute;right:0;bottom:-40px;width:45%;height:300px;background:url('/images/decor/parliament-outline.svg') center/contain no-repeat;opacity:.07;pointer-events:none}
.fm-v2-route-board{border:1px solid rgba(220,184,129,.28);padding:10px 25px;background:rgba(0,0,0,.09)}
.fm-v2-route-board>div{display:grid;grid-template-columns:38px 1fr;gap:7px 15px;padding:23px 0;border-bottom:1px solid rgba(220,184,129,.25)}.fm-v2-route-board>div:last-child{border:0}
.fm-v2-route-board span{grid-row:1/3;font:700 12px Inter,sans-serif;color:#d3ba91}
.fm-v2-route-board strong{font:500 clamp(19px,1.9vw,28px)/1.2 Newsreader,Georgia,serif;color:#fff9ef}
.fm-v2-route-board small{grid-column:2;font:500 12px Inter,sans-serif;color:#c7d2cb}
/* Sightseeing planner; accessible interaction supplied by separate JS. */
.fm-v2-planner-header{display:grid;grid-template-columns:1.1fr .7fr;align-items:end;gap:35px;margin-bottom:22px}
.fm-v2-planner-header h2{font-size:clamp(40px,4.3vw,64px)!important;margin:0!important}
.fm-v2-planner-header>p{color:#52645c!important;font-size:14px!important;max-width:46ch}
.fm-v2-plan-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #d9c9b1;margin-bottom:20px}
.fm-v2-plan-tabs button{appearance:none;background:transparent;border:0;border-bottom:3px solid transparent;min-height:50px;cursor:pointer;color:#506158;font:650 12px Inter,sans-serif;padding:12px clamp(12px,2vw,32px)}
.fm-v2-plan-tabs button[aria-selected=true]{background:#f0e8dc;border-color:#a48759;color:#102b24}
.fm-v2-plan-tabs button:hover{background:#f3eee5}.fm-v2-plan-tabs button:focus-visible{outline:2px solid #102b24;outline-offset:2px}
.fm-v2-plan-panel{display:grid;grid-template-columns:55px minmax(0,1fr) minmax(200px,.42fr);align-items:center;gap:20px;min-height:275px;padding:24px;background:#fff;border:1px solid #e0d3bf}
.fm-v2-plan-panel[hidden]{display:none!important}.fm-v2-plan-num{align-self:start;color:#9c815a;font:700 12px Inter,sans-serif;padding-top:14px}
.fm-v2-plan-panel h3{font:500 clamp(28px,3vw,42px)/1.1 Newsreader,Georgia,serif;letter-spacing:-.02em;color:#102b24;margin:0 0 12px}
.fm-v2-plan-panel p{font-size:14px!important;color:#52645c!important;max-width:57ch}
.fm-v2-plan-panel a{font:700 12px Inter,sans-serif;color:#82643f;border-bottom:1px solid #a48759;text-decoration:none;padding-bottom:7px}
.fm-v2-plan-panel img{width:100%;height:230px;object-fit:cover;display:block}
/* Booking: clear three-step follow-up with unchanged form fields. */
.fm-v2-next-inner{align-items:start}
.fm-v2-next-steps h2{font-size:clamp(37px,3.6vw,52px)!important}
.fm-v2-next-steps ol{counter-reset:step;list-style:none;margin:0;padding:0}
.fm-v2-next-steps li{counter-increment:step;position:relative;padding:16px 0 17px 63px;border-bottom:1px solid rgba(220,184,129,.26)}
.fm-v2-next-steps li:last-child{border:0}
.fm-v2-next-steps li:before{content:'0' counter(step);position:absolute;left:0;top:12px;font:500 33px Newsreader,Georgia,serif;color:#d8be96}
.fm-v2-next-steps li strong{display:block;color:#fff9ef;font:600 16px Inter,sans-serif;margin-bottom:9px}
.fm-v2-next-steps li span{color:#c3d3c8;font:400 13px/1.7 Inter,sans-serif}
.fm-page-booking .fm-contact-form{border:1px solid #e5d8c7!important;box-shadow:0 20px 50px rgba(16,43,36,.09)!important}
/* Guide hub: restore heading legibility and create pathfinding. */
.fm-v2-guide-signpost{padding:clamp(66px,8vw,108px) 0;background:#eae0d1}
.fm-v2-guide-signpost-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,6vw,90px);align-items:center}
.fm-v2-guide-signpost h2{font-size:clamp(36px,4vw,60px)!important}
.fm-v2-signpost-links{border-top:1px solid #b9a78b}
.fm-v2-signpost-links a{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;min-height:78px;padding:10px 0;border-bottom:1px solid #b9a78b;text-decoration:none!important;font:600 clamp(13px,1.3vw,16px) Inter,sans-serif;color:#102b24!important}
.fm-v2-signpost-links span{font:700 11px Inter,sans-serif;color:#90724a}.fm-v2-signpost-links b[aria-hidden="true"]{display:none!important}
.fm-v2-signpost-links a:focus-visible{outline:2px solid #102b24;outline-offset:3px}
.fm-page-guide .fm-guide-intro .fm-copy,.fm-page-guide .fm-guide-intro-grid,.fm-page-guide .fm-guide-intro h2{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important}
.fm-page-guide .fm-guide-intro h2{font-size:clamp(32px,3.5vw,49px)!important;line-height:1.17!important;text-wrap:balance}
.fm-page-guide .fm-guide-card-media{overflow:hidden}.fm-page-guide .fm-guide-card-media img{transition:transform .3s ease}
@media(hover:hover){.fm-page-guide .fm-guide-card:hover .fm-guide-card-media img{transform:scale(1.03)}}
/* Reviews: recognisable host story, never invent guest testimonials. */
.fm-v2-host-quote{background:#f4eee7;padding:clamp(70px,8vw,105px) 0}
.fm-v2-host-quote-grid{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center;max-width:1050px}
.fm-v2-host-quote-grid figure{margin:0;border:8px solid #fff;background:#eee5d6;box-shadow:0 15px 35px rgba(16,43,36,.09)}
.fm-v2-host-quote-grid img{display:block;width:100%;height:355px;object-fit:cover;object-position:center top}
.fm-v2-host-quote h2{font-size:clamp(38px,3.6vw,55px)!important}
.fm-v2-host-quote p:not(.fm-v2-eyebrow){font-size:14px!important;color:#52645c!important}
.fm-page-reviews .fm-review-card{position:relative;border:1px solid rgba(164,135,89,.22)!important;box-shadow:0 14px 34px rgba(16,43,36,.07)!important}
.fm-page-reviews .fm-review-card:before{content:'“';position:absolute;right:12px;top:8px;color:rgba(164,135,89,.16);font:64px Georgia,serif;pointer-events:none}
/* Article: visible contextual step from informational guide to actual apartment. */
.fm-v2-article-bridge{display:grid;grid-template-columns:minmax(200px,.38fr) 1fr;max-width:980px;margin:clamp(28px,5vw,70px) auto;background:#fffdf9;border:1px solid #d9c7ac;box-shadow:0 15px 30px rgba(16,43,36,.05);overflow:hidden}
.fm-v2-article-bridge>img{display:block;width:100%;height:100%;min-height:250px;object-fit:cover}
.fm-v2-article-bridge>div{padding:clamp(24px,3vw,44px)}
.fm-v2-article-bridge h2{font:500 clamp(28px,3.3vw,42px)/1.13 Newsreader,Georgia,serif!important;color:#102b24;margin:0 0 12px!important}
.fm-v2-article-bridge p:not(.fm-v2-eyebrow){font:400 13px/1.7 Inter,sans-serif;color:#52645c}
.fm-v2-article-bridge>div>div{display:flex;flex-wrap:wrap;gap:18px;margin-top:17px}
.fm-v2-article-bridge a{font:700 12px Inter,sans-serif;text-decoration:none;border-bottom:1px solid #a48759;padding-bottom:7px;color:#81613a}
.fm-v2-article-bridge a:focus-visible{outline:2px solid #102b24;outline-offset:3px}
/* Mobile: intentionally composed, not scaled-down desktop. */
@media(max-width:760px){
 .fm-v2-portrait,.fm-v2-amenity-story,.fm-v2-neighbourhood,.fm-v2-planner,.fm-v2-guide-signpost,.fm-v2-host-quote,.fm-v2-next-steps{padding:64px 0}
 .fm-v2-portrait-grid,.fm-v2-neighbourhood-grid,.fm-v2-next-inner,.fm-v2-amenity-layout,.fm-v2-guide-signpost-inner,.fm-v2-host-quote-grid{grid-template-columns:1fr;gap:32px}
 .fm-v2-picture-story{height:clamp(320px,80vw,490px)}
 .fm-v2-portrait h2,.fm-v2-neighbourhood h2{font-size:clamp(36px,9vw,55px)!important}
 .fm-v2-amenity-heading h2,.fm-v2-guide-signpost h2,.fm-v2-next-steps h2{font-size:clamp(36px,8.8vw,49px)!important}
 .fm-v2-amenity-visual{min-height:310px}.fm-v2-amenity-visual img{min-height:310px;max-height:370px}
 .fm-v2-amenity-facts{grid-template-columns:1fr;gap:14px;padding-top:22px}
 .fm-v2-amenity-facts>div{border-bottom:1px solid #e5dacb;padding:6px 0 16px}
 .fm-v2-planner-header{grid-template-columns:1fr;gap:7px}
 .fm-v2-planner-header h2{font-size:clamp(38px,9vw,53px)!important}
 .fm-v2-plan-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
 .fm-v2-plan-tabs button{padding:11px 4px;font-size:11px;line-height:1.3}
 .fm-v2-plan-panel{grid-template-columns:1fr;gap:12px;padding:19px}.fm-v2-plan-num{padding:0}.fm-v2-plan-panel img{grid-row:2;height:190px}.fm-v2-plan-panel>div{grid-row:3}
 .fm-v2-host-quote-grid figure{max-width:245px}.fm-v2-host-quote-grid img{height:265px}
 .fm-v2-article-bridge{grid-template-columns:1fr}.fm-v2-article-bridge>img{height:205px;min-height:0}.fm-v2-article-bridge>div{padding:24px}
}
@media(max-width:450px){.fm-v2-picture-story{height:325px}.fm-v2-portrait h2,.fm-v2-neighbourhood h2{font-size:37px!important}.fm-v2-route-board{padding:8px 15px}.fm-v2-plan-panel h3{font-size:28px}}
@media(prefers-reduced-motion:reduce){.fm-v2-section *, .fm-v2-section *:before,.fm-v2-section *:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* QA fix: never let a portrait/landscape source intrinsic ratio stretch the editorial row. */
.fm-v2-amenity-visual{position:relative;aspect-ratio:1.25/1;min-height:0!important;align-self:stretch}
.fm-v2-amenity-visual img{position:absolute;inset:0;width:100%;height:100%;min-height:0!important;object-fit:cover;object-position:center}
@media(max-width:760px){.fm-v2-amenity-visual{aspect-ratio:1.14/1;min-height:0!important}.fm-v2-amenity-visual img{max-height:none!important;min-height:0!important}}

/* New two-language city guides use a comfortably readable single editorial column. */
.fm-v2-new-guide .fm-guide-layout{grid-template-columns:minmax(0,1fr)!important;max-width:900px!important;margin-inline:auto}
.fm-v2-new-guide .fm-guide-article{width:100%;min-width:0}
.fm-v2-new-guide .fm-guide-article h2{color:#102b24;font-size:clamp(27px,3vw,39px);line-height:1.17;letter-spacing:-.025em}
.fm-v2-new-guide .fm-guide-article p{max-width:75ch;color:#43564e;line-height:1.85}
.fm-v2-new-guide .fm-guide-article a{color:#7e613c;text-decoration-color:#a48759;text-underline-offset:3px}
.fm-v2-new-guide .fm-guide-article a:focus-visible{outline:2px solid #102b24;outline-offset:4px}
