:root{
  --mf-navy:#07131c;
  --mf-navy-2:#0b1b27;
  --mf-ink:#050b10;
  --mf-gold:#b89161;
  --mf-gold-soft:#d1ad7d;
  --mf-stone:#b7a38b;
  --mf-text:#f3eee7;
  --mf-muted:rgba(243,238,231,.68);
  --mf-line:rgba(184,145,97,.48);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--mf-ink);color:var(--mf-text)}
body{font-family:"Helvetica Neue",Arial,sans-serif;overflow-x:hidden}
button,a{font:inherit}

/* Shared luxury background */
.mf-shell{
  min-height:100vh;
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 18% 12%,rgba(184,145,97,.14),transparent 28%),
    linear-gradient(120deg,rgba(5,11,16,.90),rgba(7,19,28,.72) 48%,rgba(5,11,16,.94)),
    url("../images/mayfair-background.jpg") center/cover fixed no-repeat;
}
.mf-shell::before{
  content:"";position:fixed;inset:18px;z-index:-1;pointer-events:none;
  border:1px solid rgba(184,145,97,.52);border-radius:3px;
  box-shadow:0 0 70px rgba(0,0,0,.22) inset;
}
.mf-shell::after{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.32;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 85%);
}

/* Index / project selector */
.mf-home{
  min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:56px 24px 42px;
}
.mf-brand-main{width:min(430px,72vw);filter:drop-shadow(0 14px 32px rgba(0,0,0,.45));margin-bottom:36px}
.mf-project-grid{width:min(980px,92vw);display:grid;grid-template-columns:1fr 1fr;gap:22px}
.mf-project-card{
  appearance:none;border:1px solid var(--mf-line);padding:0;min-height:360px;position:relative;overflow:hidden;
  border-radius:22px;background:rgba(7,19,28,.62);color:var(--mf-text);cursor:pointer;text-align:left;
  box-shadow:0 24px 80px rgba(0,0,0,.34);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.mf-project-card:hover{transform:translateY(-6px);border-color:rgba(209,173,125,.88);box-shadow:0 30px 90px rgba(0,0,0,.48)}
.mf-project-card:focus-visible{outline:2px solid var(--mf-gold-soft);outline-offset:4px}
.mf-project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,11,16,.94) 4%,rgba(5,11,16,.18) 62%,rgba(5,11,16,.20));pointer-events:none}
.mf-project-card--mayfair{background:url("../images/mayfair-project.jpg") center 48%/cover no-repeat}
.mf-project-card--future{
  background:
    radial-gradient(circle at 70% 20%,rgba(184,145,97,.18),transparent 24%),
    repeating-radial-gradient(ellipse at 20% 0%,transparent 0 23px,rgba(184,145,97,.055) 24px 25px),
    linear-gradient(145deg,#0c1c27,#07131c 58%,#0b1116);
}
.mf-card-content{position:absolute;left:28px;right:28px;bottom:26px;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.mf-card-logo{width:min(255px,58%);filter:drop-shadow(0 8px 20px rgba(0,0,0,.45))}
.mf-card-title{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(27px,4vw,42px);line-height:1.02;color:var(--mf-gold-soft);margin:0}
.mf-card-kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mf-muted);margin-top:9px}
.mf-arrow{width:44px;height:44px;border:1px solid var(--mf-line);border-radius:50%;display:grid;place-items:center;color:var(--mf-gold-soft);font-size:23px;flex:0 0 auto;background:rgba(5,11,16,.28)}
.mf-home-footer{margin-top:22px;font-size:12px;letter-spacing:.18em;color:rgba(243,238,231,.46);text-transform:uppercase}

