/* MODEN Features & Décor (Pinnacle) */
.mpd{
  --navy:#041425; --deep:#1A2853; --blue:#005798; --blue-2:#0A6BB5; --orange:#FAA422; --orange-ink:#7A4A00;
  --paper:#F4F7FB; --card:#FFFFFF; --line:#DCE3EC; --line-2:#C5D0DD; --ink:#041425; --ink-2:#41505F; --ink-3:#6B7887;
  --on-dark:#FFFFFF; --on-dark-2:#B9C6D6;
  --r-sm:6px; --r:10px; --r-lg:16px;
  --font:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-family:var(--font); color:var(--ink); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; box-sizing:border-box;
}
.mpd *,.mpd *::before,.mpd *::after{box-sizing:border-box}
.mpd img{max-width:100%;display:block}
:where(.mpd) button{font:inherit;color:inherit;cursor:pointer}
.mpd :focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:4px}
.mpd-wrap{max-width:1240px;margin:0 auto;padding-left:24px;padding-right:24px}
.mpd-h2{font-size:clamp(28px,3.4vw,42px);line-height:1.08;font-weight:800;letter-spacing:-.025em;margin:0 0 12px;color:var(--ink)}
.mpd-lede{font-size:18px;color:var(--ink-2);max-width:62ch;margin:0}
.mpd-sec{padding:88px 0}
.mpd-sec--paper{background:var(--paper)}
.mpd-sec-head{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:flex-end;justify-content:space-between;margin-bottom:40px}

/* Buttons */
.mpd-btn{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:6px;padding:13px 22px;font-weight:700;font-size:15px;text-decoration:none;line-height:1.1;transition:background .2s,color .2s,box-shadow .2s;white-space:nowrap}
.mpd-btn svg{width:18px;height:18px;flex:none}
.mpd-btn--primary{background:var(--blue);color:#fff}
.mpd-btn--primary:hover{background:var(--deep);color:#fff}
.mpd-btn--accent{background:var(--orange);color:var(--navy)}
.mpd-btn--accent:hover{background:#ffb94f;color:var(--navy)}
.mpd-btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.mpd-btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--blue);color:var(--blue)}
.mpd-btn--ghost-dark{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.mpd-btn--ghost-dark:hover{box-shadow:inset 0 0 0 1.5px #fff;color:#fff}
.mpd-btn[disabled]{opacity:.55;cursor:not-allowed}
.mpd-link{background:none;border:0;padding:0;color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px;font-size:14px}

/* ---------- Hero ---------- */
.mpd-hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate}
.mpd-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(1200px 600px at 85% 40%,rgba(0,87,152,.55),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(26,40,83,.9),transparent 70%);z-index:-1}
.mpd-hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:center;min-height:620px;padding-top:56px;padding-bottom:56px}
.mpd-hero-logo{height:30px;width:auto;margin-bottom:44px}
.mpd-hero h1{font-size:clamp(44px,6.4vw,84px);line-height:.98;font-weight:800;letter-spacing:-.04em;margin:0 0 22px;color:#fff}
.mpd-hero-sub{font-size:19px;color:var(--on-dark-2);max-width:46ch;margin:0 0 32px}
.mpd-hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.mpd-hero-meta{display:flex;flex-wrap:wrap;gap:28px;margin-top:44px;color:var(--on-dark-2);font-size:14px}
.mpd-hero-meta b{display:block;color:#fff;font-size:15px;font-weight:700}

/* Tile wall: Moden's logomark is rotated squares, so the wall is too */
.mpd-tiles{position:relative;width:100%;aspect-ratio:1/1;max-width:600px;justify-self:end}
.mpd-tiles-grid{position:absolute;inset:15.5%;transform:rotate(45deg)}
.mpd-tile{position:absolute;width:var(--ts);height:var(--ts);border-radius:7px;overflow:hidden;
  transition:transform .9s cubic-bezier(.65,0,.35,1),opacity .6s;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.mpd-tile .mpd-sw{width:100%;height:100%;border-radius:0}
.mpd-tile .mpd-sw img{transform:rotate(-45deg) scale(1.42)}
.mpd-tile--blue{background:var(--blue)}
.mpd-tile--orange{background:var(--orange)}
.mpd-tile--deep{background:#24376e}
.mpd-tile.is-swap{opacity:.15}
.mpd-tiles-cap{position:absolute;right:4%;bottom:2%;font-size:13px;color:var(--on-dark-2);background:rgba(4,20,37,.7);padding:8px 12px;border-radius:6px;backdrop-filter:blur(6px);transition:opacity .4s}

/* ---------- Section nav ---------- */
.mpd-nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.mpd-nav .mpd-wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.mpd-nav a{flex:none;padding:16px 14px;color:var(--ink-2);font-weight:600;font-size:15px;text-decoration:none;border-bottom:3px solid transparent}
.mpd-nav a:hover,.mpd-nav a.is-on{color:var(--ink);border-bottom-color:var(--orange)}

/* ---------- Swatch base (image over a material-like stand-in) ---------- */
.mpd-sw{position:relative;display:block;background-color:var(--c,#ccc);overflow:hidden;border-radius:var(--r-sm)}
.mpd-sw img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mpd-sw[data-tex="wood"],.mpd-sw[data-tex="plank"]{background-image:repeating-linear-gradient(92deg,rgba(0,0,0,.07) 0 2px,transparent 2px 9px,rgba(255,255,255,.06) 9px 11px,transparent 11px 17px)}
.mpd-sw[data-tex="plank"]{background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 1px,transparent 1px 6px),repeating-linear-gradient(0deg,transparent 0 31%,rgba(0,0,0,.22) 31% 32%,transparent 32% 66%,rgba(0,0,0,.22) 66% 67%)}
.mpd-sw[data-tex="marble"]{background-image:linear-gradient(125deg,transparent 30%,rgba(120,120,120,.18) 31%,transparent 33%),linear-gradient(40deg,transparent 55%,rgba(90,90,90,.14) 56%,transparent 58%),radial-gradient(circle at 70% 30%,rgba(255,255,255,.5),transparent 50%)}
.mpd-sw[data-tex="speck"],.mpd-sw[data-tex="stone"]{background-image:radial-gradient(rgba(0,0,0,.18) 1px,transparent 1.5px),radial-gradient(rgba(255,255,255,.3) 1px,transparent 1.5px);background-size:7px 7px,11px 11px;background-position:0 0,3px 5px}
.mpd-sw[data-tex="tile"]{background-image:linear-gradient(rgba(255,255,255,.55) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.55) 2px,transparent 2px);background-size:33.4% 25%,16.7% 25%}
.mpd-sw[data-tex="fabric"]{background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.035) 0 2px,transparent 2px 4px),repeating-linear-gradient(-45deg,rgba(255,255,255,.08) 0 2px,transparent 2px 4px)}
.mpd-sw[data-tex="stripe"]{background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.14) 0 1px,transparent 1px 8px)}
.mpd-sw[data-tex="metal"]{background-image:linear-gradient(115deg,rgba(255,255,255,.55),transparent 40%,rgba(0,0,0,.12) 70%,rgba(255,255,255,.35)),repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0 1px,transparent 1px 3px)}
.mpd-sw[data-tex="gloss"]{background-image:linear-gradient(115deg,rgba(255,255,255,.28),transparent 45%,rgba(0,0,0,.08))}
.mpd-sw[data-tex="lap"]{background-image:repeating-linear-gradient(180deg,rgba(255,255,255,.18) 0 2px,transparent 2px 15%,rgba(0,0,0,.16) 15% calc(15% + 2px),transparent calc(15% + 2px) 16.6%)}
.mpd-sw[data-tex="louver"]{background-image:repeating-linear-gradient(180deg,rgba(255,255,255,.14) 0 3px,rgba(0,0,0,.2) 3px 5px,transparent 5px 12px)}
.mpd-sw[data-tex="shingle"]{background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.25) 0 2px,transparent 2px 24px),repeating-linear-gradient(180deg,rgba(0,0,0,.25) 0 2px,transparent 2px 20px),radial-gradient(rgba(255,255,255,.12) 1px,transparent 1.5px);background-size:auto,auto,5px 5px}

