/* Project media has its own viewport, separate from short information sheets. */
dialog.mp-panel.mp-video-full{position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:24px max(20px,4vw);border:0;border-radius:0;overflow:auto;background:#fff;color:#18283d;box-sizing:border-box}
dialog.mp-video-full:before{display:none}
dialog.mp-panel.mp-video-full .unified-close{position:sticky;float:right;top:0;z-index:5;width:42px;height:42px;background:#18283d;color:white}
dialog.mp-video-full h2{font-size:26px;margin:0 60px 8px 0}
dialog.mp-video-full .project-video-intro{font-size:14px;margin:0 60px 20px 0;color:#627086}
dialog.mp-video-full .listing-video{clear:both;max-width:1100px;margin:0 auto 28px;padding:16px;border:1px solid #dce3ec;border-radius:14px;background:#f5f7fa}
dialog.mp-video-full .listing-video h3{font:650 17px/1.4 Arial,sans-serif;margin:0 0 12px;color:#18283d}
dialog.mp-panel.mp-video-full .unit-video-player{position:relative;display:block;width:min(100%,calc((100dvh - 230px)*16/9));height:auto;min-height:0;max-height:calc(100dvh - 230px);aspect-ratio:16/9;overflow:hidden;border-radius:9px;background:#0c1c33;margin:auto}
dialog.mp-panel.mp-video-full .unit-video-player iframe{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;border:0}
dialog.mp-video-full .listing-video>a{font-size:13px;color:#344f70;margin-top:12px;text-decoration:underline;text-underline-offset:3px}
dialog.mp-panel.mp-contact-panel{max-width:1000px;padding:24px;background:#fff;color:#18283d;max-height:94dvh;overflow:auto}
dialog.mp-contact-panel:before{display:none}
dialog.mp-contact-panel .unified-close{z-index:3;background:#fff;color:#18283d}
.project-contact-intro{background:linear-gradient(120deg,#112139,#223e5b);color:#fff;border-radius:14px;padding:30px;clear:both}
.project-contact-intro>span{font-size:11px;letter-spacing:1.7px;color:#e0c98d;font-weight:700}
dialog.mp-panel .project-contact-intro h2{font:750 30px/1.2 Arial,sans-serif;color:#fff;margin:14px 0 12px;max-width:650px}
dialog.mp-panel .project-contact-intro p{font-size:15px;line-height:1.5;color:#d9e2ed;margin:0}
dialog.mp-panel .project-contact-lead{font-size:15px;line-height:1.7;color:#5d6d83;margin:20px 0}
.project-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.project-contact-actions>a{display:flex;align-items:center;gap:16px;min-height:100px;padding:20px;border-radius:12px;border:1px solid #cad5e2;background:#f4f7fa;color:#18283d}
.project-contact-actions>a.project-contact-whatsapp{background:#18283d;color:white;border-color:#18283d}
.project-contact-actions svg{width:32px;height:32px;flex-shrink:0}
.project-contact-actions strong{display:block;font-size:17px;line-height:1.4}.project-contact-actions small{display:block;font-size:12px;line-height:1.5;margin-top:7px;opacity:.8}.project-contact-actions b{margin-left:auto;font-size:24px}
.project-contact-secondary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding-top:20px;margin-top:20px;border-top:1px solid #e1e7ef}
.project-contact-secondary a,dialog.mp-panel .project-contact-secondary button{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px 9px;border:1px solid #dae2ec;border-radius:9px;background:#fff;color:#344f70;font-family:inherit;font-size:12px;line-height:1.5;min-width:0;overflow-wrap:anywhere;text-align:left;cursor:pointer}
.project-contact-secondary svg{width:23px;height:23px;flex-shrink:0}
@media(max-width:760px){dialog.mp-panel.mp-video-full{padding:16px 12px calc(16px + env(safe-area-inset-bottom))}dialog.mp-video-full h2{font-size:22px}dialog.mp-video-full .project-video-intro{font-size:12px;margin-bottom:16px}dialog.mp-video-full .listing-video{padding:12px;margin-bottom:20px}dialog.mp-video-full .listing-video h3{font-size:14px}.project-contact-intro{padding:24px 20px}dialog.mp-panel .project-contact-intro h2{font-size:25px}.project-contact-actions{grid-template-columns:1fr}.project-contact-actions>a{min-height:86px;padding:17px}.project-contact-actions strong{font-size:16px}.project-contact-secondary{grid-template-columns:1fr}dialog.mp-panel.mp-contact-panel{padding:22px 16px calc(20px + env(safe-area-inset-bottom));max-height:94dvh}.project-contact-secondary a,dialog.mp-panel .project-contact-secondary button{justify-content:flex-start;padding:13px;font-size:13px}}
@media(max-height:500px){dialog.mp-panel.mp-video-full .unit-video-player{width:min(100%,calc((100dvh - 150px)*16/9));max-height:calc(100dvh - 150px)}dialog.mp-video-full .project-video-intro{display:none}dialog.mp-video-full .listing-video{padding:8px}dialog.mp-video-full .listing-video h3{margin-bottom:6px}}

/* Match the public project gallery and overview. */
dialog.mp-panel.unified-panel.mp-contact-panel {
  background: radial-gradient(ellipse at top left, #192b48, transparent 72%), #0b1324;
  color: #fff;
  border: 1px solid #d4af3770;
  --contact-gold: var(--home-gold-light, #f7e39c);
  --contact-text: #e2eaf7;
}
dialog.mp-panel.mp-contact-panel::before { display: none; }
dialog.mp-panel.mp-contact-panel .unified-close {
  background: #101b31;
  color: var(--contact-gold);
  border: 1px solid #d4af378c;
  margin-bottom: 8px;
}
.mp-contact-panel .project-contact-intro {
  background: #101b31;
  border: 1px solid #d4af375e;
}
.mp-contact-panel .project-contact-intro > span { color: var(--contact-gold); }
dialog.mp-panel.mp-contact-panel .project-contact-intro h2 {
  font: 700 clamp(24px, 3.5vw, 38px)/1.18 Georgia, serif;
  color: var(--contact-gold);
}
dialog.mp-panel.mp-contact-panel :is(.project-contact-intro p, .project-contact-lead) {
  color: var(--contact-text);
}
.mp-contact-panel .project-contact-actions > a,
.mp-contact-panel .project-contact-secondary a,
dialog.mp-panel.mp-contact-panel .project-contact-secondary button {
  background: #101b31;
  color: #fff;
  border-color: #d4af378c;
}
.mp-contact-panel .project-contact-actions > a.project-contact-whatsapp {
  background: var(--home-gold-shine, #f7e39c);
  color: #101827;
  border-color: var(--contact-gold);
}
.mp-contact-panel .project-contact-actions small { opacity: 1; }
.mp-contact-panel :is(.project-contact-call, .project-contact-secondary) svg { color: var(--contact-gold); }
.mp-contact-panel .project-contact-secondary { border-color: #d4af375e; }
.mp-contact-panel :is(a, button):focus-visible { outline: 2px solid var(--contact-gold); outline-offset: 2px; }

dialog.mp-panel.mp-contact-panel {
  padding: clamp(14px, 3vw, 24px);
}
.mp-contact-panel .project-contact-intro { padding: 14px 48px 14px 16px; }
dialog.mp-panel.mp-contact-panel .project-contact-intro h2 { margin: 4px 0; }
dialog.mp-panel.mp-contact-panel .project-contact-lead { margin: 12px 0; }
.mp-contact-panel .project-contact-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.mp-contact-panel .project-contact-actions > a {
  min-height: 52px;
  padding: 10px;
  gap: 7px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.mp-contact-panel .project-contact-actions svg { width: 22px; height: 22px; pointer-events: none; }
.project-contact-number {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-top: 8px;
  color: var(--contact-text);
  font-size: 13px;
}
.project-contact-number > span:first-child { user-select: text; }
dialog.mp-panel .project-contact-number button {
  min-height: 36px;
  padding: 4px 8px;
  background: transparent;
  color: var(--contact-gold);
  border: 1px solid #d4af378c;
  border-radius: 8px;
  font-size: 12px;
}
.mp-contact-panel .project-contact-secondary { gap: 6px; margin-top: 10px; padding-top: 10px; }
.mp-contact-panel .project-contact-secondary a,
dialog.mp-panel.mp-contact-panel .project-contact-secondary button { min-height: 44px; padding: 6px 10px; }
@media (max-width: 760px) {
  dialog.mp-panel.mp-contact-panel { max-height: 90dvh; padding-bottom: max(14px, env(safe-area-inset-bottom)); }
  .mp-contact-panel .project-contact-intro > span { letter-spacing: 1px; }
  dialog.mp-panel.mp-contact-panel .project-contact-lead { font-size: 13px; line-height: 1.5; }
  .mp-contact-panel .project-contact-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mp-contact-panel .project-contact-secondary a[href^="mailto:"] { grid-column: 1 / -1; }
}

dialog#project-content.mp-location-full {
  background: radial-gradient(ellipse at top left, #192b48, transparent 72%), #0b1324;
  color: #fff;
  --location-gold: var(--home-gold-light, #f7e39c);
}
#project-content.mp-location-full h2 {
  color: var(--location-gold);
  font: 700 clamp(24px, 3vw, 38px)/1.18 Georgia, serif;
}
#project-content.mp-location-full p { color: #e2eaf7; font-size: 14px; }
#project-content.mp-location-full :is(.location-area, .location-navigation-note) { font-size: 12px; }
#project-content.mp-location-full .customer-location-map { border-color: #d4af378c; }
#project-content.mp-location-full .unified-close {
  background: #101b31;
  color: var(--location-gold);
  border-color: #d4af378c;
}
#project-content.mp-location-full .customer-location-actions a {
  background: var(--home-gold-shine, #f7e39c);
  color: #101827;
  border-color: var(--location-gold);
}
#project-content.mp-location-full :is(a, button):focus-visible { outline: 2px solid var(--location-gold); outline-offset: 2px; }