/* Modal */
.mf-modal{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(2,7,10,.76);backdrop-filter:blur(14px)}
.mf-modal.is-open{display:flex;animation:mfFade .22s ease both}
.mf-modal-card{width:min(520px,94vw);min-height:280px;border:1px solid var(--mf-line);border-radius:22px;background:linear-gradient(145deg,rgba(12,28,39,.97),rgba(5,11,16,.98));box-shadow:0 34px 100px rgba(0,0,0,.55);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px}
.mf-modal-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(184,145,97,.2);border-radius:16px;pointer-events:none}
.mf-modal-title{font-family:Georgia,"Times New Roman",serif;color:var(--mf-gold-soft);font-size:38px;font-weight:400;margin:0 0 9px}
.mf-modal-sub{color:var(--mf-muted);letter-spacing:.18em;text-transform:uppercase;font-size:12px}
.mf-modal-close{position:absolute;right:18px;top:15px;background:none;border:0;color:var(--mf-gold-soft);font-size:28px;cursor:pointer;padding:8px 12px}
@keyframes mfFade{from{opacity:0}to{opacity:1}}

/* Catalog click gate */
.mf-catalog-page{height:100vh;overflow:hidden;background:#07131c}
#container{position:absolute;inset:0;background:#07131c}
.mf-catalog-gate{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;cursor:pointer;overflow:hidden;background:rgba(7,19,28,.90);backdrop-filter:blur(8px);transition:opacity .5s ease,visibility .5s ease}
.mf-catalog-gate::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(5,11,16,.75),rgba(7,19,28,.45),rgba(5,11,16,.78)),url("../images/mayfair-background.jpg") center/cover no-repeat;transform:scale(1.025);z-index:-2}
.mf-catalog-gate::after{content:"";position:absolute;inset:24px;border:1px solid rgba(184,145,97,.58);z-index:-1;pointer-events:none}
.mf-catalog-gate.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.mf-gate-inner{text-align:center;padding:24px;display:flex;flex-direction:column;align-items:center}
.mf-gate-logo{width:min(520px,74vw);filter:drop-shadow(0 16px 34px rgba(0,0,0,.6));animation:mfLogoIn 1s cubic-bezier(.2,.7,.2,1) both}
.mf-gate-hint{margin-top:32px;color:rgba(243,238,231,.72);font-size:12px;letter-spacing:.24em;text-transform:uppercase;display:flex;align-items:center;gap:14px}
.mf-gate-hint::before,.mf-gate-hint::after{content:"";width:48px;height:1px;background:var(--mf-line)}
@keyframes mfLogoIn{from{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:none}}

/* Force a branded background behind the flipbook */
body.mf-catalog-page,
body.mf-catalog-page .flipbook-main-wrapper,
body.mf-catalog-page .flipbook-bg,
body.mf-catalog-page .fb3d-modal,
body.mf-catalog-page .flipbook-container{
  background-color:#07131c !important;
}
body.mf-catalog-page .flipbook-main-wrapper{
  background-image:linear-gradient(rgba(7,19,28,.58),rgba(5,11,16,.76)),url("../images/mayfair-background.jpg") !important;
  background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important;
}

@media (max-width:760px){
  .mf-home{justify-content:flex-start;padding-top:62px}
  .mf-brand-main{width:min(330px,78vw);margin-bottom:28px}
  .mf-project-grid{grid-template-columns:1fr;gap:16px}
  .mf-project-card{min-height:275px;border-radius:18px}
  .mf-card-content{left:22px;right:22px;bottom:20px}
  .mf-shell::before{inset:10px}
  .mf-home-footer{margin-bottom:18px}
}

/* ===== MAYFAIR viewport-fit + animated brand refinements ===== */
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
body{min-height:0}

/* Full-screen, no vertical scroll at desktop or mobile browser chrome sizes */
.mf-shell{
  width:100%;
  height:100vh;
  height:100svh;
  min-height:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 34%,rgba(203,157,100,.15),transparent 29%),
    radial-gradient(circle at 84% 14%,rgba(184,145,97,.12),transparent 24%),
    linear-gradient(118deg,rgba(3,9,14,.94),rgba(7,19,28,.64) 44%,rgba(4,10,15,.92)),
    url("../images/mayfair-background-v2.jpg") center center/cover no-repeat;
  background-attachment:scroll;
}
.mf-shell::before{position:absolute;inset:clamp(8px,1.45vw,20px);border-color:rgba(199,154,98,.55);box-shadow:0 0 80px rgba(0,0,0,.24) inset,0 0 40px rgba(184,145,97,.04)}
.mf-shell::after{
  position:absolute;
  opacity:.5;
  background:
    radial-gradient(circle at 50% 50%,rgba(214,173,117,.11) 0 1px,transparent 1.8px) 0 0/42px 42px,
    linear-gradient(110deg,transparent 18%,rgba(184,145,97,.07) 49.6%,rgba(184,145,97,.18) 50%,rgba(184,145,97,.07) 50.4%,transparent 82%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.92),rgba(0,0,0,.35) 75%,transparent 100%);
}