/* ---------- Features ---------- */
.mpd-feat{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:56px;align-items:start}
.mpd-series{position:sticky;top:84px}
.mpd-series-by{font-size:15px;color:var(--ink-3);margin:0 0 10px;font-weight:600}
.mpd-series p{color:var(--ink-2);margin:0 0 20px}
.mpd-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;list-style:none}
.mpd-chips li{background:#E6EEF7;color:var(--deep);font-weight:700;font-size:13px;padding:7px 12px;border-radius:6px}
.mpd-series .mpd-btn{width:100%;justify-content:center;margin-bottom:10px}
.mpd-groups{columns:2 300px;column-gap:40px}
.mpd-group{break-inside:avoid;margin:0 0 36px;padding-top:14px;border-top:2px solid var(--navy)}
.mpd-group h3{font-size:19px;font-weight:800;letter-spacing:-.01em;margin:0 0 10px}
.mpd-group ul{list-style:none;margin:0;padding:0}
.mpd-group li{position:relative;padding:7px 0 7px 22px;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2)}
.mpd-group li::before{content:"";position:absolute;left:3px;top:15px;width:7px;height:7px;background:var(--blue);transform:rotate(45deg);border-radius:1px}
.mpd-note{font-size:13px;color:var(--ink-3);margin-top:8px;max-width:80ch}

