/* Local review controls; the original site's presentation is preserved. */
.vgp-preview-notice{position:fixed;bottom:12px;left:12px;z-index:1000000;background:#173e4b;color:#fff;padding:7px 12px;border-radius:3px;font:12px/1.5 system-ui,sans-serif;box-shadow:0 2px 9px #0003}
.vgp-preview-notice a{color:#fff;text-decoration:underline}
.vgp-form-status{padding:12px;border:1px solid #277c93;margin:12px 0;color:#173e4b;background:#f0f8fa}
@media print{.vgp-preview-notice{display:none}}


/* Additional Umbraco sections follow the original Wilmer spacing. */
.vgp-extra{margin:32px 0}.vgp-extra img{max-width:100%;height:auto}.vgp-extra:after{content:"";display:table;clear:both}

article[data-vgp-more][hidden]{display:none!important}

/* Keep the source square portfolio thumbnails for every CMS image orientation. */
.mkdf-portfolio-list-holder.mkdf-pl-gallery article .mkdf-pli-image{aspect-ratio:1;overflow:hidden}
.mkdf-portfolio-list-holder.mkdf-pl-gallery article .mkdf-pli-image img{width:100%;height:100%;object-fit:cover}

/* Staff portraits retain the source square frame for newly selected photographs. */
.mkdf-team-holder .mkdf-team-image > img{aspect-ratio:1;object-fit:cover}

/* The source staging-domain banner is unavailable; keep the title frame without a broken image. */
.mkdf-title-holder.vgp-title-fallback{min-height:150px!important;background-image:none!important}
.mkdf-title-holder.vgp-title-fallback .mkdf-title-wrapper{min-height:150px}

/* Contact form follows the existing Wilmer grid, typography and button styles. */
.vgp-contact-section{padding-top:30px;padding-bottom:65px}.vgp-contact-section h2{color:#3474b5}.vgp-contact-form{margin-top:26px}.vgp-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}.vgp-contact-form label{display:block;font-weight:500;color:#333}.vgp-contact-form input:not([type=hidden]),.vgp-contact-form textarea{box-sizing:border-box;width:100%;margin:6px 0 18px;padding:13px 16px;border:1px solid #ddd;border-radius:0;background:#fafafa;color:#333;font:inherit}.vgp-contact-form input:focus,.vgp-contact-form textarea:focus{outline:2px solid #3474b5;outline-offset:2px}.vgp-contact-form textarea{resize:vertical}.vgp-contact-privacy{font-size:13px;line-height:1.6}.vgp-contact-form button:disabled{opacity:.65;cursor:wait}.vgp-form-status[hidden]{display:none!important}@media(max-width:680px){.vgp-contact-fields{grid-template-columns:1fr;gap:0}.vgp-contact-section{padding-top:20px;padding-bottom:40px}}
