/* MOTOR VAULT — SHARED PAGE CSS. Paste into ONE site-wide WPCode CSS snippet. */

:root{--ink:#0a0b0c;--char:#131519;--char2:#1b1e23;--silver:#c2c6cc;--mut:#8a9098;--line:rgba(255,255,255,.13);--gold:#BE9A3A;--gold-lit:#D8B856;--red:#C0102A;--red-lit:#E11331;--serif:"Fraunces",Georgia,serif;--sans:"Hanken Grotesk",system-ui,sans-serif;}
body.page,body.home{background:#0a0b0c !important;}
.fl-post-header,.fl-post-title,.page-title,.entry-title.fl-post-title{display:none !important;}
#fl-main-content,.fl-content,.fl-content-full,.fl-post-content{max-width:100% !important;width:100% !important;padding:0 !important;margin:0 !important;}
.fl-page,.fl-page-content{background:#0a0b0c !important;}
.mvp{font-family:var(--sans);color:#eceef1;background:var(--ink);}
.mvp *{box-sizing:border-box;}
.mvp .wrap{width:min(1280px,92vw);margin:0 auto;}
.mvp .ey{font-weight:700;font-size:1.2rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-lit);display:block;}
.mvp .rule{width:52px;height:2px;background:var(--gold-lit);margin-bottom:20px;}
.mvp h1{font-family:var(--serif);font-weight:300;font-size:clamp(3rem,6.5vw,5.4rem);line-height:.98;letter-spacing:-.02em;color:#fff;}
.mvp h1 em{font-style:italic;color:var(--gold-lit);}
.mvp h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.03;letter-spacing:-.015em;color:#fff;margin:10px 0 0;}
.mvp h2 em{font-style:italic;color:var(--gold-lit);}
.mvp h3{font-family:var(--serif);font-weight:400;font-size:1.8rem;color:#fff;}
.mvp p{font-size:1.32rem;line-height:1.72;color:#e9ebef;}
.mvp .btn{display:inline-block;background:var(--red);color:#fff;font-weight:800;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;padding:18px 38px;border-radius:3px;text-decoration:none;transition:.2s;box-shadow:0 10px 30px rgba(192,16,42,.3);}
.mvp .btn:hover{background:var(--red-lit);transform:translateY(-2px);}
.mvp .btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.45);box-shadow:none;}
.mvp .btn.ghost:hover{background:#fff;color:var(--ink);}
/* page hero */
.mvp-hero{min-height:72vh;display:flex;align-items:flex-end;overflow:hidden;}
.mvp-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.mvp-hero .bg::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,7,8,.94),rgba(6,7,8,.35) 60%,rgba(6,7,8,.55));}
.mvp-hero .in{position:relative;z-index:2;width:min(1280px,92vw);margin:0 auto;padding:80px 0 64px;}
.mvp-hero .crumb{color:#dde1e6;font-size:1rem;letter-spacing:.06em;margin-bottom:18px;}
.mvp-hero .crumb a{color:#dde1e6;text-decoration:none;}
.mvp-hero .pill{display:inline-block;font-weight:800;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;padding:12px 22px;border-radius:4px;margin-bottom:18px;}
.pill.now{background:#D8B856;color:#0a0b0c;box-shadow:0 6px 22px rgba(0,0,0,.55);}
/* Force-win over any older global stylesheet (mv-global.css) that renders .pill.now
   as faint gold-on-transparent — illegible on the dark hero. */
.mvp-hero .pill.now, .mvp .pill.now, span.pill.now{
  background:#D8B856 !important;color:#0a0b0c !important;
  border:none !important;font-size:1.2rem !important;padding:12px 22px !important;}
.pill.sold{background:#131519;color:#D8B856;border:1px solid rgba(216,184,86,.5);}
.pill.soon{background:rgba(10,11,12,.7);color:#e6e9ed;border:1px solid var(--line);}
.mvp-hero .pill.sold, .mvp .pill.sold, span.pill.sold{
  background:#131519 !important;color:#D8B856 !important;
  border:1px solid rgba(216,184,86,.5) !important;font-size:1.2rem !important;padding:12px 22px !important;}
.mvp-hero .pill.soon, .mvp .pill.soon, span.pill.soon{
  background:rgba(10,11,12,.82) !important;color:#eceef1 !important;
  border:1px solid rgba(255,255,255,.3) !important;font-size:1.2rem !important;padding:12px 22px !important;}
.mvp-hero .sub{margin-top:20px;max-width:52ch;font-size:1.5rem;color:#eceef1;}
.mvp-hero .meta{margin-top:16px;font-size:1.5rem;line-height:1.4;color:var(--gold-lit);font-family:var(--serif);}
.mvp-hero .cta{display:flex;gap:16px;margin-top:28px;flex-wrap:wrap;}
/* sections */
.mvp-sec{padding:clamp(64px,7vw,104px) 0;}
.mvp-sec.dark{background:var(--ink);}
/* split */
.mvp-split{display:grid;grid-template-columns:1fr 1fr;min-height:min(72vh,640px);}
.mvp-split .media{background-size:cover;background-position:center;min-height:400px;}
.mvp-split.framed{background:var(--ink);align-items:center;}
.mvp-split.framed .txt{background:transparent;}
.mvp-split.framed .media{min-height:0;aspect-ratio:16/11;align-self:center;border-radius:14px;margin:clamp(24px,4vw,52px);border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 60px rgba(0,0,0,.45);}
.mvp-split .txt{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,90px);background:var(--ink);}
.mvp-split.alt .media{order:2;}
.mvp-split.dark .txt{background:var(--char);}
@media(max-width:860px){.mvp-split{grid-template-columns:1fr;}.mvp-split.alt .media{order:0;}.mvp-split .media{min-height:320px;}}
.mvp ul.chk{list-style:none;margin:22px 0 0;padding:0;}
.mvp ul.chk li{position:relative;padding:12px 0 12px 26px;font-size:1.22rem;color:#eceef1;border-top:1px solid rgba(255,255,255,.07);}
.mvp ul.chk li:first-child{border-top:none;}
.mvp ul.chk li::before{content:'';position:absolute;left:0;top:20px;width:8px;height:8px;background:var(--gold-lit);transform:rotate(45deg);}
.mvp ul.chk b{color:#fff;}
/* band */
.mvp-band{height:min(70vh,560px);overflow:hidden;display:flex;align-items:flex-end;}
.mvp-band .bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.mvp-band .bg::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,7,8,.85),rgba(6,7,8,.1) 55%,rgba(6,7,8,.35));}
.mvp-band .cap{position:relative;z-index:2;width:min(1280px,92vw);margin:0 auto;padding-bottom:56px;}
.mvp-band p{max-width:54ch;margin-top:14px;font-size:1.4rem;color:#dfe3e8;}
/* spec grid */
.mvp-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px;}
@media(max-width:640px){.mvp-specs{grid-template-columns:repeat(2,1fr);}}
.mvp-specs .s{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02);padding:26px 16px;text-align:center;}
.mvp-specs .s b{display:block;font-family:var(--serif);font-weight:300;font-size:2.2rem;color:var(--gold-lit);line-height:1;}
.mvp-specs .s span{display:block;font-size:0.9rem;letter-spacing:.1em;text-transform:uppercase;color:#d8dce1;margin-top:10px;font-weight:700;}
/* closing */
.mvp-close{text-align:center;padding:clamp(80px,12vw,130px) 0;overflow:hidden;}
.mvp-close .bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.mvp-close .bg::after{content:'';position:absolute;inset:0;background:rgba(6,7,8,.8);}
.mvp-close .in{position:relative;z-index:2;width:min(860px,92vw);margin:0 auto;}
.mvp-close p{font-size:1.45rem;color:#dfe3e8;margin:18px auto 0;max-width:52ch;}
.mvp-close .cta{margin-top:28px;}
/* gallery grid */
.mvp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px;}
@media(max-width:760px){.mvp-gallery{grid-template-columns:repeat(2,1fr);}}
.mvp-gallery .g{aspect-ratio:4/3;border-radius:12px;overflow:hidden;}
.mvp-gallery .g img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.mvp-gallery .g:hover img{transform:scale(1.06);}
/* faq */
.mvp-faq{margin-top:30px;}
.mvp-faq details{border:1px solid var(--line);border-radius:12px;background:var(--char);margin-top:12px;overflow:hidden;}
.mvp-faq summary{cursor:pointer;padding:22px 26px;color:#fff;font-weight:600;font-size:1.32rem;list-style:none;}
.mvp-faq summary::-webkit-details-marker{display:none;}
.mvp-faq .a{padding:0 26px 22px;color:#e2e5ea;font-size:1.22rem;line-height:1.6;}

/* force theme container full-width so breakout math is correct */
.fl-page,.fl-page-content,.fl-content,.fl-content-full,.fl-post-content,#fl-main-content,.fl-row-content-wrap{
  max-width:100% !important;width:100% !important;padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important;overflow-x:clip;
}

/* SAFE full-width: works even inside constrained theme containers */
.mvp-hero,.mvp-band,.mvp-close{
  position:relative;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  width:100vw;
  max-width:100vw;
}
/* prevent any horizontal overflow globally on pages */
.mvp{overflow-x:clip;}
html,body{overflow-x:clip;}

.mvp-team{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:38px;}
@media(max-width:760px){.mvp-team{grid-template-columns:1fr;}}
.mvp-team .tm{border:1px solid var(--line);border-radius:14px;background:var(--char);padding:32px;}
.mvp-team .tm h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;color:#fff;}
.mvp-team .tm .role{display:block;font-size:0.9rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lit);margin:6px 0 14px;}
.mvp-team .tm p{font-size:1.12rem;line-height:1.6;color:#e2e5ea;}

@media(max-width:820px){
  .mvp-sec [style*="grid-template-columns:1fr 1fr 1fr"]{grid-template-columns:1fr !important;gap:24px !important;}
  .mvp-sec [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;gap:30px !important;}
}

/* LOCATIONS landing grid */
.mvp-locgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:38px;}
.mvp-locgrid.three{grid-template-columns:repeat(3,1fr);}
@media(max-width:820px){.mvp-locgrid,.mvp-locgrid.three{grid-template-columns:1fr !important;}}
.mvp-loc{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--char);display:block;text-decoration:none;transition:transform .25s,border-color .25s;}
.mvp-loc:hover{transform:translateY(-4px);border-color:rgba(216,184,86,.5);}
.mvp-loc .img{aspect-ratio:16/10;background-size:cover;background-position:center;position:relative;}
.mvp-loc .img .pill2{position:absolute;top:16px;left:16px;font-weight:800;font-size:0.9rem;letter-spacing:.08em;text-transform:uppercase;padding:9px 16px;border-radius:2px;}
.mvp-loc .b{padding:26px 28px 30px;}
.mvp-loc h3{font-family:var(--serif);font-weight:400;font-size:2rem;color:#fff;margin-bottom:8px;}
.mvp-loc .meta{display:block;color:#dde1e6;font-size:1.12rem;margin-bottom:6px;}
.mvp-loc .price{display:block;font-family:var(--serif);font-size:1.4rem;color:var(--gold-lit);}
.pill2.now{background:rgba(216,184,86,.95);color:#141414;}
.pill2.sold{background:rgba(192,16,42,.95);color:#fff;}
.pill2.soon{background:rgba(10,11,12,.8);color:#e6e9ed;border:1px solid var(--line);}

/* PRESS/MEDIA article grid */
.mvp-press{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:12px;}
@media(max-width:820px){.mvp-press{grid-template-columns:1fr;}}
.mvp-art{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--char);display:flex;flex-direction:column;text-decoration:none;transition:transform .25s,border-color .25s;}
.mvp-art:hover{transform:translateY(-4px);border-color:rgba(216,184,86,.5);}
.mvp-art .img{aspect-ratio:16/9;background-size:cover;background-position:center;}
.mvp-art .b{padding:28px 30px 30px;display:flex;flex-direction:column;gap:12px;flex:1;}
.mvp-art h3{font-family:var(--serif);font-weight:400;font-size:1.6rem;line-height:1.15;color:#fff;}
.mvp-art p{font-size:1.12rem;line-height:1.55;color:#e2e5ea;}
.mvp-art .rd{margin-top:auto;color:var(--gold-lit);font-weight:700;font-size:1.05rem;letter-spacing:.03em;}

/* WP Carousel wrapper */
.mvp-carousel{margin-top:38px;}
.mvp-carousel .sp-wpcarousel,.mvp-carousel img{border-radius:12px;}

/* audit additions */
.mvp-chk.twocol{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;}
@media(max-width:720px){.mvp-chk.twocol{grid-template-columns:1fr;}}
.mvp-faq p{color:#e9ebef;font-size:1.18rem;line-height:1.65;margin:0 0 18px;}
.mvp-faq strong{color:#fff;}

/* ===== FIX: classes used by audit-added sections (site plans, renderings, maps, FAQ, area) ===== */
.mvp-wrap{width:min(1280px,92vw);margin:0 auto;}
.mvp-h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.03;letter-spacing:-.01em;color:#fff;margin:0 0 18px;}
.mvp-h2 em{font-style:italic;color:var(--gold-lit);}
.mvp-h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:#fff;margin:26px 0 10px;}
.mvp-lead{color:#e9ebef;font-size:1.28rem;line-height:1.7;max-width:70ch;}
.mvp-wrap[style*="text-align:center"] .mvp-lead{margin-left:auto;margin-right:auto;}
.mvp-gallery img{display:block;}
.mvp-vid{position:relative;padding-bottom:56.25%;height:0;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.14);margin-top:26px;}
.mvp-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* team photos */
.mvp-team .tm{text-align:left;}
.tm-photo{width:120px;height:120px;border-radius:50%;background-size:cover;background-position:center top;border:2px solid rgba(216,184,86,.5);margin-bottom:18px;}

/* ===== MV INTERACTIVE COMPONENTS (hotspots, mezz slider, render gallery, lightbox, gallery collapse) ===== */
.mvp-disclaimer{color:#6f757b;font-size:0.9rem;line-height:1.55;max-width:640px;margin-top:12px;font-style:italic;}
/* hotspots */
.mv-hs-frame{position:relative;margin:30px auto 0;border:1px solid rgba(255,255,255,.14);border-radius:12px;overflow:hidden;aspect-ratio:3/2;max-height:62vh;max-width:calc(62vh * 1.5);width:100%;}
.mv-hs-frame img{width:100%;height:100%;object-fit:cover;display:block;margin:0;max-width:none;}
.mv-dot{position:absolute;width:22px;height:22px;border-radius:50%;background:#BE9A3A;border:0;cursor:pointer;transform:translate(-50%,-50%);z-index:3;padding:0;animation:mv-pulse 2.4s infinite;}
.mv-dot:hover,.mv-dot.active{background:#fff;}
@keyframes mv-pulse{0%{box-shadow:0 0 0 0 rgba(190,154,58,.6);}70%{box-shadow:0 0 0 16px rgba(190,154,58,0);}100%{box-shadow:0 0 0 0 rgba(190,154,58,0);}}
.mv-hs-panel{position:absolute;bottom:16px;left:16px;right:16px;z-index:20;background:rgba(10,11,12,.94);border:1px solid rgba(216,184,86,.35);border-radius:10px;padding:16px 18px;backdrop-filter:blur(10px);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,transform .3s,visibility .3s;pointer-events:none;}
.mv-hs-panel.show{opacity:1;visibility:visible;transform:none;}
.mv-hs-panel .t{font-family:var(--serif);font-weight:400;font-size:1.2rem;color:#D8B856;}
.mv-hs-panel .d{color:#e9ebef;font-size:0.95rem;margin-top:4px;line-height:1.55;}
/* mezz before/after */
.mv-ba-frame{position:relative;margin-top:30px;border:1px solid rgba(255,255,255,.14);border-radius:12px;overflow:hidden;aspect-ratio:3/2;cursor:ew-resize;user-select:none;touch-action:none;}
.mv-ba-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;margin:0;max-width:none;}
.mv-ba-after{clip-path:inset(0 0 0 50%);}
.mv-ba-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;z-index:3;pointer-events:none;}
.mv-ba-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;pointer-events:none;width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(0,0,0,.5);color:#C0102A;font-weight:800;font-size:14px;letter-spacing:2px;}
.mv-ba-tag{position:absolute;bottom:14px;z-index:3;font-size:0.9rem;letter-spacing:.18em;text-transform:uppercase;background:rgba(10,11,12,.72);border:1px solid rgba(255,255,255,.2);padding:6px 11px;border-radius:999px;pointer-events:none;color:#f2f0ea;font-weight:800;}
.mv-ba-tag.l{left:14px;}
.mv-ba-tag.r{right:14px;color:#D8B856;}
/* render gallery */
.mv-grid{margin-top:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:100%;}
@media(max-width:820px){.mv-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.mv-grid{grid-template-columns:1fr;}}
.mv-card{position:relative;aspect-ratio:4/3;border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;background:#131519;margin:0;transition:border-color .3s;}
.mv-card:hover{border-color:#BE9A3A;}
.mv-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;margin:0;max-width:none;transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.mv-card:hover img{transform:scale(1.05);}
.mv-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0) 62%,rgba(0,0,0,.30) 82%,rgba(0,0,0,.66) 100%);}
.mv-card .cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;margin:0;}
.mv-card .n{font-size:0.9rem;letter-spacing:.16em;color:#D8B856;font-weight:800;text-shadow:0 1px 5px rgba(0,0,0,.8);}
.mv-card .t{font-family:var(--serif);font-weight:400;font-size:1.25rem;margin-top:2px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.75);}
.mv-card .blurb{font-size:0.9rem;color:#e9ebef;line-height:1.45;margin-top:5px;max-height:0;opacity:0;overflow:hidden;text-shadow:0 1px 5px rgba(0,0,0,.8);transition:max-height .45s ease,opacity .35s ease;}
.mv-card:hover .blurb{max-height:70px;opacity:1;}
.mv-card::after{transition:background .35s ease;}
.mv-card:hover::after{background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.48) 72%,rgba(0,0,0,.82) 100%);}
.mv-render-tag{position:absolute;top:12px;right:12px;z-index:3;font-size:0.9rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#e8e6e0;background:rgba(10,11,12,.72);border:1px solid rgba(255,255,255,.22);padding:4px 9px;border-radius:999px;backdrop-filter:blur(4px);}
/* lightbox */
.mv-lb{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:5vh 6vw;background:rgba(6,7,8,.94);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s;}
.mv-lb.open{display:flex;opacity:1;}
.mv-lb-stage{position:relative;margin:0;max-width:min(920px,calc(100vw - 170px));width:100%;display:flex;flex-direction:column;align-items:center;}
.mv-lb-stage img{max-width:100%;max-height:70vh;width:auto;height:auto;display:block;border:1px solid rgba(255,255,255,.14);border-radius:10px;margin:0;}
.mv-lb-tag{position:absolute;top:12px;right:12px;z-index:3;font-size:0.9rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#e8e6e0;background:rgba(10,11,12,.75);border:1px solid rgba(255,255,255,.22);padding:4px 9px;border-radius:999px;}
.mv-lb-cap{text-align:center;margin-top:16px;max-width:620px;}
.mv-lb-n{font-size:0.9rem;letter-spacing:.16em;color:#BE9A3A;font-weight:800;}
.mv-lb-t{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:#fff;margin-top:3px;}
.mv-lb-d{font-size:0.95rem;color:#9aa0a6;line-height:1.5;margin-top:6px;}
.mv-lb button{position:absolute;background:rgba(10,11,12,.7);border:1px solid rgba(255,255,255,.18);color:#f2f0ea;cursor:pointer;border-radius:50%;transition:.2s;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;z-index:5;}
.mv-lb button:hover{background:#BE9A3A;color:#0a0b0c;border-color:#BE9A3A;}
.mv-lb-close{top:3vh;right:3vw;width:46px;height:46px;font-size:28px;}
.mv-lb-prev,.mv-lb-next{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:30px;}
.mv-lb-prev{left:2vw;}
.mv-lb-next{right:2vw;}
@media(max-width:640px){.mv-lb{padding:4vh 3vw;}.mv-lb-prev,.mv-lb-next{width:42px;height:42px;font-size:24px;}.mv-lb-prev{left:1vw;}.mv-lb-next{right:1vw;}}


/* ===== 3D SCROLL BUILD ===== */
.mv-stage{height:300vh;position:relative;z-index:1;background:#0a0b0c;margin:0;padding:0;}
.mv-stage.mv-static{height:auto;}
.mv-pin{position:sticky;position:-webkit-sticky;top:var(--mv-header,0px);height:calc(100vh - var(--mv-header,0px));min-height:calc(100vh - var(--mv-header,0px));overflow:hidden !important;background:#0a0b0c;display:block;width:100%;margin:0;}
.mv-stage.mv-static .mv-pin{position:relative;height:70vh;min-height:480px;}
.mv-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;}
#mv-canvas{position:absolute;inset:0;width:100%;height:100%;}
#mv-mezz{opacity:0;}
.mv-stage.mv-static #mv-mezz{opacity:1;}
#mv-canvas{position:absolute;inset:0;width:100%;height:100%;}
.mv-stage.mv-static #mv-canvas,.mv-stage.mv-static #mv-loading{display:none;}
.mv-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,transparent 40%,rgba(0,0,0,.55) 100%);}
.mv-hero-copy{position:absolute;top:32%;left:0;right:0;transform:translateY(-50%);text-align:center;z-index:4;pointer-events:none;transition:opacity .5s;}
.mv-st-ey{display:block;font-family:'Hanken Grotesk',sans-serif;font-size:0.9rem;letter-spacing:.3em;text-transform:uppercase;color:#0a0b0c;font-weight:800;margin-bottom:14px;text-shadow:none;}
.mv-st-h{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;color:#fff;margin:0;text-shadow:0 4px 34px rgba(0,0,0,.8);}
.mv-st-h em{font-style:italic;color:#0a0b0c;}
.mv-sub{color:#f2f0ea;font-size:1rem;letter-spacing:.22em;text-transform:uppercase;margin-top:20px;text-shadow:0 2px 16px rgba(0,0,0,.9);font-weight:700;}
.mv-stage.mv-static .mv-sub{display:none;}
.mv-hud{position:absolute;left:0;right:0;bottom:6vh;z-index:4;display:flex;justify-content:center;pointer-events:none;}
.mv-stage.mv-static .mv-hud{display:none;}
.mv-hud-inner{display:inline-flex;gap:14px;align-items:center;background:rgba(10,11,12,.6);border:1px solid rgba(255,255,255,.14);padding:7px 16px;border-radius:999px;backdrop-filter:blur(8px);line-height:1;}
.mv-step{font-size:0.9rem;letter-spacing:.14em;text-transform:uppercase;color:#d8dce1;transition:color .35s;line-height:1;display:inline-flex;align-items:center;font-weight:700;}
.mv-step.on{color:#D8B856;font-weight:800;}
.mv-step .b{display:inline-block;width:6px;height:6px;border-radius:50%;background:#3a3d41;margin-right:7px;transition:background .35s;}
.mv-step.on .b{background:#D8B856;}
.mv-cta{position:absolute;left:50%;bottom:16vh;transform:translate(-50%,14px);z-index:6;display:inline-flex;align-items:center;justify-content:center;padding:18px 44px;border-radius:2px;text-decoration:none;font-family:'Hanken Grotesk',sans-serif;font-weight:800;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#C0102A;border:1px solid #C0102A;box-shadow:0 14px 40px rgba(0,0,0,.45);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1),visibility .5s,background .2s,color .2s;}
.mv-cta.show{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto;}
.mv-cta:hover{background:#fff;border-color:#fff;color:#C0102A;}
.mv-stage.mv-static .mv-cta{position:absolute;opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);}
#mv-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;font-size:0.9rem;letter-spacing:.2em;text-transform:uppercase;color:#d8dce1;background:rgba(10,11,12,.75);border:1px solid rgba(255,255,255,.14);padding:10px 16px;border-radius:999px;font-weight:700;}



/* ===== GLOBAL TEXT SIZE BUMP (non-headers) — tune here ===== */
.mvp-lead{font-size:1.45rem;}
.mvp-sec p{font-size:1.3rem;}
.mvp .chk li, .mvp-chk li{font-size:1.28rem;}
.mvp-faq p{font-size:1.3rem;}
.mvp-hero .sub{font-size:1.4rem;}
.mvp-hero .meta, .mvp-loc .meta{font-size:1.15rem;}
.mvp-loc .price{font-size:1.2rem;}
.mvp-team .tm p{font-size:1.2rem;}
.mvp-team .role{font-size:1.05rem;}
.mvp-disclaimer{font-size:1rem;}
.mv-hs-panel .d{font-size:1.15rem;}
.mv-card .blurb{font-size:1.05rem;}
.mv-lb-d{font-size:1.15rem;}
.ey{font-size:1.3rem;}

/* breathing room between headers and section images (site plans, renderings, concepts) */
.mvp-wrap > img{margin-top:30px;}
.mvp-wrap .mvp-lead + img, .mvp-wrap .mvp-disclaimer + img{margin-top:24px;}

@media(max-width:820px){.mvp-planrow{grid-template-columns:1fr !important;gap:24px !important;}}
/* generic zoom lightbox */
.mvz{position:fixed;inset:0;z-index:2147483100;display:flex;align-items:center;justify-content:center;padding:4vh 4vw;background:rgba(6,7,8,.94);backdrop-filter:blur(6px);cursor:zoom-out;}
.mvz img{max-width:100%;max-height:92vh;border-radius:10px;border:1px solid rgba(255,255,255,.16);}

/* full tour photo grid */
.mv-photogrid{margin-top:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.mv-photogrid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.1);transition:transform .3s,border-color .3s;}
.mv-photogrid img:hover{transform:scale(1.02);border-color:#BE9A3A;}
@media(max-width:820px){.mv-photogrid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.mv-photogrid{grid-template-columns:1fr;}}

/* ===== MV2 BRAND OVERRIDES (re-skin tools pack: Fraunces/gold/red, no all-caps) ===== */
.mv2{background:#0a0b0c;font-family:'Hanken Grotesk',sans-serif;border-top:1px solid rgba(255,255,255,.08);}
.mv2 h2{font-family:'Fraunces',Georgia,serif;font-weight:300;text-transform:none;letter-spacing:0;font-size:clamp(2rem,4.6vw,3rem);}
.mv2 h2 em{color:#D8B856;}
.mv2-eyebrow{color:#BE9A3A;font-size:1.3rem;letter-spacing:.22em;}
.mv2-lede{font-size:1.35rem;color:#e9ebef;}
.mv2-unit.on{background:#D8B856;border-color:#D8B856;}
.mv2-fill{background:#BE9A3A;}
.mv2-ro-n{color:#D8B856;font-family:'Fraunces',Georgia,serif;font-weight:400;}
.mv2-stat-n{color:#D8B856;font-family:'Fraunces',Georgia,serif;font-weight:400;}
.mv2-step-n{color:#BE9A3A;}
.mv2-step{border-left-color:#BE9A3A;}
.mv2-step-t{text-transform:none;font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:1.3rem;}
.mv2-step-d{font-size:1.05rem;}
.mv2-bar-n{text-transform:none;font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:1.5rem;}
.mv2-bar-sub{font-size:1.05rem;}
.mv2-bar a{color:#D8B856;}
.mv2-match{font-size:1.05rem;}
.mv2-match a{color:#D8B856;}
.mv2-opt.on{border-color:#BE9A3A;}
.mv2-opt.on .mv2-opt-t{color:#D8B856;}
.mv2-row.on{border-color:#BE9A3A;}
.mv2-row.on .mv2-cnt{color:#D8B856;}
.mv2-pm:hover:not(:disabled){background:#BE9A3A;border-color:#BE9A3A;}
.mv2-cta{background:#C0102A;border-color:#C0102A;color:#fff;font-family:'Hanken Grotesk',sans-serif;}
.mv2-cta:hover{background:#fff;border-color:#fff;color:#C0102A;}

/* compact availability bars (Your Suite closer) */
.mv2-compact{padding:6vh 0;}
.mv2-compact .mv2-bars{margin-top:22px;gap:10px;}
.mv2-compact .mv2-bar{padding:13px 16px;border-radius:8px;}
.mv2-compact .mv2-bar-n{font-size:1.15rem;}
.mv2-compact .mv2-bar-sub{font-size:0.92rem;margin-top:2px;}
.mv2-compact .mv2-track{margin-top:9px;height:5px;}
.mv2-compact .mv2-bar-pct{font-size:0.9rem;margin-top:6px;}

@media(max-width:900px){.mvp-rgrid{grid-template-columns:1fr 1fr !important;}}
@media(max-width:560px){.mvp-rgrid{grid-template-columns:1fr !important;}}

/* secondary nav button: gold outline (red reserved for reserve/contact CTAs) */
.btn.gold{background:transparent;color:#D8B856;border:1px solid rgba(216,184,86,.6);box-shadow:none;}
.btn.gold:hover{background:rgba(216,184,86,.12);border-color:#D8B856;}

/* Will It Fit legend */
.mv2-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;justify-content:center;}
.mv2-lg{display:inline-flex;align-items:center;gap:7px;font-size:0.9rem;color:#d8dce1;letter-spacing:.03em;}
.mv2-lg i{width:11px;height:11px;border-radius:3px;display:inline-block;}

/* mobile tap targets */
@media(max-width:700px){
.mv2-pm{width:40px;height:40px;font-size:19px;border-radius:8px;}
.mv2-cnt{min-width:32px;font-size:16px;}
.mv2-unit{padding:10px 12px;font-size:14px;}
.mv-dot{width:28px;height:28px;}
}

.mvp-tag{display:inline-block;font-size:0.95rem;font-weight:700;color:#e9ebef;background:#131519;border:1px solid rgba(216,184,86,.35);border-radius:999px;padding:9px 18px;}

.mvp-more{display:inline-flex;align-items:center;gap:9px;margin-top:18px;font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:400;font-size:1.3rem;color:#D8B856;text-decoration:none;transition:gap .2s;}
.mvp-more span{transition:transform .2s;font-style:normal;}
.mvp-more:hover{gap:14px;}

/* no gap between last section and footer */
.mvh-close{margin-bottom:0 !important;}
.mvp-close{margin-bottom:0 !important;}
body .entry-content, body .wp-block-post-content{padding-bottom:0 !important;margin-bottom:0 !important;}
body .entry-content>*:last-child, body .wp-block-post-content>*:last-child{margin-bottom:0 !important;padding-bottom:0 !important;}
main, .site-content, .site-main, #content{padding-bottom:0 !important;margin-bottom:0 !important;}

/* enforced mobile collapses for inline grids (interior pages) */
@media(max-width:820px){
.mvh-soonrow{grid-template-columns:1fr !important;}
.mvp-planrow{grid-template-columns:1fr !important;gap:24px !important;}
}

/* autop phantom-paragraph killer inside grids */
.mvp-loc br,.mvp-loc p:empty,.mvh-lh br,.mvh-lh p:empty{display:none !important;}
.mvh-lochub>p,.mvp-locgrid>p,.mvh-soonrow>p,.mvp-planrow>p,.mvp-rgrid>p,.mvh-lochub>br,.mvp-locgrid>br,.mvh-soonrow>br,.mvp-planrow>br{display:none !important;}

/* guarantee spacing between adjacent buttons everywhere */
.cta{gap:18px !important;}
:not(.cta)>.btn+.btn,:not(.cta)>.btn+.btn.ghost{margin-left:14px;}
@media(max-width:600px){:not(.cta)>.btn+.btn{margin-left:0;margin-top:12px;}}





/* ===== GLOBAL TYPE SCALE - everything bigger (overrides inline) ===== */
.mvp, .mvh, .mv2, .entry-content{font-size:1.35rem !important;color:#e6e9ed;}
.mvp p, .mvh p, .mvp li, .mvh li, .mvp figcaption, .mvh figcaption{font-size:1.4rem !important;line-height:1.7 !important;color:#e6e9ed !important;}
.mvp .meta, .mvh .meta{font-size:1.6rem !important;color:#eceef1 !important;}
.mvp .mvp-lead, .mvh .mvh-lead, .mvp-lead, .mvh-lead{font-size:1.55rem !important;line-height:1.65 !important;color:#eceef1 !important;}
.chk li, .mvp-chk li, .mvh-chk li{font-size:1.45rem !important;line-height:1.65 !important;color:#e6e9ed !important;}
.mvp .sub, .mvh .sub{font-size:1.5rem !important;line-height:1.6 !important;color:#eceef1 !important;}
.ey, .mvp .ey, .mvh .ey, .mv2-eyebrow{font-size:1.1rem !important;letter-spacing:.18em;}
.pill, .pill2, .pill.now, .pill2.now{font-size:1.15rem !important;}
.mvp small, .mvh small, .mvp .fine, .mv2-fine, .mv2-legend-note{font-size:1.15rem !important;color:#d8dce1 !important;}
.btn, .mvp .btn, .mvh .btn{font-size:1.25rem !important;}
.mv-links a{font-size:1.2rem !important;}

/* ===== WILL IT FIT widget - bigger, readable text ===== */
.mv2-row-n, .mv2 .mv2-row-n{font-size:1.3rem !important;color:#eceef1 !important;font-weight:600;}
.mv2-row-d, .mv2 .mv2-row-d{font-size:1.15rem !important;color:#d8dce1 !important;}
.mv2-dims, #mv2-dims{font-size:1.6rem !important;color:#eceef1 !important;font-weight:700;}
.mv2-verdict, .mv2-fit-verdict{font-size:1.5rem !important;color:#eceef1 !important;}
.mv2-legend-note{font-size:1.2rem !important;color:#d8dce1 !important;}
.mv2-stat-n{font-size:1.7rem !important;color:#eceef1 !important;}
.mv2-stat-l{font-size:1.15rem !important;color:#d8dce1 !important;}
.mv2-opt, .mv2-chip, .mv2-row{font-size:1.2rem !important;}
.mv2 label, .mv2-field label{font-size:1.2rem !important;color:#e6e9ed !important;}
.mv2 input, .mv2 select{font-size:1.2rem !important;}
.mv2-step{font-size:1.2rem !important;color:#e6e9ed !important;}

/* ===== SUITE PLANNER / WILL IT FIT — LEGIBILITY FIX ===== */
/* Brighten + enlarge all tool controls so chips, options, steppers, and buttons read clearly */
.mv2-chip{font-size:1.25rem !important;color:#f2f0ea !important;font-weight:700 !important;
  padding:12px 18px !important;border-color:rgba(216,184,86,.45) !important;}
.mv2-chip.on{background:#D8B856 !important;color:#0a0b0c !important;border-color:#D8B856 !important;}
.mv2-opt{padding:16px 18px !important;border-color:rgba(216,184,86,.4) !important;
  background:#131519 !important;}
.mv2-opt-t{font-size:1.3rem !important;color:#f2f0ea !important;font-weight:700 !important;}
.mv2-opt-d{font-size:1.15rem !important;color:#c9cdd3 !important;line-height:1.55 !important;}
.mv2-opt.on{background:#1a1d20 !important;border-color:#D8B856 !important;}
.mv2-opt.on .mv2-opt-t{color:#D8B856 !important;}
.mv2-sub{font-size:1.3rem !important;color:#f2f0ea !important;font-weight:700 !important;letter-spacing:.02em !important;}
.mv2-clear{font-size:1.2rem !important;color:#e6e9ed !important;text-decoration:underline !important;}
.mv2-clear:hover{color:#D8B856 !important;}
/* + / - steppers and count */
.mv2-pm{width:48px !important;height:48px !important;font-size:24px !important;color:#f2f0ea !important;}
.mv2-cnt{min-width:38px !important;font-size:20px !important;color:#f2f0ea !important;font-weight:700 !important;}
/* unit-size picker chips */
.mv2-unit{padding:12px 16px !important;font-size:1.15rem !important;color:#e6e9ed !important;}
.mv2-unit.on{color:#0a0b0c !important;}
/* row labels + counts in the fit list */
.mv2-row{color:#f2f0ea !important;}
.mv2-cnt-lbl,.mv2-row-t{color:#f2f0ea !important;}
/* Will It Fit readout labels (floor space needed / your match / total space) */
.mv2-ro-l{font-size:1.2rem !important;color:#e6e9ed !important;font-weight:600 !important;}
.mv2-ro-n{font-size:1.9rem !important;}

/* ============================================================
   ACCESSIBILITY PASS — high contrast + larger text site-wide
   Tuned for older visitors. Raises the small-label floor and
   fixes the last dim grays. Dark-on-light labels left intact.
   ============================================================ */

/* 1. Raise all small eyebrow/tag/spec labels from 0.9rem (~14px) to 1.05rem (~17px) */
.mvp-specs .s span, .mvp-team .tm .role, .mvp-loc .img .pill2,
.mv-card .n, .mv-card .blurb, .mv-render-tag, .mv-lb-tag, .mv-lb-n,
.mv-ba-tag, .mv-step, .mv2-lg, .mvp-tag,
.mv-hs-panel .d, .mv-lb-d, .mv2-compact .mv2-bar-sub, .mv2-compact .mv2-bar-pct{
  font-size:1.05rem !important;}

/* 2. Fix the two genuinely dim body grays -> brighter, readable */
.mvp-disclaimer{color:#c2c6cc !important;font-size:1.05rem !important;line-height:1.6 !important;}
.mv-lb-d{color:#d8dce1 !important;}

/* 3. Ensure the base reading text is comfortably large everywhere */
.mvp p, .mvh p, .mvp li, .mvh li, .entry-content p, .entry-content li{
  font-size:1.4rem !important;line-height:1.75 !important;color:#eceef1 !important;}

/* 4. Eyebrows / section kickers: bump size, keep gold contrast on dark */
.ey, .mvp .ey, .mvh .ey{font-size:1.15rem !important;color:#D8B856 !important;font-weight:700 !important;}

/* 5. Small unit-picker chips in the tool -> larger tap target + text */
.mv2-unit{font-size:1.1rem !important;padding:12px 16px !important;}

/* 6. Links inside body copy: keep the brand red but ensure it's bright enough on dark */
.mvp a:not(.btn):not(.cta):not(.mvfaq-cta):not(.mvp-loc):not(.mvp-art):not(.mvp-link):not(.crumb *):not(.mvp-loc *):not(.mvp-art *):not(.mvp-link *), .mvh a:not(.btn):not(.cta):not(.mvfaq-cta):not(.mvp-loc):not(.mvp-art):not(.mvp-link):not(.mvp-loc *):not(.mvp-art *):not(.mvp-link *){color:#e8544f !important;text-decoration:none !important;}
/* Location tile links: no red underline. Keep each element's own color. */
.mvp a.mvp-loc, .mvh a.mvp-loc, .mvp a.mvp-loc *, .mvh a.mvp-loc *{text-decoration:none !important;}
.mvp a.mvp-loc, .mvh a.mvp-loc{color:inherit !important;}

/* ============================================================
   BUTTON LEGIBILITY — larger text, solid fills, strong contrast
   (added July 20, 2026) All buttons readable for older visitors.
   ============================================================ */
/* Primary red buttons: bigger text, keep strong white-on-red (6.3:1) */
.mvp .btn, .mvh .btn{font-size:1.2rem !important;font-weight:800 !important;
  padding:18px 40px !important;color:#fff !important;letter-spacing:.05em !important;}
/* Ghost buttons (phone numbers etc.): give a solid dark fill + bright border so
   they never fade out against hero photos. White text stays high-contrast. */
.mvp .btn.ghost, .mvh .btn.ghost{
  background:rgba(10,11,12,.72) !important;
  border:2px solid rgba(255,255,255,.65) !important;
  color:#ffffff !important;backdrop-filter:blur(3px);}
.mvp .btn.ghost:hover, .mvh .btn.ghost:hover{
  background:#ffffff !important;color:#0a0b0c !important;border-color:#fff !important;}
/* Gold badge-style button (matches the 'Now Selling' badge): dark text on gold */
.mvp .btn.gold, .mvh .btn.gold{
  background:#D8B856 !important;color:#0a0b0c !important;
  border:none !important;font-weight:800 !important;}
.mvp .btn.gold:hover, .mvh .btn.gold:hover{background:#e6cb72 !important;}

/* ============================================================
   WILL IT FIT - stop long vehicle names (e.g. "Enclosed trailer")
   running underneath the +/- buttons. Force the row into a
   3-part layout: name (wraps) | dims | stepper (fixed).
   ============================================================ */
.mv2 .mv2-row{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
}
/* Name takes the leftover space and is allowed to wrap onto 2 lines */
.mv2 .mv2-row .mv2-row-n{
  flex:1 1 auto !important;
  min-width:0 !important;          /* lets flex actually shrink so text wraps */
  white-space:normal !important;   /* was likely nowrap -> caused the overlap */
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  line-height:1.25 !important;
  padding-right:4px !important;
}
/* Dimensions stay on one line, don't shrink */
.mv2 .mv2-row .mv2-row-d{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  margin-left:auto !important;
}
/* Stepper buttons keep their width and never get overlapped */
.mv2 .mv2-row .mv2-step2{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  margin-left:8px !important;
}
.mv2 .mv2-row .mv2-step2 button,
.mv2 .mv2-row .mv2-step2 .mv2-b{
  flex:0 0 auto !important;
}
/* Both row types nest the name and description inside a .mv2-row-l column
   wrapper, so the two rules above were never acting on direct flex children.
   Forcing white-space:nowrap and margin-left:auto onto a description inside a
   narrow column made it 387px wide in an 84px wrapper, spilling ~300px to the
   right and under the +/- buttons. Undo that inside the wrapper. */
.mv2 .mv2-row .mv2-row-l{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
  padding-right:6px !important;
}
.mv2 .mv2-row .mv2-row-l .mv2-row-n,
.mv2 .mv2-row .mv2-row-l .mv2-row-d{
  flex:0 0 auto !important;
  width:100% !important;
  margin-left:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.3 !important;
}
/* Narrow screens: name gets its own full line, dims + stepper sit below it
   so a long label like "Enclosed trailer" can never reach the buttons. */
@media(max-width:640px){
  .mv2 .mv2-row{
    flex-wrap:wrap !important;
    row-gap:6px !important;
  }
  .mv2 .mv2-row .mv2-row-n{
    flex:1 1 100% !important;
    width:100% !important;
    padding-right:0 !important;
  }
  .mv2 .mv2-row .mv2-row-d{
    flex:0 1 auto !important;
    margin-left:0 !important;
    margin-right:auto !important;
  }
  .mv2 .mv2-row .mv2-step2{
    margin-left:auto !important;
  }
  .mv2 .mv2-row .mv2-row-l{
    flex:1 1 100% !important;
    width:100% !important;
    padding-right:0 !important;
  }
}

/* ============================================================
   PRESS - INDUSTRY COVERAGE LINK CARDS
   Deliberately styled differently from .mvp-art so third-party
   category coverage never reads as coverage of Motor-Vault.
   ============================================================ */
.mvp-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:26px;}
.mvp-link{
  display:flex;flex-direction:column;gap:7px;
  padding:20px 20px 18px;
  background:#14161A;
  border:1px solid rgba(255,255,255,.13);
  border-left:3px solid #BE9A3A;
  border-radius:10px;
  text-decoration:none !important;
  transition:border-color .25s,background .25s,transform .25s;
}
.mvp-link:hover{background:#181B20;border-color:rgba(216,184,86,.55);border-left-color:#D8B856;transform:translateY(-2px);}
.mvp-link .src{
  font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#D8B856;
}
.mvp-link .ttl{
  font-family:var(--serif,Fraunces,Georgia,serif);
  font-size:1.22rem;line-height:1.3;color:#eceef1;font-weight:600;
}
.mvp-link .go{
  margin-top:4px;font-size:.92rem;font-weight:700;color:#c2c6cc;
}
.mvp-link:hover .go{color:#D8B856;}
/* keep the global red inline-link underline off these cards */
.mvp a.mvp-link,.mvp a.mvp-link:hover{color:inherit;text-decoration:none !important;}
@media(max-width:560px){
  .mvp-links{grid-template-columns:1fr;}
  .mvp-link{padding:17px 16px 15px;}
  .mvp-link .ttl{font-size:1.1rem;}
}

/* Press cards are whole-card links - never treat them as inline text links */
.mvp a.mvp-art,.mvp a.mvp-art *{text-decoration:none !important;}
.mvp a.mvp-art h3{color:#fff !important;}
.mvp a.mvp-art p{color:#e2e5ea !important;}
.mvp a.mvp-art .ey{color:#D8B856 !important;}
.mvp a.mvp-art .rd{color:#D8B856 !important;}

/* Inline links: colour only, no underline. Underline appears on hover/focus
   so the link is still identifiable on interaction and for keyboard users. */
.mvp a:not(.btn):not(.cta):not(.mvfaq-cta):not(.mvp-loc):not(.mvp-art):not(.mvp-link):hover,
.mvp a:not(.btn):not(.cta):not(.mvfaq-cta):not(.mvp-loc):not(.mvp-art):not(.mvp-link):focus-visible,
.mvh a:not(.btn):not(.cta):not(.mvfaq-cta):not(.mvp-loc):not(.mvp-art):not(.mvp-link):hover,
.mvh a:not(.btn):not(.cta):not(.mvfaq-cta):not(.mvp-loc):not(.mvp-art):not(.mvp-link):focus-visible{text-decoration:underline !important;}

/* ============================================================
   RESERVE YOURS BUTTON
   2378 styles .mv2-cta gold with near-black text; 2244 styles it red
   with white text. Both are single-class selectors, so whichever loads
   last wins. Pin it here so the resting state is always white on red.
   ============================================================ */
.mv2 a.mv2-cta{background:#C0102A !important;border-color:#C0102A !important;
  color:#FFFFFF !important;}
.mv2 a.mv2-cta:hover,.mv2 a.mv2-cta:focus-visible{background:#FFFFFF !important;
  border-color:#FFFFFF !important;color:#C0102A !important;}

/* ============================================================
   SMALL BODY TEXT - up two steps (+0.2rem)
   Everything here is descriptive copy that was sitting at 1.05-1.15rem,
   the size of "Pick your suite and community. A deposit holds it."
   Uppercase labels, eyebrows, pills and buttons are deliberately left
   alone - see the note below.
   ============================================================ */
.mv2-step-d{font-size:1.25rem !important;line-height:1.55 !important;}
.mv2-bar-sub{font-size:1.25rem !important;}
.mv2-match, .mv2 .mv2-match{font-size:1.25rem !important;}
.mv-card .blurb{font-size:1.25rem !important;}
.mvp-disclaimer{font-size:1.25rem !important;}
.mvp-team .tm p{font-size:1.32rem !important;}
.mvp-art p{font-size:1.32rem !important;}
.mvp-loc .meta, .mvp-hero .meta{font-size:1.35rem !important;}
.mv-hs-panel .d{font-size:1.35rem !important;}
.mv-lb-d{font-size:1.35rem !important;}
.mv2-opt-d{font-size:1.35rem !important;}
.mv2-row-d, .mv2 .mv2-row-d{font-size:1.35rem !important;}
.mvp small, .mvh small, .mvp .fine, .mv2-fine, .mv2-legend-note{font-size:1.35rem !important;}

/* ============================================================
   WORDPRESS wpautop GUARD
   wpautop turns a newline between two block elements into a <br>.
   Inside a grid or flex container that <br> becomes a real item and
   occupies a cell, which pushes the following items into the wrong
   columns. Neutralise it for every layout container we use.
   ============================================================ */
.mvp-tilegrid > br, .mvp-tilegrid > p:empty,
.mvp-band3 > br,    .mvp-band3 > p:empty,
.mvp-imgrow > br,   .mvp-imgrow > p:empty,
.mvp-locgrid > br,  .mvp-locgrid > p:empty,
.mvp-team > br,     .mvp-team > p:empty,
.mv2-steps > br,    .mv2-steps > p:empty,
.mv2-statgrid > br, .mv2-statgrid > p:empty,
.mvp-links > br,    .mvp-links > p:empty,
.mv-grid > br,      .mv-grid > p:empty,
.mvp-rgrid > br,    .mvp-rgrid > p:empty,
.mvp-planrow > br,  .mvp-planrow > p:empty,
.mvz-grid > br,     .mvz-grid > p:empty,
.mvz-tabs > br,     .mvz-rail > br,
.mv2-steps > br,    .mv2-steps > p:empty,
[style*='display:grid'] > br, [style*='display:flex'] > br{display:none !important;}

/* ============================================================
   BROWSER AUTOFILL ON DARK FORMS
   Chrome paints its own near-white background onto an autofilled
   field and ignores background-color. The colour rule stays white,
   so the text disappears. Only an inset box-shadow can repaint the
   field, and only -webkit-text-fill-color can recolour the text.
   Applied site-wide so every dark form is covered.
   ============================================================ */
.mvq input:-webkit-autofill, .mvq select:-webkit-autofill, .mvq textarea:-webkit-autofill,
.mvp input:-webkit-autofill, .mvp select:-webkit-autofill, .mvp textarea:-webkit-autofill,
.mvh input:-webkit-autofill, .mvh select:-webkit-autofill, .mvh textarea:-webkit-autofill,
.mv2 input:-webkit-autofill, .mv2 select:-webkit-autofill, .mv2 textarea:-webkit-autofill,
.mvq input:-webkit-autofill:hover, .mvq input:-webkit-autofill:focus,
.mvp input:-webkit-autofill:hover, .mvp input:-webkit-autofill:focus,
.mvh input:-webkit-autofill:hover, .mvh input:-webkit-autofill:focus,
.mv2 input:-webkit-autofill:hover, .mv2 input:-webkit-autofill:focus{
  -webkit-text-fill-color:#ffffff !important;
  -webkit-box-shadow:0 0 0 1000px #0a0b0c inset !important;
  box-shadow:0 0 0 1000px #0a0b0c inset !important;
  caret-color:#ffffff !important;
  /* the absurd duration stops Chrome repainting its background after load */
  transition:background-color 100000s ease-in-out 0s !important;}
.mvq input:autofill, .mvp input:autofill, .mvh input:autofill, .mv2 input:autofill,
.mvq select:autofill, .mvp select:autofill, .mvh select:autofill, .mv2 select:autofill{
  -webkit-text-fill-color:#ffffff !important;
  box-shadow:0 0 0 1000px #0a0b0c inset !important;}

/* ============================================================
   CHECKLISTS - ONE MARKER, NEVER TWO
   .mvp-chk was only styled inside the Lake Keowee page, so every
   other page fell back to native discs. Where a page also drew a
   diamond you got both. Defined once here for the whole site, with
   the native marker explicitly suppressed.
   ============================================================ */
.mvp ul.mvp-chk, .mvh ul.mvp-chk, .mvp ul.chk, .mvh ul.chk{
  list-style:none !important; margin:22px 0 0; padding:0;}
.mvp ul.mvp-chk > li, .mvh ul.mvp-chk > li,
.mvp ul.chk > li, .mvh ul.chk > li{
  list-style:none !important; position:relative;
  padding:12px 0 12px 26px; border-top:1px solid rgba(255,255,255,.07);}
.mvp ul.mvp-chk > li::marker, .mvh ul.mvp-chk > li::marker,
.mvp ul.chk > li::marker, .mvh ul.chk > li::marker{content:"" !important;}
.mvp ul.mvp-chk > li:first-child, .mvh ul.mvp-chk > li:first-child,
.mvp ul.chk > li:first-child, .mvh ul.chk > li:first-child{border-top:none;}
.mvp ul.mvp-chk > li::before, .mvh ul.mvp-chk > li::before,
.mvp ul.chk > li::before, .mvh ul.chk > li::before{
  content:'' !important; position:absolute; left:0; top:21px;
  width:8px; height:8px; background:#D8B856; transform:rotate(45deg);}
/* two-column variant keeps its own top border handling */
.mvp ul.mvp-chk.twocol > li:nth-child(2){border-top:none;}
@media(max-width:720px){.mvp ul.mvp-chk.twocol > li:nth-child(2){border-top:1px solid rgba(255,255,255,.07);}}

/* ============================================================
   0012-12-Desert-Vista.jpeg renders soft because it is being drawn
   larger than the file supports. Cap its display size wherever it
   is used so the browser scales it down rather than up.
   Replace the upload with a larger one and this can be removed.
   ============================================================ */
/* Cap the whole row rather than the one soft file, so the two image rows stay
   the same size as each other. 440px keeps that photo inside its resolution. */
.mvp-imgrow-fig img{max-width:440px !important; margin-left:auto !important; margin-right:auto !important;}
.kw-side-fig img[src*="0012-12-Desert-Vista"]{max-width:440px !important;}
.mvp-step-img[src*="0012-12-Desert-Vista"]{max-width:100% !important;}

/* ------------------------------------------------------------
   The small-text bump above must not reach the site-plan legal
   notes. They are long, and at 1.35rem the block ran to 1322px on
   a phone - four times the height of the map it belongs to.
   ------------------------------------------------------------ */
.mvp .mvsp-kw .fine, .mvh .mvsp-kw .fine,
.mvp .mvsp-dv .fine, .mvp .mvsp-hv .fine, .mvp .mvsp-pe .fine{
  font-size:13.5px !important; line-height:1.6 !important;}
.mvp .mvsp-kw .legend, .mvp .mvsp-kw .stc{font-size:13px !important;}
@media(max-width:560px){
  .mvp .mvsp-kw .fine{font-size:12.5px !important;}
  .mvp .mvsp-kw .stc{font-size:12.5px !important;}
}

/* ============================================================
   RESALE WAITLIST BUTTON - sold-out communities
   Black rather than red, so a sold community never reads as
   something to buy today. Gold hairline keeps it on-brand.
   ============================================================ */
.mvp a.btn.mv-resale, .mvh a.btn.mv-resale, a.btn.mv-resale{
  background:#0A0B0C !important; color:#FFFFFF !important;
  border:1px solid rgba(216,184,86,.7) !important; box-shadow:none !important;}
.mvp a.btn.mv-resale:hover, .mvh a.btn.mv-resale:hover, a.btn.mv-resale:hover{
  background:#D8B856 !important; color:#0A0B0C !important; border-color:#D8B856 !important;}

/* Arizona overview map legend + popup */
.mv-azkey{display:flex;flex-wrap:wrap;gap:22px;margin-top:14px;font-size:.95rem;color:#c9ced4}
.mv-azkey span{display:inline-flex;align-items:center;gap:8px}
.mv-azkey .k{width:13px;height:13px;border-radius:50%;display:inline-block}
.mv-azkey .k.now{background:#D8B856}
.mv-azkey .k.soon{background:#0a0b0c;border:2px solid #D8B856}
.mv-azkey .k.sold{background:#5a6068;border:2px solid #8a9098}
#mv-azmap .leaflet-popup-content-wrapper{border-radius:10px}

/* Site-plan maps: a <br> as the first child of the board takes the wide
   grid column and pushes the map into the 300px sidebar slot. */
[class*="mvsp"] .board > br, [class*="mvsp"] .wrap > br, [class*="mvsp"] .frame > br,
[class*="mvsp"] .matte > br, [class*="mvsp"] .side > br, [class*="mvsp"] .filters > br,
[class*="mvsp"] .stats > br, [class*="mvsp"] .board > p:empty{display:none !important;}

/* Availability maps: a <br> that WordPress drops into the map grid takes the
   wide column and shoves the map into the narrow sidebar. Never render them. */
[class^="mvsp"] .board > br, [class^="mvsp"] .wrap > br, [class^="mvsp"] .frame > br,
[class^="mvsp"] .matte > br, [class^="mvsp"] .stats > br, [class^="mvsp"] .filters > br,
[class^="mvsp"] .board > p:empty, [class^="mvsp"] .wrap > p:empty{display:none !important;}

/* ============================================================
   WILL IT FIT: LIGHT TOOL BOX
   The planner sits in a white panel on every page so the controls,
   numbers and floor plan read easily. Everything inside is re-inked
   dark; deep gold #8A6A18 replaces the pale gold, which disappears on white.
   ============================================================ */
.mv2.mv2-fit .mv2-fit-grid{background:#FFFFFF !important;border:1px solid #E1E4E8 !important;border-radius:18px !important;
  padding:clamp(18px,3vw,32px) !important;box-shadow:0 18px 50px rgba(0,0,0,.35) !important;color:#2A2E33 !important;}
.mv2.mv2-fit .mv2-fit-grid *{color:#2A2E33 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-sub{color:#8A6A18 !important;}
/* vehicle and upgrade rows */
.mv2.mv2-fit .mv2-fit-grid .mv2-row, .mv2.mv2-fit .mv2-fit-grid .mv2-opt{background:#F6F7F9 !important;border:1px solid #DDE1E6 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-row:hover, .mv2.mv2-fit .mv2-fit-grid .mv2-opt:hover{border-color:#C4C9CF !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-row.on, .mv2.mv2-fit .mv2-fit-grid .mv2-opt.on{background:#FBF6E7 !important;border-color:#C9A646 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-l .mv2-row-n, .mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-n{color:#16191C !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-l .mv2-row-d, .mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-d{color:#5A6068 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-row.on .mv2-cnt, .mv2.mv2-fit .mv2-fit-grid .mv2-cnt{color:#16191C !important;}
/* the +/- steppers */
.mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-step2 button, .mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-step2 .mv2-b, .mv2.mv2-fit .mv2-fit-grid button.mv2-b{
  background:#FFFFFF !important;border:1px solid #C9CED4 !important;color:#16191C !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-step2 button:hover, .mv2.mv2-fit .mv2-fit-grid button.mv2-b:hover{background:#16191C !important;color:#FFFFFF !important;border-color:#16191C !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-clear{background:transparent !important;border:1px solid #C9CED4 !important;color:#3F454C !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-clear:hover{border-color:#16191C !important;color:#16191C !important;}
/* suite size pills above the plan */
.mv2.mv2-fit .mv2-fit-grid .mv2-unit{background:#F6F7F9 !important;border:1px solid #DDE1E6 !important;color:#3F454C !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-unit.on{background:#16191C !important;border-color:#16191C !important;color:#FFFFFF !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-unit.no{opacity:.4 !important;}
/* readout + verdict */
.mv2.mv2-fit .mv2-fit-grid .mv2-readout .mv2-ro{background:#F6F7F9 !important;border:1px solid #E1E4E8 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-ro-n{color:#16191C !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-ro-l{color:#5A6068 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-match{background:#FBF6E7 !important;border:1px solid #E7D59C !important;color:#2A2E33 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-match b, .mv2.mv2-fit .mv2-fit-grid .mv2-match strong{color:#16191C !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-legend-note{color:#5A6068 !important;}
/* an older rule styles this readout by its ID, which outranks class rules */
.mv2.mv2-fit .mv2-fit-grid #mv2-dims, .mv2.mv2-fit .mv2-fit-grid #mv2-need, .mv2.mv2-fit .mv2-fit-grid #mv2-sqft{color:#16191C !important;}
/* keyboard focus stays visible on the light panel */
.mv2.mv2-fit .mv2-fit-grid button:focus-visible{outline:2px solid #8A6A18 !important;outline-offset:2px;}

/* ============================================================
   WILL IT FIT: DEFINITIVE LAYOUT (desktop + mobile)
   Several earlier fixes stacked up and fought each other: one let
   words break mid-letter ("Collect / or car"), another pushed the
   +/- buttons onto their own line on phones. This block settles
   the whole tool in one place and wins over all of them, and over
   the Tools CSS snippet, so it looks the same wherever it appears.
   ============================================================ */
.mv2.mv2-fit .mv2-fit-grid{display:grid !important;grid-template-columns:minmax(300px,340px) minmax(0,1fr) !important;
  gap:32px !important;align-items:start !important;}
@media(max-width:900px){.mv2.mv2-fit .mv2-fit-grid{grid-template-columns:1fr !important;gap:26px !important;}}

/* ---- controls ---- */
.mv2.mv2-fit .mv2-fit-grid .mv2-sub{display:block !important;font-weight:800 !important;font-size:1.02rem !important;letter-spacing:.01em !important;margin:0 0 10px !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-chips, .mv2.mv2-fit .mv2-fit-grid .mv2-opts{display:flex !important;flex-direction:column !important;gap:8px !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-row{display:flex !important;flex-wrap:nowrap !important;flex-direction:row !important;align-items:center !important;
  gap:12px !important;padding:9px 9px 9px 14px !important;border-radius:10px !important;min-height:58px;}
.mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-l{flex:1 1 auto !important;width:auto !important;min-width:0 !important;display:flex !important;
  flex-direction:column !important;gap:1px !important;padding-right:0 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-l .mv2-row-n, .mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-n{flex:0 0 auto !important;width:auto !important;
  font-size:1.02rem !important;font-weight:700 !important;line-height:1.25 !important;white-space:normal !important;
  overflow-wrap:normal !important;word-break:normal !important;hyphens:none !important;padding-right:0 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-l .mv2-row-d, .mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-d{flex:0 0 auto !important;width:auto !important;margin:0 !important;
  font-size:.86rem !important;line-height:1.3 !important;white-space:nowrap !important;overflow-wrap:normal !important;}
/* the lift row's note is a sentence, not a size, so it may wrap between words */
.mv2.mv2-fit .mv2-fit-grid #mv2-opts .mv2-row .mv2-row-d{white-space:normal !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-step2{flex:0 0 auto !important;display:flex !important;align-items:center !important;gap:6px !important;margin:0 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-pm{width:38px !important;height:38px !important;border-radius:9px !important;font-size:18px !important;
  padding:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;cursor:pointer;}
.mv2.mv2-fit .mv2-fit-grid .mv2-pm:disabled{opacity:.35 !important;cursor:default;}
.mv2.mv2-fit .mv2-fit-grid .mv2-cnt{min-width:18px !important;font-size:1.05rem !important;font-weight:800 !important;text-align:center !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-opt{display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:3px !important;
  width:100% !important;text-align:left !important;padding:12px 14px !important;border-radius:10px !important;cursor:pointer;font:inherit;}
.mv2.mv2-fit .mv2-fit-grid .mv2-opt .mv2-opt-t{display:block !important;font-weight:700 !important;font-size:1.02rem !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-opt .mv2-opt-d{display:block !important;font-size:.88rem !important;line-height:1.35 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-clear{display:inline-flex !important;align-items:center !important;margin-top:14px !important;padding:10px 18px !important;
  border-radius:10px !important;font:inherit;font-weight:700 !important;font-size:.95rem !important;cursor:pointer;text-decoration:none !important;}

/* ---- plan ---- */
.mv2.mv2-fit .mv2-fit-grid .mv2-fit-stage{display:block !important;min-width:0 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-plan{min-width:0 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-units{display:flex !important;flex-wrap:wrap !important;gap:6px !important;margin:0 0 14px !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-unit{padding:8px 12px !important;border-radius:999px !important;font:inherit;font-size:.85rem !important;
  font-weight:700 !important;cursor:pointer;white-space:nowrap !important;}
.mv2.mv2-fit .mv2-fit-grid #mv2-bay{width:100% !important;height:auto !important;display:block !important;max-height:78vh;}
.mv2.mv2-fit .mv2-fit-grid .mv2-legend-note{font-size:.88rem !important;margin:6px 0 0 !important;}

/* ---- readout: three cards in a row, number above its label ---- */
.mv2.mv2-fit .mv2-fit-grid .mv2-side{margin-top:18px !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-readout{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:10px !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-readout .mv2-ro{display:flex !important;flex-direction:column !important;gap:3px !important;padding:14px 16px !important;border-radius:12px !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-ro-n, .mv2.mv2-fit .mv2-fit-grid #mv2-need, .mv2.mv2-fit .mv2-fit-grid #mv2-sqft, .mv2.mv2-fit .mv2-fit-grid #mv2-dims{display:block !important;font-family:Fraunces,Georgia,serif !important;
  font-size:1.7rem !important;line-height:1.1 !important;font-weight:500 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-ro-l{display:block !important;font-size:.82rem !important;font-weight:600 !important;line-height:1.3 !important;}
.mv2.mv2-fit .mv2-fit-grid .mv2-match{margin-top:12px !important;padding:16px 18px !important;border-radius:12px !important;font-size:1rem !important;line-height:1.6 !important;}

/* ---- phones ---- */
@media(max-width:640px){
  .mv2.mv2-fit .mv2-fit-grid .mv2-row{flex-wrap:nowrap !important;row-gap:0 !important;}
  .mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-l, .mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-n{flex:1 1 auto !important;}
  .mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-step2{margin-left:0 !important;}
  /* suite sizes scroll sideways instead of stacking into several rows */
  .mv2.mv2-fit .mv2-fit-grid .mv2-units{flex-wrap:nowrap !important;overflow-x:auto !important;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px !important;}
  .mv2.mv2-fit .mv2-fit-grid .mv2-units::-webkit-scrollbar{display:none;}
  .mv2.mv2-fit .mv2-fit-grid .mv2-readout .mv2-ro{padding:10px 10px !important;}
  .mv2.mv2-fit .mv2-fit-grid .mv2-ro-n, .mv2.mv2-fit .mv2-fit-grid #mv2-need, .mv2.mv2-fit .mv2-fit-grid #mv2-sqft, .mv2.mv2-fit .mv2-fit-grid #mv2-dims{font-size:1.25rem !important;}
  .mv2.mv2-fit .mv2-fit-grid .mv2-ro-l{font-size:.74rem !important;}
  .mv2.mv2-fit .mv2-fit-grid .mv2-match{font-size:.95rem !important;padding:14px 14px !important;}
}
/* breathing room above "Upgrades", and tighter buttons on the smallest phones */
.mv2.mv2-fit .mv2-fit-grid .mv2-chips + .mv2-sub, .mv2.mv2-fit .mv2-fit-grid .mv2-fit-pick .mv2-sub + .mv2-chips ~ .mv2-sub{margin-top:26px !important;}
@media(max-width:380px){
  .mv2.mv2-fit .mv2-fit-grid .mv2-row{gap:8px !important;padding-left:12px !important;}
  .mv2.mv2-fit .mv2-fit-grid .mv2-pm{width:34px !important;height:34px !important;}
  .mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-step2{gap:4px !important;}
  .mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-l .mv2-row-n, .mv2.mv2-fit .mv2-fit-grid .mv2-row .mv2-row-n{font-size:.96rem !important;}
}
/* phones: page margin + box padding were eating 90px of a 390px screen */
@media(max-width:640px){
  .mv2.mv2-fit .mv2-wrap{padding-left:12px !important;padding-right:12px !important;}
  .mv2.mv2-fit .mv2-fit-grid{padding:14px !important;border-radius:14px !important;}
}

/* ============================================================
   WILL IT FIT: NO DARK BOX AROUND THE GARAGE
   The plan area must never carry its own dark panel inside the white
   tool box. And if an older version of the tools script (2379) is still
   live, it paints the garage floor near-black with a dark outline;
   these rules repaint those exact colours so the plan reads light
   either way. CSS outranks the colours written into the drawing.
   ============================================================ */
.mv2.mv2-fit .mv2-fit-grid .mv2-fit-stage, .mv2.mv2-fit .mv2-fit-grid .mv2-plan, .mv2.mv2-fit .mv2-fit-grid .mv2-side, .mv2.mv2-fit .mv2-fit-grid #mv2-bay{
  background:transparent !important;border:0 !important;box-shadow:none !important;outline:0 !important;}
.mv2.mv2-fit .mv2-fit-grid #mv2-bay rect[fill="#0b0c0e"]{fill:#F5F6F8 !important;}
.mv2.mv2-fit .mv2-fit-grid #mv2-bay rect[stroke="#26292d"]{stroke:#AEB4BB !important;}
.mv2.mv2-fit .mv2-fit-grid #mv2-bay text[fill="#c9cdd3"]{fill:#3F454C !important;}
.mv2.mv2-fit .mv2-fit-grid #mv2-bay text[fill="#9aa0a6"], .mv2.mv2-fit .mv2-fit-grid #mv2-bay text[fill="#8a9099"]{fill:#5A6068 !important;}
.mv2.mv2-fit .mv2-fit-grid #mv2-bay text[fill="#5fa777"]{fill:#2E7D4F !important;}
.mv2.mv2-fit .mv2-fit-grid #mv2-bay text[fill="#D8B856"]{fill:#8A6A18 !important;}
.mv2.mv2-fit .mv2-fit-grid #mv2-bay line[stroke="#3a4046"], .mv2.mv2-fit .mv2-fit-grid #mv2-bay line[stroke="#5a6068"]{stroke:#9AA1A9 !important;}

/* ============================================================
   INTERACTIVE SITE PLANS: BUTTON TEXT WHITE
   The size filters and configuration buttons on every map used grey
   text (#d8dce1, and a darker #8f959b on Queen Creek). White reads far
   better on the dark chips. The selected button keeps dark text on
   its gold fill. Covers Queen Creek, Deer Valley, Lake Keowee and
   both Peoria maps, since they all use the same .f buttons.
   ============================================================ */
[class^="mvsp"] .f, [class*=" mvsp"] .f{color:#FFFFFF !important;font-weight:700 !important;}
[class^="mvsp"] .f:hover, [class*=" mvsp"] .f:hover{color:#FFFFFF !important;border-color:rgba(255,255,255,.45) !important;}
[class^="mvsp"] .f.on, [class*=" mvsp"] .f.on{color:#0A0B0C !important;}
/* the small group labels above the buttons were the dimmest text on the map */
[class^="mvsp"] .f-lbl, [class*=" mvsp"] .f-lbl{color:#C9CED4 !important;}

/* Arizona map: tappable community list under the map */
.mv-azlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
@media(max-width:760px){.mv-azlist{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.mv-azlist{grid-template-columns:1fr}}
.mv-azitem{display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;font:inherit;
  background:#14171a;border:1px solid #2e333a;border-radius:10px;padding:11px 12px;color:#FFFFFF}
.mv-azitem:hover{border-color:#D8B856}
.mv-azitem:focus-visible{outline:2px solid #D8B856;outline-offset:2px}
.mv-azitem i{flex:0 0 12px;height:12px;border-radius:50%;background:#0a0b0c;border:2px solid #D8B856}
.mv-azitem.now i{background:#D8B856}
.mv-azitem.sold i{background:#5a6068;border-color:#8a9098}
.mv-azitem span{flex:1 1 auto;font-weight:700;font-size:.95rem;line-height:1.25}
.mv-azitem em{font-style:normal;font-size:.8rem;color:#9AA1A9;white-space:nowrap}
.mv-azitem.mv-azall{justify-content:center;background:transparent;border-style:dashed}
.mv-azitem.mv-azall span{flex:0 0 auto;color:#D8B856}

/* ============================================================
   LOCATION HERO, OPTION A: NAME FIRST
   One pattern for every community page: region, community name,
   one line of character, then the facts on a single row. Replaces
   the breadcrumb, badge and repeated fine-print line.
   ============================================================ */
.mvp-hero .in.hero-a{display:flex;flex-direction:column;align-items:flex-start;gap:18px;}
.mvp-hero .in.hero-a .ey{color:#D8B856;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:800;
  font-size:1rem;letter-spacing:.2em;text-transform:uppercase;}
.mvp-hero .in.hero-a h1{margin:0 !important;font-family:Fraunces,Georgia,serif;font-weight:400;
  font-size:clamp(3.2rem,7.4vw,7rem) !important;line-height:.95 !important;letter-spacing:-.01em;text-transform:none !important;}
.mvp-hero .in.hero-a .hero-tag{margin:0 !important;font-family:Fraunces,Georgia,serif;font-style:italic;
  color:#D8B856 !important;font-size:clamp(1.4rem,2.6vw,2.15rem) !important;line-height:1.2 !important;max-width:34ch;}
.mvp-hero .in.hero-a .hero-facts{display:flex;align-items:center;flex-wrap:wrap;gap:14px;
  font-size:1.05rem;color:#E8EAED;}
.mvp-hero .in.hero-a .hero-facts > br,.mvp-hero .in.hero-a .hero-cta > br{display:none;}
.mvp-hero .in.hero-a .hero-dot{width:4px;height:4px;border-radius:50%;background:#8A9098;display:inline-block;}
.mvp-hero .in.hero-a .hero-chip{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;
  font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;}
.mvp-hero .in.hero-a .hero-chip.now{background:#D8B856;color:#0A0B0C;}
.mvp-hero .in.hero-a .hero-chip.sold{background:rgba(90,96,104,.55);color:#FFFFFF;border:1px solid #8A9098;}
.mvp-hero .in.hero-a .hero-chip.soon{background:rgba(10,11,12,.5);color:#D8B856;border:1px solid #D8B856;}
.mvp-hero .in.hero-a .hero-cta{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:6px;}
@media(max-width:640px){
  .mvp-hero .in.hero-a{gap:14px;}
  .mvp-hero .in.hero-a .hero-facts{font-size:.98rem;gap:10px;}
  .mvp-hero .in.hero-a .hero-cta{width:100%;flex-direction:column;align-items:stretch;}
  .mvp-hero .in.hero-a .hero-cta .btn{width:100%;text-align:center;}
}

/* SMS consent notice under every form (A2P 10DLC) */
.mvp .form-sms{margin-top:12px !important;font-size:.88rem !important;line-height:1.55 !important;max-width:70ch;}
.mvp .form-sms a{color:#D8B856;text-decoration:underline;}
#nv-page .nv-paper .form-sms a, #sh-page .sh-paper .form-sms a, #rs-page .rs-paper .form-sms a,
#kw-page .kw-paper .form-sms a{color:#A50E23 !important;}

/* ============================================================
   HERO AND PHOTO BANDS
   The site's own overlay is left exactly as it was, so photos look
   as they always did. The only fixes here are the ones that were
   actually wrong: hero text colour was never set site-wide (so pages
   without their own rule rendered BLACK text on a photo), and a soft
   shadow keeps big type crisp over a pale part of an image.
   ============================================================ */
.mvp-hero, .mvh-hero{position:relative;}
.mvp-hero > .in, .mvh-hero > .in, .mvp-hero > .mvp-wrap, .mvh-hero > .mvp-wrap{position:relative;z-index:2;}
.mvp-hero .in, .mvp-hero .mvp-wrap, .mvh-hero .in, .mvh-hero .mvp-wrap{color:#FFFFFF;}
.mvp-hero .in h1, .mvp-hero .mvp-wrap h1, .mvh-hero .in h1, .mvh-hero .mvp-wrap h1{color:#FFFFFF;}
.mvp-hero .in h1 em, .mvp-hero .mvp-wrap h1 em, .mvh-hero .in h1 em, .mvh-hero .mvp-wrap h1 em{color:#D8B856;}
.mvp-hero .in p, .mvp-hero .mvp-wrap p, .mvh-hero .in p, .mvh-hero .mvp-wrap p{color:#E8EAED;}
.mvp-hero .in .hero-tag{color:#D8B856 !important;}
.mvp-hero .in h1, .mvh-hero .in h1, .mvp-hero .mvp-wrap h1, .mvp-hero .in .hero-tag, .mvp-hero .in .sub,
.mvh-hero .in .sub, .mvp-hero .in .hero-facts, .mvp-hero .in .meta, .mvp-hero .in .ey, .mvh-hero .in .ey{
  text-shadow:0 2px 16px rgba(6,7,8,.85), 0 1px 3px rgba(6,7,8,.55);}

/* ============================================================
   LOCATION HERO, OPTION A: NAME FIRST
   One pattern for every community page: region, community name,
   one line of character, then the facts on a single row. Replaces
   the breadcrumb, badge and repeated fine-print line.
   ============================================================ */
.mvp-hero .in.hero-a{display:flex;flex-direction:column;align-items:flex-start;gap:18px;}
.mvp-hero .in.hero-a .ey{color:#D8B856;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:800;
  font-size:1rem;letter-spacing:.2em;text-transform:uppercase;}
.mvp-hero .in.hero-a h1{margin:0 !important;font-family:Fraunces,Georgia,serif;font-weight:400;
  font-size:clamp(3.2rem,7.4vw,7rem) !important;line-height:.95 !important;letter-spacing:-.01em;text-transform:none !important;}
.mvp-hero .in.hero-a .hero-tag{margin:0 !important;font-family:Fraunces,Georgia,serif;font-style:italic;
  color:#D8B856 !important;font-size:clamp(1.4rem,2.6vw,2.15rem) !important;line-height:1.2 !important;max-width:34ch;}
.mvp-hero .in.hero-a .hero-facts{display:flex;align-items:center;flex-wrap:wrap;gap:14px;
  font-size:1.05rem;color:#E8EAED;}
.mvp-hero .in.hero-a .hero-facts > br,.mvp-hero .in.hero-a .hero-cta > br{display:none;}
.mvp-hero .in.hero-a .hero-dot{width:4px;height:4px;border-radius:50%;background:#8A9098;display:inline-block;}
.mvp-hero .in.hero-a .hero-chip{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;
  font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;}
.mvp-hero .in.hero-a .hero-chip.now{background:#D8B856;color:#0A0B0C;}
.mvp-hero .in.hero-a .hero-chip.sold{background:rgba(90,96,104,.55);color:#FFFFFF;border:1px solid #8A9098;}
.mvp-hero .in.hero-a .hero-chip.soon{background:rgba(10,11,12,.5);color:#D8B856;border:1px solid #D8B856;}
.mvp-hero .in.hero-a .hero-cta{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:6px;}
@media(max-width:640px){
  .mvp-hero .in.hero-a{gap:14px;}
  .mvp-hero .in.hero-a .hero-facts{font-size:.98rem;gap:10px;}
  .mvp-hero .in.hero-a .hero-cta{width:100%;flex-direction:column;align-items:stretch;}
  .mvp-hero .in.hero-a .hero-cta .btn{width:100%;text-align:center;}
}

/* SMS consent notice under every form (A2P 10DLC) */
.mvp .form-sms{margin-top:12px !important;font-size:.88rem !important;line-height:1.55 !important;max-width:70ch;}
.mvp .form-sms a{color:#D8B856;text-decoration:underline;}
#nv-page .nv-paper .form-sms a, #sh-page .sh-paper .form-sms a, #rs-page .rs-paper .form-sms a,
#kw-page .kw-paper .form-sms a{color:#A50E23 !important;}

/* ============================================================
   HERO AND PHOTO BANDS: READABILITY
   The old scrim was dark top and bottom but only 35% through the
   middle, which is where the headline and facts sit. Over a bright
   photo the text disappeared. These rules darken the middle, add a
   wash on the side the text sits on, and dim the photo slightly.
   Applies to every hero, closing band and photo band on the site.
   ============================================================ */
.mvp-hero, .mvh-hero, .mvp-band, .mvh-band, .mvp-close, .mvh-close{position:relative;isolation:isolate;}
.mvp-hero .bg, .mvh-hero .bg{filter:saturate(.95);}
.mvp-hero .bg::after, .mvh-hero .bg::after{content:'' !important;position:absolute !important;inset:0 !important;
  background:linear-gradient(100deg,rgba(6,7,8,.56) 0%,rgba(6,7,8,.32) 42%,rgba(6,7,8,.06) 75%,rgba(6,7,8,.02) 100%),
             linear-gradient(0deg,rgba(6,7,8,.38),rgba(6,7,8,.03) 55%,rgba(6,7,8,.14)) !important;}
/* heroes that paint the photo on the section itself rather than a .bg layer */
.mvp-hero > .in, .mvh-hero > .in{position:relative;z-index:2;}
.mvp-hero::after, .mvh-hero::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,rgba(6,7,8,.14) 0%,rgba(6,7,8,.03) 45%,rgba(6,7,8,0) 80%);}
.mvp-hero .bg, .mvh-hero .bg{z-index:0;}
/* a soft shadow keeps big type legible even where the photo is pale */
.mvp-hero .in h1, .mvh-hero .in h1, .mvp-hero .in .hero-tag, .mvp-hero .in .sub, .mvh-hero .in .sub,
.mvp-hero .in .hero-facts, .mvp-hero .in .meta{text-shadow:0 2px 16px rgba(6,7,8,.85), 0 1px 3px rgba(6,7,8,.55);}
.mvp-hero .in .ey, .mvh-hero .in .ey{text-shadow:0 2px 14px rgba(6,7,8,.8);}
/* photo bands were the palest of all in the middle */
.mvp-band .bg::after, .mvh-band .bg::after{content:'' !important;position:absolute !important;inset:0 !important;
  background:linear-gradient(0deg,rgba(6,7,8,.90),rgba(6,7,8,.55) 55%,rgba(6,7,8,.70)) !important;}
.mvp-close .bg::after, .mvh-close .bg::after{background:rgba(6,7,8,.76) !important;}
/* phones: the text sits over the middle of the photo, so darken evenly */
@media(max-width:900px){
  .mvp-hero .bg::after, .mvh-hero .bg::after{
    background:linear-gradient(0deg,rgba(6,7,8,.60),rgba(6,7,8,.22) 50%,rgba(6,7,8,.34)) !important;}
  .mvp-hero::after, .mvh-hero::after{background:rgba(6,7,8,.06);}
}
/* A hero that paints its photo on the section itself (no .bg layer) gets the
   scrim from its own overlay, and its content sits above it. */
/* These heroes already paint their own dark gradient over the photo in the page,
   so the scrim here is light. Stacking a second full-strength one turned the
   photo black (it did, on Your Suite). */
.mvp-hero:not(:has(> .bg))::after, .mvh-hero:not(:has(> .bg))::after{
  background:linear-gradient(100deg,rgba(6,7,8,.26) 0%,rgba(6,7,8,.12) 45%,rgba(6,7,8,.02) 100%);}
.mvp-hero > .mvp-wrap, .mvh-hero > .mvp-wrap{position:relative;z-index:2;}
@media(max-width:900px){
  .mvp-hero:not(:has(> .bg))::after, .mvh-hero:not(:has(> .bg))::after{
    background:linear-gradient(0deg,rgba(6,7,8,.30),rgba(6,7,8,.10) 50%,rgba(6,7,8,.20));}
}
/* Hero text colour was only ever set by individual pages, so any page without
   its own hero CSS fell back to black on a dark photo. Set it once, for all. */
.mvp-hero .in, .mvp-hero .mvp-wrap, .mvh-hero .in, .mvh-hero .mvp-wrap{color:#FFFFFF;}
.mvp-hero .in h1, .mvp-hero .mvp-wrap h1, .mvh-hero .in h1, .mvh-hero .mvp-wrap h1{color:#FFFFFF;}
.mvp-hero .in h1 em, .mvp-hero .mvp-wrap h1 em, .mvh-hero .in h1 em, .mvh-hero .mvp-wrap h1 em{color:#D8B856;}
.mvp-hero .in p, .mvp-hero .mvp-wrap p, .mvh-hero .in p, .mvh-hero .mvp-wrap p{color:#E8EAED;}
.mvp-hero .in .hero-tag{color:#D8B856 !important;}

/* Location cards: a long button label (Join the Resale Waitlist, View Available
   Suites) used to run past the card edge at some widths. Let it shrink and wrap. */
.mvh-lh .btn, .mvp-loc .btn, .mvp-tile .btn{
  max-width:100% !important;box-sizing:border-box;white-space:normal !important;text-align:center;
  padding-left:18px !important;padding-right:18px !important;font-size:.95rem !important;line-height:1.25;}
@media(max-width:1100px){.mvh-lh .btn, .mvp-loc .btn{display:block !important;width:100% !important;}}

/* Hero facts row: the status pill sits on its own solid fill, so the type shadow
   only muddied it. The line beside it was too small and too grey to read. */
.mvp-hero .in.hero-a .hero-chip{text-shadow:none !important;}
.mvp-hero .in.hero-a .hero-facts{font-size:clamp(1.12rem,1.35vw,1.3rem) !important;color:#F2F4F6 !important;}
.mvp-hero .in.hero-a .hero-facts span:not(.hero-chip):not(.hero-dot){color:#F2F4F6 !important;}
.mvp-hero .in.hero-a .hero-dot{background:#B9BFC6 !important;}
@media(max-width:640px){.mvp-hero .in.hero-a .hero-facts{font-size:1.06rem !important;}}

/* ============================================================
   READING WIDTH
   Body copy ran about 89 characters per line, which is a long way
   past the 60 to 75 that reads comfortably. The content column comes
   in, and running text is capped at a sensible measure. Full-bleed
   photos, hero backgrounds, maps, site plans and galleries are
   untouched: only text and the blocks that hold it move in.
   ============================================================ */
.mvp-wrap{width:min(1100px,86vw) !important;}
.mvp-sec .mvp-chk, .mvp-sec .mvp-disclaimer{max-width:52ch;}
/* headings can run a little wider, they are larger type */
.mvp-sec .mvp-h2, .mvp-hero .in .sub{max-width:26ch;}
.mvp-sec .mvp-h2{max-width:20ch;}
/* inside a two-column row or a card the parent already sets the width */
.mvp-planrow .mvp-lead, .mvp-rgrid .mvp-lead, .sh-row .mvp-lead, .kw-row .mvp-lead,
.rs-card .mvp-lead, .mvp-loc .mvp-lead, .mvk-form .mvp-lead{max-width:none;}
@media(max-width:900px){
  .mvp-wrap{width:min(1100px,90vw) !important;}
  .mvp-sec .mvp-h2{max-width:none;}
  .mvp-hero .in .sub{max-width:none;}
}
/* Broad measure cap: any running text inside a page section. Centred blocks keep
   their centring; anything already in a narrow column is unaffected. */
/* 58ch of the "0" glyph works out at roughly 70 real characters, which is the
   comfortable range. The homepage uses .mvh classes, so it is included. */
.mvp p, .mvp li, .mvh p, .mvh li{max-width:52ch;}
.mvp .mvp-lead, .mvh .lead{max-width:46ch;}
.mvp .frame .fine, .mvp .frame .stc, .mvp .rinfo .fine{max-width:86ch;}
.mvp [style*="text-align:center"] p, .mvp [style*="text-align: center"] p{margin-left:auto;margin-right:auto;}
/* things that must keep their own width */
.mvp .frame p, .mvp .rinfo p, .mvp .side p, .mvp .legend p, .mvp .mv2-fit-grid p,
.mvp .mvfaq p, .mvp .mvk-form p, .mvp table p, .mvp .rs-card p, .mvp .mvp-loc p,
.mvp .hero-facts, .mvp .mvp-hero p.meta{max-width:none;}
@media(max-width:900px){.mvp p, .mvp li, .mvh p, .mvh li, .mvp .mvp-lead, .mvh .lead{max-width:none;}}
/* The homepage has no .mvh page wrapper: its sections sit at the top level,
   so the measure has to hang off the section classes themselves. */
.mvh-sec p, .mvh-sec li, .mvh-split p, .mvh-split li, .mvh-specwrap p,
.mvh-band p, .mvh-close p, .mvh-faq p, .mvh-sec .txt p, .mvh-split .txt p{max-width:52ch;}
.mvh-sec .lead, .mvh-split .lead{max-width:46ch;}
@media(max-width:900px){
  .mvh-sec p, .mvh-sec li, .mvh-split p, .mvh-split li, .mvh-specwrap p,
  .mvh-band p, .mvh-close p, .mvh-faq p, .mvh-sec .lead, .mvh-split .lead{max-width:none;}
}
/* A little more air between lines helps as much as width does */
.mvp p, .mvp li, .mvh-sec p, .mvh-split p, .mvh-specwrap p{line-height:1.68;}
.mvp .mvp-lead, .mvh .lead{line-height:1.5;}

/* ============================================================
   SECTION RHYTHM
   Every section used the same opening: gold rule, gold eyebrow,
   serif headline with an italic tail. Twelve in a row reads as one
   long block. This varies the treatment on a repeating cycle, so the
   eye gets a change every few sections without touching any markup.
   ============================================================ */
/* 2nd in each group of three: no rule, the eyebrow carries a gold bar instead */
.mvp-sec:nth-of-type(3n+2) > .mvp-wrap > .rule{display:none;}
.mvp-sec:nth-of-type(3n+2) > .mvp-wrap > .ey{display:inline-block;border-left:3px solid #D8B856;padding-left:12px;}
/* in a centred block the bar would float off on its own, so it is dropped there */
.mvp-sec:nth-of-type(3n+2) > .mvp-wrap[style*="text-align:center"] > .ey,
.mvp-sec:nth-of-type(3n+2) > .mvp-wrap[style*="text-align: center"] > .ey{border-left:0;padding-left:0;}
/* 3rd in each group: quieter eyebrow, larger headline, tighter leading */
.mvp-sec:nth-of-type(3n) > .mvp-wrap > .rule{width:28px;opacity:.6;}
.mvp-sec:nth-of-type(3n) > .mvp-wrap > .mvp-h2{font-size:clamp(2.4rem,4.4vw,3.6rem);line-height:1.02;}
/* a hairline above every fourth section separates the stack */
.mvp-sec:nth-of-type(4n+1){border-top:1px solid rgba(255,255,255,.07);}
/* and vary the vertical rhythm so blocks are not all the same height */
.mvp-sec:nth-of-type(3n+2){padding-top:clamp(48px,5vw,76px);padding-bottom:clamp(48px,5vw,76px);}
.mvp-sec:nth-of-type(5n){padding-top:clamp(80px,9vw,132px);}
@media(max-width:700px){
  .mvp-sec:nth-of-type(3n) > .mvp-wrap > .mvp-h2{font-size:clamp(2rem,7vw,2.6rem);}
  .mvp-sec:nth-of-type(5n){padding-top:clamp(56px,9vw,80px);}
}

/* ============================================================
   FIT ON SCREEN
   The availability maps and the Will It Fit planner were taller than
   the window, so you had to scroll to see one thing. These cap the
   tall pieces to the screen height. The maps are SVG, so they scale
   rather than crop; the planner's panels scroll inside themselves.
   ============================================================ */
.mvp .frame .matte svg{max-height:calc(100vh - 300px);width:auto;max-width:100%;display:block;margin:0 auto;}
/* the frame itself is not capped: the svg above is, and capping the frame pushed the notes under the map onto the next paragraph */
/* the site plan image: never taller than the screen */
.mvp .mv-zoom, .mvp .mvp-planrow img, .mvp figure img{max-height:calc(100vh - 220px);width:auto;max-width:100%;margin:0 auto;}
/* Will It Fit is left at its natural size: capping it cut the floor plan off. */
@media(max-width:900px){
  /* on a phone, tall is fine: scrolling one column is natural */
  .mvp .frame .matte svg, .mvp .board .frame, .mvp .board-vert .frame,
  .mvp .mv2-fit-grid, .mvp .mv2-fit-pick, .mvp .mv2-fit-stage, .mvp .mv2-fit-stage > *,
  .mvp .mv-zoom{max-height:none;overflow:visible;}
}
.mvp .mvp-step-img{max-height:calc(100vh - 240px);width:auto;max-width:100%;object-fit:cover;}
@media(max-width:900px){.mvp .mvp-step-img{max-height:none;}}

/* Collapsible site-plan notes: the long survey and area disclaimer is there when
   wanted, out of the way when not. */
.mvp .mvp-finex{border-top:1px solid rgba(255,255,255,.12);margin-top:12px;}
.mvp .mvp-finex summary{cursor:pointer;list-style:none;padding:12px 24px 12px 0;position:relative;
  font-size:.86rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#D8B856;}
.mvp .mvp-finex summary::-webkit-details-marker{display:none;}
.mvp .mvp-finex summary::after{content:'+';position:absolute;right:2px;top:8px;font-size:1.3rem;font-weight:400;color:#D8B856;}
.mvp .mvp-finex[open] summary::after{content:'\2013';}
.mvp .mvp-finex summary:focus-visible{outline:2px solid #D8B856;outline-offset:3px;}
.mvp .mvp-finex .fine{padding:0 0 16px;max-width:86ch;}

/* The SMS notice under a form runs the full width of its block, not a narrow column */
.mvp .form-sms{max-width:none !important;grid-column:1 / -1;width:100%;}

/* FAQ legibility: questions and answers were sitting a couple of points small */
.mvp details summary{font-size:1.16rem;}
.mvp details .sh-faq-a, .mvp details div p, .mvp .sh-faq-i p{font-size:1.06rem;line-height:1.66;}
.mvh-faq summary{font-size:1.16rem;}
.mvh-faq .mvh-faq-a, .mvh-faq div p{font-size:1.06rem;line-height:1.66;}
/* The site-wide link colour is !important, so button-style links inside a section's
   own styles need to opt out by name. */
.mvp .mvfaq-cta, .mvp a.mvfaq-cta, .mvfaq .mvfaq-cta{color:#FFFFFF !important;}
.mvp .mvfaq-cta:hover{color:#FFFFFF !important;}



/* The three "explore" links on the homepage read as buttons now: black, gold
   hairline, gold label. They were gold italic text links, easy to miss. */
.mvh-more, a.mvh-more{display:inline-flex !important;align-items:center;gap:10px;
  margin-top:22px;padding:15px 26px;border:1px solid #D8B856;border-radius:6px;
  background:#0A0B0C;color:#D8B856 !important;
  font-family:'Hanken Grotesk',system-ui,sans-serif !important;font-style:normal !important;
  font-weight:800 !important;font-size:.92rem !important;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;transition:background .2s ease,color .2s ease;}
.mvh-more:hover{background:#D8B856;color:#0A0B0C !important;}
.mvh-more span{transition:transform .2s ease;}
.mvh-more:hover span{transform:translateX(3px);}
@media(max-width:640px){.mvh-more, a.mvh-more{width:100%;justify-content:center;}}

/* ============================================================
   BLANK CANVAS SLIDER (Lake Keowee)
   Two drawings stacked; the top one is clipped to the handle
   position held in --kwc. The range input sits invisibly on top so
   it works with a mouse, a finger, or the arrow keys.
   ============================================================ */
.kwc{position:relative;margin-top:26px;border-radius:16px;overflow:hidden;border:1px solid rgba(216,184,86,.35);
  background:#15181c;touch-action:pan-y;}
.kwc-layer{position:relative;line-height:0;}
.kwc-layer.kwc-b{position:absolute;inset:0;clip-path:inset(0 0 0 var(--kwc));}
.kwc-svg{display:block;width:100%;height:auto;}
.kwc-line{position:absolute;top:0;bottom:0;left:var(--kwc);width:2px;background:#D8B856;pointer-events:none;
  box-shadow:0 0 18px rgba(216,184,86,.5);}
.kwc-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;
  background:#0A0B0C;border:2px solid #D8B856;color:#D8B856;display:flex;align-items:center;justify-content:center;
  font-size:.9rem;letter-spacing:-1px;}
.kwc-tag{position:absolute;bottom:14px;padding:7px 13px;border-radius:999px;font-size:.78rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;pointer-events:none;}
.kwc-tag-a{left:14px;background:rgba(255,255,255,.88);color:#0A0B0C;}
.kwc-tag-b{right:14px;background:rgba(10,11,12,.8);color:#D8B856;border:1px solid rgba(216,184,86,.5);}
.kwc-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;}
.kwc-range:focus-visible + .kwc-line, .kwc-range:focus-visible ~ .kwc-line{outline:2px solid #D8B856;outline-offset:2px;}
@media(max-width:640px){
  .kwc-grip{width:38px;height:38px;}
  .kwc-tag{font-size:.68rem;padding:6px 10px;bottom:10px;}
}

/* Locations page: the section padding left large stretches of empty black
   between short blocks, so it is tightened here only. */
.mvp-locations .mvp-sec{padding:clamp(40px,4.5vw,64px) 0 !important;}
.mvp-locations .mvp-sec:nth-of-type(3n+2), .mvp-locations .mvp-sec:nth-of-type(5n){
  padding-top:clamp(40px,4.5vw,64px) !important;padding-bottom:clamp(40px,4.5vw,64px) !important;}
.mvp-locations .mvp-grid, .mvp-locations .mvp-locgrid{gap:22px !important;}
.mvp-locations .mvp-h2{margin-bottom:6px;}
.mvp-locations .mvp-lead{margin-top:10px;}

/* Feature lists inside a split block stay one column: the half-width text column
   is too narrow to split again without shredding the wrapping. They do get a
   little more room than ordinary body copy. */
.mvp-split .txt .chk li, .mvp-split .txt p{max-width:46ch;}

/* ============================================================
   TEXT SIZE
   Body copy sat at 16 to 17px on a dark ground, which reads smaller
   than it measures. Everything that is not a heading goes up a step.
   ============================================================ */
.mvp p, .mvp li, .mvh-sec p, .mvh-sec li, .mvh-split p, .mvh-specwrap p{font-size:1.12rem;}
.mvp .mvp-lead, .mvh .lead, .mvh-sec .lead{font-size:1.28rem;}
.mvp .mvp-disclaimer, .mvp .fine, .mvp .mvfaq-note{font-size:1rem;}
.mvp .mvp-chk li, .mvp .chk li{font-size:1.12rem;}
.mvp .ey, .mvh-sec .ey{font-size:1rem;}
.mvp .hero-facts{font-size:clamp(1.14rem,1.35vw,1.32rem) !important;}
.mvp .mv2-stat-l, .mvp .stat-l{font-size:.95rem;}
.mvp details summary{font-size:1.2rem;}
.mvp .frame .fine, .mvp .rinfo .fine, .mvp .rinfo p{font-size:.98rem;}
@media(max-width:640px){
  .mvp p, .mvp li, .mvh-sec p, .mvh-sec li{font-size:1.08rem;}
  .mvp .mvp-lead, .mvh .lead{font-size:1.18rem;}
}

/* Specs row: it was a four-column grid holding three boxes, so it sat off to the
   left with a hole on the right. Flex centres whatever number of boxes there are,
   and the section below it loses the extra black space. */
.mvp .mvp-specs{display:flex !important;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:30px;}
.mvp .mvp-specs .s{flex:1 1 240px;max-width:330px;}
.mvp .mvp-specs .s b{font-size:2.5rem;}
.mvp .mvp-sec:has(> .wrap > .mvp-specs), .mvp .mvp-sec:has(> .mvp-wrap > .mvp-specs){padding-bottom:clamp(36px,4vw,56px);}
.mvp .mvp-specs .s-sold b{color:#9AA1A9;}
@media(max-width:700px){.mvp .mvp-specs .s{flex:1 1 100%;max-width:none;}}
/* Video pair stacks on a phone */
@media(max-width:820px){.mvp .mvp-vidgrid{grid-template-columns:1fr !important;}}

/* ============================================================
   IMAGE PAIR + LIGHTBOX
   Two images side by side at a readable size; click either one to
   see it full screen. Used on Lake Pleasant for the site plan and
   the rendering, and available to any page that needs it.
   ============================================================ */
.mvp .mvp-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px;}
.mvp .mvp-pair figure{margin:0;}

.mvp .mvp-pair .mv-lb img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;transition:transform .35s ease;}
.mvp .mvp-pair .mv-lb:hover img{transform:scale(1.03);}
.mvp .mvp-pair .mv-lb-hint{position:absolute;right:10px;bottom:10px;background:rgba(10,11,12,.82);color:#D8B856;
  border:1px solid rgba(216,184,86,.5);border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;}
.mvp .mvp-pair .mv-lb:focus-visible{outline:2px solid #D8B856;outline-offset:3px;}
.mvp .mvp-pair figcaption{margin-top:10px;font-size:.98rem;color:#9AA1A9;}
@media(max-width:820px){.mvp .mvp-pair{grid-template-columns:1fr;gap:22px;}}

/* the overlay itself */
.mv-lbox{position:fixed;inset:0;z-index:99999;background:rgba(6,7,8,.94);display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:28px;gap:14px;}
.mv-lbox img{max-width:min(1500px,96vw);max-height:84vh;width:auto;height:auto;border-radius:10px;
  border:1px solid rgba(255,255,255,.18);}
.mv-lbox figcaption{color:#C9CED4;font-size:1rem;text-align:center;max-width:70ch;}
.mv-lbox-x{position:absolute;top:18px;right:20px;width:46px;height:46px;border-radius:50%;background:#0A0B0C;
  border:1px solid #D8B856;color:#D8B856;font-size:1.4rem;line-height:1;cursor:pointer;}
body.mv-lbox-open{overflow:hidden;}

/* ============================================================
   IMAGES FIT THE SCREEN, DETAIL LIVES IN THE LIGHTBOX
   Content images are capped so a section fits on one screen, and
   every one of them opens full size on click.
   ============================================================ */

.mvp .mv-lb-inline img, .mvh .mv-lb-inline img, .mvh-sec .mv-lb-inline img{display:block;width:100%;height:auto;max-height:min(46vh,420px);object-fit:cover;
  border-radius:12px;transition:transform .35s ease,filter .35s ease;}
.mvp .mv-lb-inline:hover img, .mvh .mv-lb-inline:hover img{transform:scale(1.02);filter:brightness(1.06);}
.mvp .mv-lb-inline:focus-visible{outline:2px solid #D8B856;outline-offset:3px;border-radius:12px;}
.mvp .mv-lb-inline .mv-lb-hint, .mvh .mv-lb-inline .mv-lb-hint, .mvh-sec .mv-lb-inline .mv-lb-hint{position:absolute;right:10px;bottom:10px;background:rgba(10,11,12,.8);color:#D8B856;
  border:1px solid rgba(216,184,86,.45);border-radius:999px;padding:5px 11px;font-size:.74rem;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:opacity .2s ease;pointer-events:none;}
.mvp .mv-lb-inline:hover .mv-lb-hint, .mvp .mv-lb-inline:focus-visible .mv-lb-hint, .mvh .mv-lb-inline:hover .mv-lb-hint{opacity:1;}
/* gallery thumbnails can be shorter still */
.mvp .sh-gal .mv-lb-inline img, .mvp .mvp-rgrid .mv-lb-inline img, .mvp .mv2-suitegal .mv-lb-inline img{
  max-height:min(32vh,300px);}
@media(max-width:820px){
  .mvp .mv-lb-inline img{max-height:none;}
  .mvp .mv-lb-inline .mv-lb-hint{opacity:1;}
}

/* Area text and its map side by side */
.mvp .mvp-maprow{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start;margin-top:24px;}
.mvp .mvp-maprow-txt p{max-width:none;}
.mvp .mvp-maprow-note{margin-top:12px !important;font-size:1rem !important;}
@media(max-width:900px){.mvp .mvp-maprow{grid-template-columns:1fr;gap:24px;}}

/* More room between paired blocks: the site plan and the rendering, the area copy
   and its map, and the plan-and-text rows. They were sitting too close to read as
   two separate things. */
.mvp .mvp-pair{gap:52px !important;}
.mvp .mvp-maprow{gap:52px !important;}
.mvp .mvp-planrow{gap:52px !important;}
.mvp .mvp-pair figcaption{margin-top:14px;}
@media(max-width:900px){
  .mvp .mvp-pair, .mvp .mvp-maprow, .mvp .mvp-planrow{gap:34px !important;}
}

/* When a block is centred, the reading-width caps must centre with it. Without
   this the capped headline and paragraph sit left inside a centred container,
   which reads as crooked. */
.mvp [style*="text-align:center"] > h1, .mvp [style*="text-align:center"] > h2,
.mvp [style*="text-align:center"] > h3, .mvp [style*="text-align:center"] > p,
.mvp [style*="text-align:center"] > ul, .mvp [style*="text-align:center"] > ol,
.mvp [style*="text-align: center"] > h2, .mvp [style*="text-align: center"] > p,
.mvp .mvp-wrap[style*="text-align:center"] .mvp-h2,
.mvp .mvp-wrap[style*="text-align:center"] .mvp-lead,
.mvh [style*="text-align:center"] > h2, .mvh [style*="text-align:center"] > p{
  margin-left:auto !important;margin-right:auto !important;}

/* ============================================================
   IMAGES: SCALED DOWN, NEVER CROPPED
   A height cap with object-fit: cover crops the picture. These rules
   scale the whole image down instead, keeping its proportions, and
   centre it in its column. Click to enlarge is added by the script.
   ============================================================ */
.mvp .mvp-sec img:not(.kw-person-photo):not(.mvq-render),
.mvp .mvp-split img, .mvh-sec img:not(.mvq-render){
  max-height:min(46vh,420px) !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  aspect-ratio:auto !important;
  margin-left:auto;margin-right:auto;display:block;}
.mvp .mvp-gallery img, .mvp .mvp-rgrid img, .mvp .sh-gal img{max-height:min(32vh,300px) !important;}
.mv-zoomable{cursor:zoom-in;}
@media(max-width:820px){
  .mvp .mvp-sec img:not(.kw-person-photo), .mvp .mvp-split img, .mvh-sec img,
  .mvp .mvp-gallery img, .mvp .mvp-rgrid img, .mvp .sh-gal img{max-height:none !important;width:100% !important;}
}

/* A tall plan beside its notes: portrait drawing on the left, text on the right.
   The drawing gets more height than an ordinary photo because it is meant to be
   studied, and it still scales rather than crops. */
.mvp .mvp-planrow-tall{display:grid;grid-template-columns:minmax(0,58%) minmax(320px,1fr);gap:48px;align-items:center;}
.mvp .mvp-sec .mvp-planrow-tall .mvp-planrow-img img, .mvp .mvp-planrow-tall .mvp-planrow-img img{max-height:min(82vh,900px) !important;width:auto !important;
  max-width:100% !important;height:auto !important;object-fit:contain !important;display:block;margin:0 auto;
  border-radius:12px;border:1px solid rgba(255,255,255,.14);}
.mvp .mvp-planrow-tall .mvp-planrow-txt{text-align:left;}
.mvp .mvp-planrow-tall .mvp-planrow-txt .mvp-h2{max-width:none;}
@media(max-width:900px){
  .mvp .mvp-planrow-tall{grid-template-columns:1fr;gap:28px;}
  .mvp .mvp-sec .mvp-planrow-tall .mvp-planrow-img img{max-height:none !important;width:100% !important;}
}

/* ============================================================
   BAND COLOURS: ONE DARK, ONE LIGHT
   The pages had two near-identical darks, a green-black (#0D1A1F)
   and a grey-black (#14181C), which read as a mistake rather than a
   contrast. Everything now alternates between a single neutral dark
   and a single warm light, so the rhythm is deliberate.
   ============================================================ */
/* the pages set these with an ID and !important, so these have to match that weight */
html body #kw-page .mvp-sec.kw-depth, html body #kw-page .mvp-sec.kw-slate,
html body #sh-page .mvp-sec.sh-depth, html body #sh-page .mvp-sec.sh-slate,
html body #nv-page .mvp-sec.nv-depth, html body #nv-page .mvp-sec.nv-slate,
html body #rs-page .mvp-sec.rs-depth, html body #rs-page .mvp-sec.rs-slate,
html body #pp-page .mvp-sec.pp-depth, html body #pp-page .mvp-sec.pp-slate,
.mvp .kw-depth, .mvp .sh-depth, .mvp .nv-depth, .mvp .rs-depth,
.mvp .kw-slate, .mvp .sh-slate, .mvp .nv-slate, .mvp .rs-slate,
.mvp .mvp-sec.dark{background:#0F1215 !important;}
html body #kw-page .mvp-sec.kw-paper, html body #kw-page .mvp-sec.kw-sand,
html body #kw-page .mvp-sec.kw-paper.kw-sand,
html body #sh-page .mvp-sec.sh-paper, html body #nv-page .mvp-sec.nv-paper,
html body #rs-page .mvp-sec.rs-paper, html body #pp-page .mvp-sec.pp-paper,
.mvp .kw-paper, .mvp .sh-paper, .mvp .nv-paper, .mvp .rs-paper,
.mvp .kw-sand{background:#F2EFE8 !important;}
/* cards and panels sit a step above the dark band so they still read as surfaces */
.mvp .rs-card, .mvp .rs-step, .mvp .mvk-card, .mvp .sh-card{background:#161A1E !important;}
/* a hairline keeps two dark sections from merging into one slab */
.mvp .kw-depth + .kw-depth, .mvp .sh-depth + .sh-depth, .mvp .nv-depth + .nv-depth,
.mvp .kw-slate + .kw-slate, .mvp .sh-slate + .sh-slate,
.mvp .kw-depth + .kw-slate, .mvp .kw-slate + .kw-depth,
.mvp .sh-depth + .sh-slate, .mvp .sh-slate + .sh-depth{border-top:1px solid rgba(255,255,255,.07);}
/* the boating section on Keowee carried its own near-black; same dark as the rest now */
html body #kw-page .mvfaq, .mvp .mvfaq{background:#0F1215 !important;}

/* ============================================================
   LIGHT BANDS ALWAYS GET DARK TEXT
   A safety net: if a section carries a light background, its text
   is dark whatever the page stylesheet says. Buttons keep their own
   colours, since they sit on their own fill.
   ============================================================ */
html body .mvp .kw-paper, html body .mvp .kw-sand, html body .mvp .sh-paper,
html body .mvp .nv-paper, html body .mvp .rs-paper, html body .mvp .pp-paper,
html body .mvp .mvp-sec.light{color:#3C4248 !important;}
html body .mvp .kw-paper .mvp-h2, html body .mvp .kw-sand .mvp-h2, html body .mvp .sh-paper .mvp-h2,
html body .mvp .nv-paper .mvp-h2, html body .mvp .rs-paper .mvp-h2, html body .mvp .pp-paper .mvp-h2,
html body .mvp .kw-paper h2, html body .mvp .kw-sand h2, html body .mvp .sh-paper h2,
html body .mvp .kw-paper h3, html body .mvp .kw-sand h3, html body .mvp .sh-paper h3{color:#0A0B0C !important;}
html body .mvp .kw-paper .ey, html body .mvp .kw-sand .ey, html body .mvp .sh-paper .ey,
html body .mvp .nv-paper .ey, html body .mvp .rs-paper .ey{color:#6E5310 !important;}
html body .mvp .kw-paper .rule, html body .mvp .kw-sand .rule, html body .mvp .sh-paper .rule,
html body .mvp .nv-paper .rule, html body .mvp .rs-paper .rule{background:#6E5310 !important;}
/* links and buttons on a light band */
html body .mvp .kw-paper a:not(.btn):not(.cta):not(.mvfaq-cta),
html body .mvp .kw-sand a:not(.btn):not(.cta):not(.mvfaq-cta),
html body .mvp .sh-paper a:not(.btn):not(.cta):not(.mvfaq-cta){color:#8A6A12 !important;}
html body .mvp .kw-paper .btn.ghost, html body .mvp .kw-sand .btn.ghost,
html body .mvp .sh-paper .btn.ghost{color:#0A0B0C !important;border-color:#0A0B0C !important;}

/* Closing photo bands: the text sits over a darkened photograph, so it is white
   with gold links. Contact was rendering black text and a default blue link. */
html body .mvp .mvp-close .in, html body .mvp .mvp-close .in h2,
html body .mvp .mvp-close .in h2 em, html body .mvp .mvp-close .in p,
html body .mvh-close .in, html body .mvh-close .in h2, html body .mvh-close .in p{color:#FFFFFF !important;}
html body .mvp .mvp-close .in .ey, html body .mvh-close .in .ey{color:#D8B856 !important;}
html body .mvp .mvp-close .in a:not(.btn):not(.cta),
html body .mvh-close .in a:not(.btn):not(.cta){color:#D8B856 !important;}
html body .mvp .mvp-close .in p{color:#E4E7EB !important;}

/* Dark panels inside a light section keep light text: the planner and the tools
   sit on their own near-black surface, so they must not inherit the band colour. */
html body .mvp .mv2, html body .mvp .mv2-fit, html body .mvp .mv2-wrap,
html body .mvp .mv2 p, html body .mvp .mv2 li, html body .mvp .mv2 h2, html body .mvp .mv2 h3{color:#E6E9EC !important;}
html body .mvp .mv2 .mv2-fine, html body .mvp .mv2-fine{color:#AEB5BC !important;}
/* and the closing band works with or without the page wrapper */
html body .mvp-close .in, html body .mvp-close .in h2, html body .mvp-close .in h2 em{color:#FFFFFF !important;}
html body .mvp-close .in p{color:#E4E7EB !important;}
html body .mvp-close .in .ey{color:#D8B856 !important;}
html body .mvp-close .in a:not(.btn):not(.cta){color:#D8B856 !important;}
/* buttons in a closing band, with or without the page wrapper */
html body .mvp-close .btn, html body .mvh-close .btn{background:#C0102A !important;color:#FFFFFF !important;
  display:inline-block;padding:18px 38px;border-radius:3px;text-decoration:none;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;}
html body .mvp-close .btn.ghost, html body .mvh-close .btn.ghost{background:transparent !important;
  color:#FFFFFF !important;border:1px solid rgba(255,255,255,.55) !important;}
html body #kw-page .kw-paper .mv2, html body #kw-page .kw-paper .mv2 *{color:#E6E9EC !important;}
html body #kw-page .kw-paper .mv2 .mv2-fine, html body #kw-page .kw-paper .mv2-fine{color:#AEB5BC !important;}
html body #kw-page .kw-paper .mv2 .mv2-fit-grid, html body #kw-page .kw-paper .mv2 .mv2-fit-grid *{color:#20242A !important;}

/* ============================================================
   AD LANDING FUNNELS (Clemson pages)
   Bigger type for a 40 to 70 audience, 48px touch targets, and a
   sticky action bar on phones only.
   ============================================================ */
.mvp-funnel .mvp-lead{font-size:1.22rem !important;}
.mvp-funnel .mvp-chk li{font-size:1.14rem !important;padding-top:10px;padding-bottom:10px;}
.mvp-funnel .btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;font-size:1.02rem;}
.mvp-funnel details summary{font-size:1.16rem;padding-top:18px;padding-bottom:18px;}
.mv-funnelbar{display:none;}
@media(max-width:820px){
  .mvp-funnel .mvp-lead{font-size:1.18rem !important;}
  .mv-funnelbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9000;gap:10px;padding:10px 12px;
    padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));
    background:rgba(10,11,12,.96);border-top:1px solid rgba(255,255,255,.14);}
  .mv-funnelbar .btn{flex:1 1 auto;min-height:52px;}
  .mv-funnelbar .mv-funnelbar-call{flex:0 0 64px;font-size:1.3rem;}
  .mvp-funnel{padding-bottom:84px;}
}