.mf-home{
  height:100vh;
  height:100svh;
  min-height:0;
  justify-content:center;
  padding:clamp(16px,2.6vh,30px) clamp(16px,2.5vw,34px) clamp(12px,2vh,22px);
}

/* Logo: elegant breathing motion and warm gold halo */
.mf-brand-main,
.mf-gate-logo{
  opacity:0;
  transform-origin:center center;
  animation:
    mfLogoReveal .9s cubic-bezier(.2,.78,.24,1) .08s forwards,
    mfLogoFloat 5.4s ease-in-out 1.05s infinite,
    mfLogoGlow 4.2s ease-in-out 1.05s infinite;
  will-change:transform,filter,opacity;
}
.mf-brand-main{
  width:min(390px,44vw);
  max-height:13.5vh;
  object-fit:contain;
  margin:0 0 clamp(10px,2.1vh,22px);
}
@keyframes mfLogoReveal{
  0%{opacity:0;filter:drop-shadow(0 0 0 rgba(190,145,92,0));}
  100%{opacity:1;}
}
@keyframes mfLogoFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(0,-6px,0) scale(1.012)}
}
@keyframes mfLogoGlow{
  0%,100%{filter:drop-shadow(0 12px 24px rgba(0,0,0,.48)) drop-shadow(0 0 10px rgba(184,145,97,.08))}
  50%{filter:drop-shadow(0 15px 34px rgba(0,0,0,.58)) drop-shadow(0 0 22px rgba(209,173,125,.24))}
}

/* Cards scale against viewport height instead of forcing scroll */
.mf-project-grid{
  width:min(930px,90vw);
  height:min(54vh,440px);
  min-height:0;
  grid-template-columns:1fr 1fr;
  gap:clamp(12px,1.7vw,22px);
}
.mf-project-card{
  min-height:0;
  height:100%;
  border-radius:clamp(14px,1.5vw,22px);
  background-color:rgba(7,19,28,.56);
  backdrop-filter:blur(3px) saturate(.88);
  box-shadow:0 22px 70px rgba(0,0,0,.39),inset 0 1px 0 rgba(255,255,255,.035);
}
.mf-project-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:linear-gradient(130deg,rgba(209,173,125,.08),transparent 32%,transparent 68%,rgba(184,145,97,.08));
  opacity:.8;
}
.mf-project-card:hover{transform:translateY(-4px) scale(1.008);box-shadow:0 28px 86px rgba(0,0,0,.52),0 0 0 1px rgba(209,173,125,.12) inset}
.mf-card-content{left:clamp(18px,2.2vw,28px);right:clamp(18px,2.2vw,28px);bottom:clamp(16px,2.2vh,26px)}
.mf-card-logo{width:min(240px,55%);max-height:9vh;object-fit:contain}
.mf-card-title{font-size:clamp(24px,3.3vw,40px)}
.mf-home-footer{margin-top:clamp(8px,1.8vh,18px);font-size:clamp(9px,1.2vh,12px)}

/* Catalog splash uses the same new project artwork and gets the same logo animation */
.mf-catalog-gate{height:100vh;height:100svh;overflow:hidden;background:rgba(5,12,18,.90)}
.mf-catalog-gate::before{
  background:
    radial-gradient(circle at 50% 44%,rgba(191,145,91,.12),transparent 26%),
    linear-gradient(118deg,rgba(3,9,14,.94),rgba(7,19,28,.62) 46%,rgba(3,9,14,.94)),
    url("../images/mayfair-background-v2.jpg") center/cover no-repeat;
  transform:scale(1.018);
}
.mf-catalog-gate::after{inset:clamp(9px,1.6vw,24px);border-color:rgba(199,154,98,.58)}
.mf-gate-logo{width:min(500px,68vw);max-height:29vh;object-fit:contain}
.mf-gate-hint{margin-top:clamp(18px,3.2vh,32px)}