/* ---------- Décor selector ---------- */
.mpd-decor{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:start}
.mpd-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:18px}
.mpd-seg{display:inline-flex;background:#E4EAF2;border-radius:6px;padding:4px}
.mpd-seg button{border:0;background:transparent;padding:10px 22px;border-radius:6px;font-weight:700;font-size:15px;color:var(--ink-2)}
.mpd-seg button.is-on{background:var(--navy);color:#fff}
.mpd-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.mpd-pill{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line-2);background:var(--card);border-radius:6px;padding:10px 16px;font-weight:600;font-size:14px;color:var(--ink-2)}
.mpd-cat-head--step{align-items:center;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}
.mpd-cat-title{display:flex;flex-direction:column;gap:2px;min-width:0}
.mpd-stepnav{display:flex;gap:8px;margin-left:auto}
.mpd-step-btn{padding:10px 16px;font-size:14px;border-radius:6px;white-space:nowrap}
@media (max-width:600px){.mpd-stepnav{width:100%}.mpd-stepnav .mpd-step-btn{flex:1;justify-content:center}}
.mpd-pill:hover{border-color:var(--blue);color:var(--blue)}
.mpd-pill.is-on{border-color:var(--navy);background:var(--navy);color:#fff}
.mpd-pill .mpd-dot{width:9px;height:9px;transform:rotate(45deg);border-radius:2px;background:transparent;box-shadow:inset 0 0 0 1.5px currentColor;opacity:.6}
.mpd-pill.is-done .mpd-dot{background:var(--orange);box-shadow:none;opacity:1}
.mpd-cat-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px}
.mpd-cat-head h3{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0}
.mpd-cat-head span{color:var(--ink-3);font-size:14px}
.mpd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.mpd-opt{position:relative;display:block;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:8px;transition:border-color .2s,box-shadow .2s,transform .2s}
.mpd-opt:hover{border-color:var(--line-2);transform:translateY(-2px)}
.mpd-opt .mpd-sw{aspect-ratio:1/1;width:100%}
.mpd-opt.is-tall .mpd-sw{aspect-ratio:2/3}
.mpd-opt-name{display:block;font-weight:700;font-size:14px;line-height:1.3;padding:10px 4px 4px}
.mpd-opt-sub{display:block;font-size:12px;color:var(--ink-3);padding:0 4px 4px}
.mpd-opt.is-on{border-color:var(--navy);box-shadow:0 0 0 3px var(--orange)}
.mpd-opt.is-locked{opacity:.45;filter:grayscale(1)}
.mpd-opt.is-locked:hover{transform:none;border-color:var(--line)}
.mpd-opt.is-locked button{cursor:not-allowed!important}
.mpd-check{position:absolute;top:16px;left:16px;width:28px;height:28px;display:grid;place-items:center;opacity:0;transform:scale(.6);transition:.25s}
.mpd-check::before{content:"";position:absolute;inset:3px;background:var(--orange);transform:rotate(45deg);border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.mpd-check svg{position:relative;width:14px;height:14px;color:var(--navy)}
.mpd-opt.is-on .mpd-check{opacity:1;transform:none}
.mpd-zoom{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:6px;border:0;background:rgba(255,255,255,.92);display:grid;place-items:center;opacity:0;transition:.2s;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.mpd-zoom svg{width:16px;height:16px;color:var(--navy)}
.mpd-opt:hover .mpd-zoom,.mpd-zoom:focus-visible{opacity:1}
@media (hover:none){.mpd-zoom{opacity:1}}

/* My selections */
.mpd-mine{position:sticky;top:84px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.mpd-mine-head{background:var(--navy);color:#fff;padding:18px 20px}
.mpd-mine-head h3{margin:0;font-size:19px;font-weight:800;color:#fff}
.mpd-mine-head p{margin:2px 0 0;color:var(--on-dark-2);font-size:13px}
.mpd-mine-list{max-height:min(52vh,520px);overflow:auto;padding:6px 0}
.mpd-mine-side{font-size:13px;font-weight:700;color:var(--ink-3);padding:12px 20px 4px}
.mpd-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 20px}
.mpd-row .mpd-sw{width:40px;height:40px}
.mpd-row-empty{width:40px;height:40px;border-radius:var(--r-sm);border:1.5px dashed var(--line-2)}
.mpd-row-lab{font-size:12px;color:var(--ink-3);line-height:1.2}
.mpd-row-val{font-size:14px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis}
.mpd-row-val.is-empty{color:var(--ink-3);font-weight:500}
.mpd-mine-act{display:grid;gap:8px;padding:16px 20px 20px;border-top:1px solid var(--line)}
.mpd-mine-act .mpd-btn{justify-content:center}
.mpd-mine-act .mpd-split{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mpd-mine-act .mpd-split .mpd-btn{padding:11px 10px;font-size:14px}
.mpd-mine-reset{justify-self:center;margin-top:4px}

/* Lightbox */
.mpd-lb{position:fixed;inset:0;z-index:99999;background:rgba(4,20,37,.86);display:none;place-items:center;padding:24px}
.mpd-lb.is-open{display:grid}
.mpd-lb-card{background:#fff;border-radius:var(--r-lg);max-width:560px;width:100%;overflow:hidden}
.mpd-lb-card .mpd-sw{aspect-ratio:1/1;width:100%;border-radius:0}
.mpd-lb-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px}
.mpd-lb-foot b{font-size:18px;display:block}
.mpd-lb-foot span{font-size:13px;color:var(--ink-3)}
.mpd-lb-x{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:6px;border:0;background:#fff;display:grid;place-items:center}

/* Toast */
.mpd-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);background:var(--navy);color:#fff;padding:12px 20px;border-radius:6px;font-weight:600;font-size:14px;z-index:99999;transition:transform .35s cubic-bezier(.2,.9,.3,1.2)}
.mpd-toast.is-on{transform:translate(-50%,0)}

/* ---------- Shop CTA ---------- */
.mpd-shop{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center;justify-content:space-between;background:var(--paper);border:1.5px solid var(--line);border-left:6px solid var(--orange);border-radius:var(--r-lg);padding:40px 44px}
.mpd-shop .mpd-h2{margin-bottom:8px}
.mpd-btn--lg{padding:17px 30px;font-size:17px}
.mpd-nav .mpd-nav-cta{margin:9px 0 9px auto;padding:9px 18px;border:0;border-radius:6px;background:var(--orange);color:var(--navy);font-weight:700;font-size:14px;align-self:center}
.mpd-nav .mpd-nav-cta:hover{background:#ffb94f;color:var(--navy)}

/* ---------- 3D cutaway ---------- */
.mpd-3d{background:var(--deep);color:#fff;border-radius:24px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);min-height:460px}
.mpd-3d-copy{padding:48px}
.mpd-3d-copy h2{color:#fff}
.mpd-3d-copy p{color:var(--on-dark-2);max-width:44ch;margin:0 0 24px}
.mpd-3d-stage{position:relative;background:radial-gradient(circle at 50% 55%,#2C4686,#13204A 70%);display:grid;place-items:center;min-height:360px}
.mpd-3d-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mpd-3d-art{width:78%;max-width:480px;max-height:420px;color:#9FC3E6;margin:28px 0 48px}
.mpd-3d-badge{position:absolute;left:20px;bottom:20px;background:rgba(4,20,37,.7);color:#fff;font-size:13px;font-weight:600;padding:8px 14px;border-radius:6px}
.mpd-hot{animation:mpdPulse 2.6s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
.mpd-hot:nth-of-type(2){animation-delay:.8s}.mpd-hot:nth-of-type(3){animation-delay:1.6s}
@keyframes mpdPulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}

/* ---------- Contact ---------- */
.mpd-contact{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:start}
.mpd-form{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:32px}
.mpd-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mpd-form-grid .mpd-full{grid-column:1/-1}
.mpd-textarea{min-height:110px;resize:vertical}
.mpd-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-2)}
.mpd-consent input{margin-top:3px;width:18px;height:18px;accent-color:var(--blue)}
.mpd-hp{position:absolute!important;left:-9999px!important;height:1px;width:1px;overflow:hidden}
.mpd-form-foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:22px}
.mpd-form-foot small{color:var(--ink-3)}
.mpd-msg{margin-top:16px;padding:14px 16px;border-radius:var(--r);font-weight:600;font-size:15px;display:none}
.mpd-msg.is-ok{display:block;background:#E5F3EA;color:#14532D}
.mpd-msg.is-err{display:block;background:#FDECEC;color:#8A1C1C}
.mpd-summary{background:var(--paper);border-radius:var(--r-lg);padding:24px}
.mpd-summary h3{margin:0 0 4px;font-size:19px;font-weight:800}
.mpd-summary > p{margin:0 0 14px;color:var(--ink-3);font-size:14px}
.mpd-sum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.mpd-sum{display:flex;gap:10px;align-items:center;background:#fff;border-radius:var(--r);padding:8px;border:1px solid var(--line)}
.mpd-sum .mpd-sw{width:34px;height:34px;flex:none}
.mpd-sum span{font-size:11px;color:var(--ink-3);display:block;line-height:1.2}
.mpd-sum b{font-size:13px;display:block;line-height:1.25}
.mpd-sum-empty{color:var(--ink-2);font-size:15px;padding:20px;border:1.5px dashed var(--line-2);border-radius:var(--r);text-align:center}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .mpd-decor{grid-template-columns:1fr}
  .mpd-mine{position:static}
  .mpd-feat{grid-template-columns:1fr;gap:36px}
  .mpd-series{position:static}
  .mpd-series .mpd-btn{width:auto}
  .mpd-contact{grid-template-columns:1fr}
}
@media (max-width:860px){
  .mpd-hero-in{grid-template-columns:1fr;min-height:0;padding-top:40px}
  .mpd-tiles{max-width:440px;justify-self:center;margin-top:-10px}
  .mpd-3d{grid-template-columns:1fr}
  .mpd-3d-copy{padding:32px 26px}
}
@media (max-width:600px){
  .mpd-wrap{padding-left:18px;padding-right:18px}
  .mpd-sec{padding:60px 0}
  .mpd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .mpd-form{padding:22px}
  .mpd-form-grid{grid-template-columns:1fr}
  .mpd-shop{padding:28px 24px}
  .mpd-hero-meta{gap:18px}
}
@media (prefers-reduced-motion:reduce){
  .mpd *{transition:none!important;animation:none!important}
}
/* Inside an Elementor hero column */
.mpd-mount--tiles .mpd-tiles{margin-left:auto;margin-right:0}
@media (max-width:860px){.mpd-mount--tiles .mpd-tiles{margin:0 auto}}
.mpd-sec{scroll-margin-top:64px}

/* Preview-only placeholder (real swatch photos load on the live site) */
.mpd-sw--ph{background:#E9EEF4;color:#7F8EA0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}
.mpd-sw--ph svg{width:34%;max-width:44px;min-width:16px}
.mpd-sw--ph em{font-style:normal;font-size:11px;font-weight:600;line-height:1.2;padding:0 6px}
.mpd-row .mpd-sw--ph em,.mpd-sum .mpd-sw--ph em{display:none}

/* ---------- Floor plan step ---------- */
.mpd-grid--plans{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.mpd-plan-img{position:relative;display:grid;place-items:center;aspect-ratio:1200/818;width:100%;background:#fff;border-radius:var(--r-sm);border:1px solid var(--line);overflow:hidden;color:#AFC0D3}
.mpd-plan-img svg{width:52%}
.mpd-plan-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}
.mpd-plan-img--sm{width:40px;height:40px;aspect-ratio:auto}
.mpd-plan-img--sm svg{width:80%}
.mpd-plan .mpd-opt-name{font-size:16px;padding-top:12px}
.mpd-plan-specs{display:flex;flex-wrap:wrap;gap:4px 14px;padding:0 4px 6px;font-size:13px;color:var(--ink-2)}
.mpd-plan-specs b{color:var(--ink);font-weight:800}
.mpd-plan-links{display:flex;gap:16px;padding:8px 4px 4px;border-top:1px solid var(--line);margin-top:4px}
.mpd-plan-links a{font-size:13px;font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.mpd-next{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;margin:0 0 18px;padding:16px 20px;background:#FFF5E3;border-radius:var(--r)}
.mpd-next span{font-weight:600}
.mpd-lb-card--plan{max-width:1040px}
.mpd-lb-plan{position:relative;max-height:72vh;overflow:hidden;background:#fff;display:grid;place-items:center;cursor:zoom-in;color:#AFC0D3;min-height:260px}
.mpd-lb-plan svg{width:40%}
.mpd-lb-plan img{width:100%;height:auto;display:block}
.mpd-lb-plan.is-zoom{overflow:auto;cursor:zoom-out;display:block}
.mpd-lb-plan.is-zoom img{width:220%;max-width:none}
.mpd-sum-plan{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px;margin-bottom:12px}
.mpd-sum-plan .mpd-plan-img{width:120px;flex:none}
.mpd-sum-plan span{display:block;font-size:11px;color:var(--ink-3)}
.mpd-sum-plan b{display:block;font-size:15px}
.mpd-sum-plan small{display:block;font-size:12px;color:var(--ink-2)}
.mpd-sum-plan.is-empty{border-style:dashed}
@media (max-width:600px){.mpd-grid--plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mpd-plan .mpd-opt-name{font-size:14px}.mpd-plan-specs{font-size:12px;gap:2px 8px}.mpd-plan-links{flex-direction:column;gap:6px}.mpd-sum-plan .mpd-plan-img{width:90px}}

/* ---------- Live preview ---------- */
.mpd-mine-tabs{display:inline-flex;margin-top:12px;background:rgba(255,255,255,.1);border-radius:6px;padding:3px}
.mpd-mine-tabs button{border:0;background:transparent;color:var(--on-dark-2);font-weight:700;font-size:13px;padding:7px 16px;border-radius:6px}
.mpd-mine-tabs button.is-on{background:#fff;color:var(--navy)}
.mpd-vz{padding:14px 16px 4px}
.mpd-vz-views{display:flex;gap:6px;align-items:center;margin-bottom:10px}
.mpd-vz-views button[data-vzview]{border:1.5px solid var(--line-2);background:#fff;border-radius:6px;padding:6px 14px;font-weight:700;font-size:13px;color:var(--ink-2)}
.mpd-vz-views button.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.mpd-vz-expand{margin-left:auto;width:34px;height:34px;border-radius:6px;border:1.5px solid var(--line-2);background:#fff;display:grid;place-items:center}
.mpd-vz-expand svg{width:16px;height:16px;color:var(--navy)}
.mpd-vz-stage{position:relative;border-radius:var(--r);overflow:hidden;background:#E9EEF4;min-height:90px}
.mpd-vz-stage canvas{display:block;width:100%;height:auto}
.mpd-vz-note{font-size:11.5px;line-height:1.4;color:var(--ink-3);margin:8px 0 6px}
.mpd-mine-list[hidden]{display:none}
.mpd-lb-card--vz{max-width:1100px}
.mpd-vz--big{padding:16px 18px 6px}
.mpd-vz--big .mpd-vz-stage{aspect-ratio:auto;max-height:76vh;background:#fff}
.mpd-vz--big .mpd-vz-stage canvas{height:auto;max-height:76vh;object-fit:contain}
.mpd-vz--big .mpd-vz-note{font-size:13px}
.mpd-vz-fab{display:none}
@media (max-width:1024px){
  .mpd-vz-fab{display:inline-flex;align-items:center;gap:8px;position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translate(-50%,160%);z-index:40;border:0;border-radius:6px;background:var(--navy);color:#fff;font-weight:700;font-size:15px;padding:13px 22px;box-shadow:0 8px 24px rgba(4,20,37,.35);transition:transform .3s}
  .mpd-vz-fab svg{width:18px;height:18px}
  .mpd-vz-fab.is-on{transform:translate(-50%,0)}
}

/* ---------- Big live preview (stage) ---------- */
.mpd-opt.is-wide .mpd-sw{aspect-ratio:3/2}
.mpd-grid:has(.is-wide){grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
@media (min-width:1025px){.mpd-decor .mpd-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px}.mpd-decor .mpd-grid:has(.is-wide){grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.mpd-decor .mpd-grid--plans{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}}
@media (max-width:600px){.mpd-grid:has(.is-wide){grid-template-columns:repeat(2,minmax(0,1fr))}}

.mpd-stage{position:sticky;top:calc(env(safe-area-inset-top,0px) + 57px);z-index:6;background:var(--paper);margin:0 -2px 18px;padding:6px 2px 10px}
.mpd-stage[hidden]{display:none}
.mpd-stage .mpd-vz{padding:0}
.mpd-stage .mpd-vz-views{margin-bottom:10px}
.mpd-stage .mpd-vz-stage{border-radius:var(--r-lg);box-shadow:0 1px 2px rgba(4,20,37,.06),0 10px 30px rgba(4,20,37,.10);background:#dfe6ee}
.mpd-stage .mpd-vz-stage canvas{width:100%;height:auto;max-height:46vh;object-fit:cover;object-position:center 60%}
.mpd-stage .mpd-vz-note{font-size:12.5px;margin:8px 2px 0}
.mpd-stage .mpd-vz-note b{color:var(--ink);font-weight:700}
.mpd-mine-list{max-height:min(62vh,640px)}
.mpd-sw[data-tex="photo"]{background-image:none}
@media (max-width:1024px){
  .mpd-stage{top:calc(env(safe-area-inset-top,0px) + 53px);margin-left:-18px;margin-right:-18px;padding:6px 18px 8px;box-shadow:0 8px 14px -12px rgba(4,20,37,.35)}
  .mpd-stage .mpd-vz-stage canvas{max-height:30vh}
  .mpd-stage .mpd-vz-note{font-size:11px;line-height:1.35;margin-top:6px}
  .mpd-stage .mpd-vz-views{margin-bottom:8px}
}

/* ---------- Upgrades & sub-groups ---------- */
.mpd-up{display:inline-block;vertical-align:middle;font-size:11px;line-height:1;font-weight:800;letter-spacing:.01em;color:#7A4A00;background:#FFF0D6;border:1.5px solid var(--orange);border-radius:6px;padding:3px 8px;white-space:nowrap}
.mpd-std{display:inline-block;vertical-align:middle;font-size:11px;line-height:1;font-weight:800;color:var(--deep);background:#E6EEF7;border-radius:6px;padding:4.5px 9px}
.mpd-opt-up{display:block;padding:0 4px 4px}
.mpd-subhead{display:flex;align-items:center;gap:10px;margin:26px 0 12px}
.mpd-subhead:first-child{margin-top:0}
.mpd-subhead h4{margin:0;font-size:17px;font-weight:800;letter-spacing:-.01em}
.mpd-row-val .mpd-up{margin-left:4px;font-size:10px;padding:2px 6px}
.mpd-sum b + .mpd-up{margin-top:4px;font-size:10px;padding:2px 6px}
.mpd-lb-foot b .mpd-up{margin-left:6px}
.mpd-lede .mpd-up{font-size:12px}

/* Section menu stays on top when the plugin wraps it (Elementor pages use Elementor Sticky instead) */
.mpd-mount--nav,[data-mpd="nav"]{position:sticky;top:env(safe-area-inset-top,0px);z-index:30}

/* ---------- Side-by-side layout (desktop): preview left, options right ---------- */
@media (min-width:1025px){
  .mpd-decor.is-split{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-areas:"stage toolbar" "stage pills" "stage cat" "stage mine";grid-template-rows:auto auto auto 1fr;column-gap:40px;row-gap:0}
  .mpd-decor.is-split > div:first-child{display:contents}
  .mpd-decor.is-split .mpd-toolbar{grid-area:toolbar}
  .mpd-decor.is-split .mpd-pills{grid-area:pills}
  .mpd-decor.is-split .mpd-cat{grid-area:cat}
  .mpd-decor.is-split .mpd-mine{grid-area:mine;position:static;margin-top:36px;align-self:start}
  .mpd-decor.is-split .mpd-stage{grid-area:stage;align-self:start;top:calc(env(safe-area-inset-top,0px) + 80px);margin:0;padding:0;background:transparent;z-index:2;box-shadow:none}
  .mpd-decor.is-split .mpd-stage .mpd-vz-stage canvas{max-height:none;object-fit:contain}
  .mpd-decor.is-split .mpd-stage .mpd-vz-note{font-size:13px;margin-top:10px}
  .mpd-decor.is-split .mpd-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
  .mpd-decor.is-split .mpd-grid:has(.is-wide){grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
  .mpd-decor.is-split .mpd-grid--plans{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
  .mpd-decor.is-split .mpd-opt-name{font-size:13px}
  .mpd-decor.is-split .mpd-mine-list{max-height:none}
}

/* ---------- Home type step ---------- */
.mpd-types{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mpd-type{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:var(--card);border:1.5px solid var(--line-2);border-radius:var(--r);padding:22px;transition:border-color .2s,box-shadow .2s}
.mpd-type:hover{border-color:var(--navy);box-shadow:0 0 0 3px var(--orange)}
.mpd-type b{font-size:19px;font-weight:800;letter-spacing:-.01em}
.mpd-type > span:last-child{font-size:14px;color:var(--ink-2)}
.mpd-type-ico{display:flex;gap:4px;height:46px;margin-bottom:8px;color:#8FA6BF}
.mpd-type-ico svg{height:46px;width:auto}
.mpd-type-ico--2 svg{height:46px}
.mpd-vz--wait{padding:0}
.mpd-vz-wait{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;min-height:300px;padding:28px;border:1.5px dashed var(--line-2);border-radius:var(--r-lg);background:linear-gradient(180deg,#EEF3F9,#E4EBF3)}
.mpd-vz-wait b{font-size:20px;font-weight:800}
.mpd-vz-wait span{color:var(--ink-2);font-size:14px}
.mpd-vz-wait-btns{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;justify-content:center}
@media (max-width:1024px){.mpd-vz-wait{min-height:200px;padding:20px}}
@media (max-width:600px){.mpd-types{grid-template-columns:1fr}}
@media (max-width:1024px){.mpd-stage:has(.mpd-vz--wait){display:none}}

/* ---------- Not pictured in the preview ---------- */
.mpd-np{display:inline-flex;margin-left:6px;opacity:.55}
.mpd-np svg{width:14px;height:14px}
.mpd-pill.is-on .mpd-np{opacity:.8}
.mpd-np-note{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;color:var(--ink-2)}
.mpd-np-note svg,.mpd-np-line svg{width:15px;height:15px;flex:none;color:var(--ink-3)}
.mpd-np-line{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink-2);margin-right:4px}

/* ---------- Step tabs: 1 Home & floor plan, 2 Exterior, 3 Interior ---------- */
.mpd .mpd-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;background:#fff;border:1.5px solid var(--line-2);border-radius:8px;padding:0;overflow:hidden}
.mpd .mpd-seg button{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:10px 14px;border:0;border-radius:0;background:#fff;color:var(--ink-2);font-weight:700;font-size:15px;text-align:left;transition:background .2s,color .2s}
.mpd .mpd-seg button + button{border-left:1.5px solid var(--line-2)}
.mpd .mpd-seg button:hover{background:#F1F5FA;color:var(--ink)}
.mpd .mpd-stepno{display:inline-grid;place-items:center;width:28px;height:28px;flex:none;border-radius:6px;border:1.5px solid var(--line-2);font-size:14px;font-weight:800;color:var(--ink-2);background:#fff}
.mpd .mpd-seg button.is-on{background:var(--navy);color:#fff}
.mpd .mpd-seg button.is-on .mpd-stepno{background:var(--orange);border-color:var(--orange);color:var(--navy)}
.mpd .mpd-seg button.is-on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--orange)}
.mpd .mpd-seg button.is-done .mpd-stepno{background:#E6F1EA;border-color:#2E7D4F;color:#2E7D4F;font-size:0}
.mpd .mpd-seg button.is-done .mpd-stepno::before{content:"";width:7px;height:12px;border:solid #2E7D4F;border-width:0 3px 3px 0;transform:translateY(-2px) rotate(45deg)}
.mpd-toolbar{width:100%}
@media (max-width:600px){
  .mpd .mpd-seg button{flex-direction:column;gap:4px;min-height:64px;padding:8px 6px;font-size:12.5px;text-align:center}
  .mpd .mpd-stepno{width:24px;height:24px;font-size:12px}
}
/* "No shutters" tile */
.mpd-opt .mpd-sw[data-tex="photo"]:not(:has(img)){background:repeating-linear-gradient(135deg,#EEF2F7 0 10px,#E4EAF2 10px 20px)}

/* ---------- Contact card ---------- */
.mpd-cf{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);background:#fff;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(4,20,37,.06)}
.mpd-cf-sum{background:var(--navy);color:#fff;padding:30px 28px;display:flex;flex-direction:column;gap:18px}
.mpd-cf-sum h3{margin:0;font-size:20px;font-weight:800;color:#fff}
.mpd-cf-plan{display:flex;gap:14px;align-items:center}
.mpd-cf-planimg{width:112px;flex:none;aspect-ratio:1200/818;border-radius:6px;background:#fff;display:grid;place-items:center;overflow:hidden;color:#AFC0D3}
.mpd-cf-planimg img{width:100%;height:100%;object-fit:contain}
.mpd-cf-planimg svg{width:60%}
.mpd-cf-planimg--empty{background:rgba(255,255,255,.08);color:#6F86A8}
.mpd-cf-plan span{display:block;font-size:12px;color:var(--on-dark-2);font-weight:600}
.mpd-cf-plan b{display:block;font-size:17px;color:#fff;line-height:1.25}
.mpd-cf-plan small{display:block;font-size:12.5px;color:var(--on-dark-2)}
.mpd-cf-plan .mpd-link{color:var(--orange);font-size:13px}
.mpd-cf-strip{display:flex;flex-wrap:wrap;gap:6px}
.mpd-cf-dot{width:30px;height:30px;border-radius:5px;overflow:hidden;box-shadow:0 0 0 1.5px rgba(255,255,255,.25)}
.mpd-cf-dot .mpd-sw{width:100%;height:100%;border-radius:0}
.mpd-cf-dot .mpd-sw--ph em{display:none}
.mpd-cf-count{margin:0;font-size:14px;color:var(--on-dark-2)}
.mpd-cf-count b{color:#fff}
.mpd-cf-sep{display:inline-block;width:5px;height:5px;background:var(--orange);transform:rotate(45deg);margin:0 10px 2px}
.mpd-cf-sum-act{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}
.mpd-cf-sum-act .mpd-btn{padding:10px 14px;font-size:14px}
.mpd-cf-form{padding:30px 32px;display:flex;flex-direction:column;gap:14px}
.mpd-cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mpd-cf-form .mpd-input,.mpd-cf-form .mpd-textarea{background:#F7F9FC;border-color:var(--line);min-height:48px}
.mpd-cf-form .mpd-input:focus,.mpd-cf-form .mpd-textarea:focus{background:#fff}
.mpd-cf-chips{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.mpd-cf-chips legend{font-size:13px;font-weight:700;color:var(--ink-2);margin-bottom:8px;padding:0}
.mpd-chip{position:relative;cursor:pointer}
.mpd-chip input{position:absolute;opacity:0;pointer-events:none}
.mpd-chip span{display:inline-block;padding:9px 14px;border:1.5px solid var(--line-2);border-radius:6px;font-size:14px;font-weight:600;color:var(--ink-2);background:#fff;transition:.15s}
.mpd-chip:hover span{border-color:var(--blue);color:var(--blue)}
.mpd-chip input:checked + span{background:var(--navy);border-color:var(--navy);color:#fff}
.mpd-chip input:focus-visible + span{outline:3px solid var(--orange);outline-offset:2px}
.mpd-cf-addnote{align-self:flex-start;text-decoration:none;font-size:14px}
.mpd-cf-send{width:100%;justify-content:center;min-height:52px;font-size:16px;margin-top:4px}
.mpd-cf-call{margin:0;text-align:center;font-size:13px;color:var(--ink-3)}
.mpd-cf-call a{color:var(--blue);font-weight:700;text-decoration:none}
@media (max-width:900px){.mpd-cf{grid-template-columns:1fr}.mpd-cf-sum-act{margin-top:4px}}
@media (max-width:600px){.mpd-cf-row{grid-template-columns:1fr}.mpd-cf-form,.mpd-cf-sum{padding:22px 20px}}

/* ---------- 3D cutaway embedded by the shortcode ---------- */
.mpd-3d.has-embed{grid-template-columns:1fr;background:transparent;border-radius:0;min-height:0}
.mpd-3d.has-embed .mpd-3d-copy{padding:0 0 22px;color:var(--ink)}
.mpd-3d.has-embed .mpd-3d-copy h2{color:var(--ink)}
.mpd-3d.has-embed .mpd-3d-copy p{color:var(--ink-2);max-width:62ch}
.mpd-3d.has-embed .mpd-3d-stage{height:680px;border-radius:12px;overflow:hidden;background:#1A2853}
@media (max-width:900px){.mpd-3d.has-embed .mpd-3d-stage{height:900px}}
/* base form fields (shared) */
.mpd-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.mpd-field label{font-size:13px;font-weight:700;color:var(--ink-2)}
.mpd-input,.mpd-select,.mpd-textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1.5px solid var(--line-2);border-radius:6px;padding:11px 12px;min-height:46px;box-sizing:border-box}
.mpd-textarea{min-height:96px;resize:vertical}
.mpd-input:focus,.mpd-select:focus,.mpd-textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,87,152,.18)}
.mpd-input[aria-invalid="true"]{border-color:#C0392B}
.mpd-cf-form .mpd-consent{margin-top:2px}
.mpd [hidden]{display:none!important}
.mpd-cf-sum-act{margin-top:6px}