body.mf-catalog-page .flipbook-main-wrapper{
  background-image:
    linear-gradient(rgba(5,13,19,.52),rgba(3,8,12,.72)),
    url("../images/mayfair-background-v2.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

/* Short laptop screens */
@media (max-height:720px) and (min-width:761px){
  .mf-brand-main{width:min(315px,38vw);max-height:10.5vh;margin-bottom:8px}
  .mf-project-grid{height:55vh;width:min(840px,86vw)}
  .mf-home-footer{margin-top:7px}
  .mf-card-kicker{font-size:10px}
}

/* Portrait/mobile: still one viewport, no page scroll */
@media (max-width:760px){
  .mf-home{
    justify-content:center;
    padding:clamp(12px,2.4vh,20px) 14px 10px;
  }
  .mf-brand-main{width:min(290px,72vw);max-height:10.5vh;margin:0 0 9px}
  .mf-project-grid{
    width:min(560px,91vw);
    height:68vh;
    grid-template-columns:1fr;
    grid-template-rows:1fr 1fr;
    gap:10px;
  }
  .mf-project-card{height:100%;min-height:0;border-radius:15px}
  .mf-card-content{left:18px;right:18px;bottom:14px}
  .mf-card-logo{width:min(190px,58%);max-height:7vh}
  .mf-card-title{font-size:clamp(22px,7vw,32px)}
  .mf-card-kicker{font-size:9px;margin-top:5px}
  .mf-arrow{width:36px;height:36px;font-size:19px}
  .mf-home-footer{margin-top:6px;margin-bottom:0;font-size:9px}
  .mf-shell::before{inset:7px}
  .mf-gate-logo{width:min(380px,75vw);max-height:22vh}
  .mf-gate-hint{font-size:9px;letter-spacing:.18em}
  .mf-gate-hint::before,.mf-gate-hint::after{width:28px}
}

@media (max-height:620px) and (max-width:760px){
  .mf-brand-main{max-height:8.5vh;width:min(245px,64vw)}
  .mf-project-grid{height:71vh}
  .mf-home-footer{display:none}
}

@media (prefers-reduced-motion:reduce){
  .mf-brand-main,.mf-gate-logo{animation:mfLogoReveal .2s ease forwards}
  .mf-project-card{transition:none}
}

/* ===== 2026-08 reference landing redesign ===== */
.mf-home--reference{
  position:relative;
  display:block;
  height:100vh;height:100svh;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 43%,rgba(188,137,77,.13),transparent 28%),
    linear-gradient(90deg,rgba(4,9,13,.83) 0%,rgba(5,12,18,.64) 38%,rgba(4,10,15,.43) 67%,rgba(4,9,13,.78) 100%),
    linear-gradient(180deg,rgba(4,9,13,.30),rgba(4,9,13,.18) 55%,rgba(3,7,10,.64)),
    url("../images/mayfair-home-bg.jpg") center center/cover no-repeat;
  isolation:isolate;
}
.mf-home--reference::before{
  position:absolute;inset:22px;z-index:4;
  border:1px solid rgba(199,149,89,.78);
  border-radius:0;
  box-shadow:0 0 0 1px rgba(0,0,0,.12) inset,0 0 55px rgba(0,0,0,.20) inset;
}
.mf-home--reference::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.68;
  background:
    repeating-linear-gradient(115deg,transparent 0 93px,rgba(200,151,92,.022) 94px,transparent 95px),
    linear-gradient(112deg,transparent 6%,rgba(199,149,89,.11) 6.08%,transparent 6.16%,transparent 75%,rgba(199,149,89,.07) 75.06%,transparent 75.13%);
  mix-blend-mode:screen;
}
.mf-home--reference .mf-corner{position:absolute;z-index:6;width:32px;height:32px;pointer-events:none}
.mf-home--reference .mf-corner::before,.mf-home--reference .mf-corner::after{content:"";position:absolute;background:rgba(199,149,89,.84)}
.mf-home--reference .mf-corner::before{width:32px;height:1px}
.mf-home--reference .mf-corner::after{width:1px;height:32px}
.mf-corner--tl{left:18px;top:18px}.mf-corner--tr{right:18px;top:18px;transform:rotate(90deg)}
.mf-corner--br{right:18px;bottom:18px;transform:rotate(180deg)}.mf-corner--bl{left:18px;bottom:18px;transform:rotate(270deg)}

.mf-home-brand{position:absolute;z-index:5;left:50%;top:4.7vh;transform:translateX(-50%);width:min(760px,48vw);height:22vh;display:grid;place-items:center;pointer-events:none}
.mf-home--reference .mf-brand-main{
  width:30%;height:100%;max-height:none;margin:0;object-fit:contain;
  opacity:0;animation:mfLogoReveal .8s cubic-bezier(.2,.78,.24,1) .05s forwards,mfLogoFloat 5.6s ease-in-out .95s infinite,mfLogoGlow 4.4s ease-in-out .95s infinite;
}

.mf-home-quote{position:absolute;z-index:5;left:5.5vw;top:43%;transform:translateY(-50%);width:250px;color:#d2a66f;text-align:center;font-family:Georgia,"Times New Roman",serif}
.mf-home-quote p{font-size:clamp(18px,1.55vw,27px);line-height:1.55;margin:8px 0;color:#d0a36a;text-shadow:0 2px 16px rgba(0,0,0,.5)}
.mf-quote-mark{display:flex;align-items:center;gap:10px;font-size:47px;line-height:.5;color:#c79557}
.mf-quote-mark::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(199,149,89,.85),transparent)}
.mf-quote-mark--end{justify-content:flex-end;transform:rotate(180deg)}

.mf-home--reference .mf-project-grid{
  position:absolute;z-index:5;left:50%;top:55.5%;transform:translate(-50%,-50%);
  width:min(700px,45.5vw);height:min(400px,47vh);display:grid;grid-template-columns:1fr 1fr;gap:18px;
}
.mf-home--reference .mf-project-card{
  height:100%;min-height:0;border-radius:16px;border:1px solid rgba(199,149,89,.72);
  background:linear-gradient(145deg,rgba(12,18,22,.88),rgba(5,10,14,.92));
  box-shadow:0 24px 70px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(9px) saturate(.9);text-align:center;overflow:hidden;
}
.mf-home--reference .mf-project-card::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(90deg,transparent,#d9aa70 45%,#f0c887 50%,#d9aa70 55%,transparent);opacity:.86;z-index:4;box-shadow:0 0 18px rgba(222,169,102,.38)}
.mf-home--reference .mf-project-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 20%,rgba(199,149,89,.09),transparent 35%);pointer-events:none}
.mf-home--reference .mf-project-card:hover{transform:translateY(-5px);border-color:#d6a568;box-shadow:0 30px 86px rgba(0,0,0,.5),0 0 28px rgba(199,149,89,.07)}
.mf-home--reference .mf-card-content--center{position:relative;inset:auto;z-index:3;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:25px}
.mf-card-icon,.mf-modal-icon{width:62px;height:62px;fill:none;stroke:#d2a15e;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px rgba(199,149,89,.15))}
.mf-card-label{margin:3px 0 0;font-weight:400;color:#d7aa70;font-size:clamp(20px,1.55vw,28px);letter-spacing:.05em;line-height:1.36}
.mf-home--reference .mf-card-kicker{font-size:clamp(10px,.78vw,13px);letter-spacing:.13em;color:#c59259;margin:0;text-transform:uppercase}
.mf-home--reference .mf-arrow{width:50px;height:50px;margin-top:12px;border-color:#d1a05f;color:#dfb271;background:rgba(4,9,12,.25);font-size:24px;transition:transform .3s ease,background .3s ease}
.mf-home--reference .mf-project-card:hover .mf-arrow{transform:translateX(3px);background:rgba(199,149,89,.08)}

.mf-project-address{position:absolute;z-index:5;left:4.5vw;bottom:6.6vh;display:flex;align-items:flex-start;gap:14px;color:#c79559;font-family:Georgia,"Times New Roman",serif;line-height:1.58;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.mf-project-address svg{width:31px;height:39px;fill:none;stroke:#c79559;stroke-width:1.8;margin-top:3px}
.mf-project-address strong{display:block;font-family:"Helvetica Neue",Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.08em;margin-bottom:4px}
.mf-project-address span{display:block;font-size:clamp(14px,1.05vw,19px)}
.mf-site-url{position:absolute;z-index:5;left:50%;bottom:4.4vh;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:#cfa269;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:clamp(15px,1.2vw,22px);letter-spacing:.02em;text-shadow:0 2px 12px rgba(0,0,0,.45);white-space:nowrap;transition:color .25s ease,transform .25s ease}
.mf-site-url:hover{color:#e2bb82;transform:translateX(-50%) translateY(-2px)}
.mf-globe{font-family:Arial,sans-serif;font-size:28px;color:#c79559}

.mf-home--reference .mf-modal{background:rgba(3,7,10,.82);backdrop-filter:blur(13px)}
.mf-home--reference + .mf-modal .mf-modal-card{border-radius:9px;background:linear-gradient(145deg,rgba(18,18,17,.97),rgba(7,10,11,.98));border-color:rgba(199,149,89,.56);min-height:320px}
.mf-home--reference + .mf-modal .mf-modal-title{font-family:"Helvetica Neue",Arial,sans-serif;font-size:26px;letter-spacing:.08em;color:#cfa269;text-transform:uppercase;margin-top:13px}
.mf-home--reference + .mf-modal .mf-modal-sub{color:#c79559;font-size:13px;letter-spacing:.16em}
.mf-modal-rule{display:flex;align-items:center;gap:10px;width:180px;margin:12px 0 14px}.mf-modal-rule span{height:1px;background:rgba(199,149,89,.58);flex:1}.mf-modal-rule i{width:7px;height:7px;border-radius:50%;background:#c79559}

/* Keep all landing content in one viewport */
@media (max-height:760px) and (min-width:801px){
  .mf-home-brand{top:2.8vh;height:20vh;width:min(650px,43vw)}
  .mf-home--reference .mf-project-grid{top:54%;height:43vh;width:min(640px,43vw)}
  .mf-home-quote{top:43%;left:4vw}
  .mf-project-address{bottom:4.8vh}
  .mf-site-url{bottom:3.2vh}
}
@media (max-width:1000px){
  .mf-home-quote{display:none}
  .mf-home--reference .mf-project-grid{width:min(700px,70vw)}
  .mf-home-brand{width:min(650px,62vw)}
}
@media (max-width:760px){
  .mf-home--reference::before{inset:9px}
  .mf-home-brand{top:2vh;width:74vw;height:16vh}
  .mf-home--reference .mf-project-grid{top:48%;width:82vw;height:52vh;grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:10px}
  .mf-home--reference .mf-card-content--center{padding:12px;gap:6px}
  .mf-card-icon{width:42px;height:42px}.mf-card-label{font-size:18px}.mf-home--reference .mf-card-kicker{font-size:9px}.mf-home--reference .mf-arrow{width:35px;height:35px;font-size:18px;margin-top:4px}
  .mf-project-address{left:5vw;bottom:2.6vh;gap:8px}.mf-project-address svg{width:22px;height:29px}.mf-project-address strong{font-size:9px}.mf-project-address span{font-size:11px;line-height:1.4}
  .mf-site-url{right:5vw;left:auto;bottom:3.2vh;transform:none;font-size:11px}.mf-site-url:hover{transform:translateY(-2px)}.mf-globe{font-size:18px}
}
@media (max-width:520px){
  .mf-project-address{display:none}
  .mf-site-url{left:50%;right:auto;transform:translateX(-50%);bottom:2.2vh}.mf-site-url:hover{transform:translateX(-50%) translateY(-2px)}
  .mf-home--reference .mf-project-grid{top:49.5%;height:58vh;width:84vw}
  .mf-home-brand{height:13vh}
}

/* ===== Catalog-in-modal update ===== */
html,body{height:100%}
body.mf-modal-open{overflow:hidden;touch-action:none}

/* Main brand slightly smaller */
.mf-home--reference .mf-home-brand{
  width:min(650px,42vw);
  height:18.5vh;
  top:4.2vh;
}

/* Mayfair card is self-explanatory; no extra click prompt */
.mf-home--reference .mf-project-card--mayfair .mf-card-content--center{
  justify-content:center;
}
.mf-home--reference .mf-project-card--mayfair .mf-card-label{
  margin-top:10px;
}

/* Full catalogue modal */
.mf-catalog-modal{
  z-index:1000;
  padding:clamp(10px,1.4vw,20px);
  background:rgba(2,6,9,.88);
  backdrop-filter:blur(14px) saturate(.9);
  -webkit-backdrop-filter:blur(14px) saturate(.9);
}
.mf-catalog-modal.is-open{display:flex}
.mf-catalog-modal-card{
  position:relative;
  width:min(1500px,97vw);
  height:min(940px,96vh);
  height:min(940px,96svh);
  overflow:hidden;
  border:1px solid rgba(199,149,89,.70);
  background:#07131c;
  box-shadow:0 34px 120px rgba(0,0,0,.68),0 0 0 1px rgba(255,255,255,.025) inset;
}
.mf-catalog-modal-card::after{
  content:"";
  position:absolute;
  inset:8px;
  z-index:4;
  border:1px solid rgba(199,149,89,.18);
  pointer-events:none;
}
.mf-catalog-frame{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#07131c;
}
.mf-catalog-modal-close{
  position:absolute;
  z-index:12;
  top:12px;
  right:12px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  padding:0 0 3px;
  border:1px solid rgba(209,173,125,.58);
  border-radius:50%;
  background:rgba(4,9,13,.82);
  color:#ddb276;
  font-size:29px;
  font-weight:200;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.30);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.mf-catalog-modal-close:hover{background:rgba(199,149,89,.16);border-color:#ddb276;transform:scale(1.04)}
.mf-catalog-modal-close:focus-visible{outline:2px solid #ddb276;outline-offset:3px}

/* Catalogue starts immediately when loaded in modal */
.mf-catalog-embedded,
.mf-catalog-embedded #container{
  width:100%;
  height:100vh;
  height:100dvh;
  min-height:0;
  margin:0;
  overflow:hidden;
  background:#07131c;
}
.mf-catalog-embedded .flipbook-main-wrapper{height:100% !important;min-height:0 !important}

@media (max-width:1000px){
  .mf-home--reference .mf-home-brand{width:min(570px,56vw);height:16.5vh}
}

@media (max-width:760px){
  .mf-home--reference .mf-home-brand{
    top:2.4vh;
    width:min(330px,64vw);
    height:12.5vh;
  }
  .mf-catalog-modal{
    padding:0;
    align-items:stretch;
  }
  .mf-catalog-modal-card{
    width:100vw;
    max-width:none;
    height:100vh;
    height:100dvh;
    max-height:none;
    border:0;
  }
  .mf-catalog-modal-card::after{inset:5px}
  .mf-catalog-modal-close{
    top:max(9px,env(safe-area-inset-top));
    right:max(9px,env(safe-area-inset-right));
    width:40px;
    height:40px;
    font-size:27px;
  }
}

@media (max-width:520px){
  .mf-home--reference .mf-home-brand{width:min(285px,60vw);height:10.5vh;top:2.2vh}
}

@media (orientation:landscape) and (max-height:520px){
  .mf-home--reference .mf-home-brand{top:1.5vh;width:min(300px,31vw);height:13vh}
  .mf-catalog-modal-close{width:38px;height:38px;font-size:25px}
}

.mf-catalog-embedded .flipbook-main-wrapper{
  background-image:linear-gradient(rgba(5,13,19,.42),rgba(3,8,12,.66)),url("../images/mayfair-home-bg.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
}

/* ===== Bottom partner logos ===== */
.mf-partner-logos{
  position:absolute;
  z-index:5;
  right:4.2vw;
  bottom:3.15vh;
  width:min(430px,29vw);
  height:clamp(62px,8.2vh,82px);
  display:grid;
  grid-template-columns:minmax(0,3.35fr) 1px minmax(54px,.9fr);
  align-items:center;
  gap:clamp(10px,1vw,15px);
  padding:clamp(8px,1vh,11px) clamp(12px,1.2vw,17px);
  border:1px dashed rgba(205,159,101,.28);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(7,16,22,.66),rgba(3,9,13,.48));
  box-shadow:0 14px 34px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025);
  backdrop-filter:blur(8px) saturate(.85);
  -webkit-backdrop-filter:blur(8px) saturate(.85);
  pointer-events:none;
}
@property --mf-border-angle{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}
.mf-partner-logos::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:1;
  border-radius:inherit;
  padding:1px;
  background:conic-gradient(
    from var(--mf-border-angle),
    transparent 0deg 306deg,
    rgba(221,178,118,.05) 316deg,
    rgba(231,195,142,.88) 335deg,
    rgba(221,178,118,.18) 349deg,
    transparent 360deg
  );
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:drop-shadow(0 0 3px rgba(221,178,118,.18));
  pointer-events:none;
  animation:mf-border-trace 4.8s linear infinite;
}
@keyframes mf-border-trace{
  to{--mf-border-angle:360deg}
}
@media (prefers-reduced-motion:reduce){
  .mf-partner-logos::before{animation:none;opacity:.5}
}
.mf-partner-logo-slot{
  min-width:0;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.mf-partner-logo{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.mf-partner-logo--nesterra{
  width:100%;
  height:auto;
  max-height:none;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.34));
}
.mf-partner-logo--lemsa{
  width:clamp(46px,4.35vw,65px);
  height:clamp(46px,6.2vh,61px);
  filter:brightness(0) saturate(100%) invert(73%) sepia(36%) saturate(709%) hue-rotate(350deg) brightness(91%) contrast(86%) drop-shadow(0 4px 9px rgba(0,0,0,.28));
}
.mf-partner-divider{
  width:1px;
  height:58%;
  background:linear-gradient(to bottom,transparent,rgba(199,149,89,.46),transparent);
}

@media (max-height:760px) and (min-width:1001px){
  .mf-partner-logos{bottom:2.4vh;height:58px;width:min(390px,28vw)}
  .mf-partner-logo--lemsa{width:44px;height:44px}
}
@media (max-width:1000px){
  .mf-partner-logos{right:3.5vw;width:min(360px,34vw)}
}
@media (max-width:760px){
  .mf-partner-logos{
    left:50%;
    right:auto;
    bottom:6.2vh;
    transform:translateX(-50%);
    width:min(360px,76vw);
    height:54px;
    grid-template-columns:minmax(0,3.5fr) 1px minmax(44px,.78fr);
    gap:9px;
    padding:6px 11px;
    border-radius:10px;
  }
  .mf-partner-logo--lemsa{width:40px;height:40px}
}
@media (max-width:520px){
  .mf-partner-logos{bottom:6.6vh;width:min(335px,78vw);height:50px;padding:5px 9px}
  .mf-partner-logo--lemsa{width:36px;height:36px}
}
@media (orientation:landscape) and (max-height:520px){
  .mf-partner-logos{
    left:auto;
    right:4vw;
    bottom:3.2vh;
    transform:none;
    width:min(300px,33vw);
    height:46px;
    padding:4px 9px;
  }
  .mf-partner-logo--lemsa{width:32px;height:32px}
}

/* ===== Brand hierarchy: MAYFAIR master brand / MAYFAIR LARA project ===== */
.mf-home--reference .mf-brand-main{
  width:min(610px,40vw);
  max-height:12vh;
  object-fit:contain;
}
.mf-home--reference .mf-project-card--mayfair .mf-card-logo--mayfair-lara{
  width:min(300px,66%);
  max-height:10vh;
  object-fit:contain;
  margin-top:10px;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.45));
}
@media (max-width:760px){
  .mf-home--reference .mf-brand-main{width:min(390px,68vw);max-height:9.5vh}
  .mf-home--reference .mf-project-card--mayfair .mf-card-logo--mayfair-lara{width:min(225px,62%);max-height:7.5vh;margin-top:6px}
}
@media (max-height:620px) and (min-width:761px){
  .mf-home--reference .mf-brand-main{width:min(430px,34vw);max-height:9vh}
  .mf-home--reference .mf-project-card--mayfair .mf-card-logo--mayfair-lara{width:min(245px,58%);max-height:7.5vh;margin-top:5px}
}
