html { scroll-behavior: smooth; }
#dmRoot #dm [data-anim-extended], #dmRoot #dm [data-anim-desktop], #dmRoot #dm [data-anim-mobile] { visibility:visible!important; }
#dmRoot .pswp { display:none; }
#dmRoot #hamburger-drawer { visibility:hidden; }
#dmRoot #hamburger-drawer.mockup-open { visibility:visible!important; transform:none!important; position:fixed!important; inset:0 0 0 auto!important; width:min(390px,100vw)!important; height:100dvh!important; overflow-y:auto!important; z-index:99999!important; background:#f0e8d3; }
#dmRoot #hamburger-drawer.mockup-open .unav-sub { opacity:1!important; max-height:none!important; position:static!important; transform:none!important; pointer-events:auto!important; padding-left:16px!important; }
.mockup-close { position:sticky; top:12px; margin:12px 12px 0 auto; display:block; z-index:10; border:0; background:#494a3d; color:white; padding:10px 15px; border-radius:4px; font:16px Arial; cursor:pointer; }
.mockup-form-note { margin:16px 0; padding:12px; background:#f0e8d3; color:#494a3d; font:14px/1.5 Arial,sans-serif; border-left:3px solid #42c6a1; }
#dmRoot form .dmforminput { display:block; width:100%; margin:0 0 18px; }
#dmRoot form label { display:block; margin-bottom:7px; font:500 16px/1.4 Lato,Arial,sans-serif; color:#494a3d; }
#dmRoot form input:not([type=submit]), #dmRoot form select, #dmRoot form textarea { display:block; box-sizing:border-box; width:100%; min-height:46px; padding:10px 12px; border:1px solid #b2b3a8; background:white; color:#333; font:16px/1.4 Lato,Arial,sans-serif; border-radius:0; }
#dmRoot form textarea { min-height:140px; resize:vertical; }
#dmRoot form .dmformsubmit { width:100%; height:auto; border:0; background:transparent; }
#dmRoot form input[type=submit] { width:100%; min-height:50px; border:1px solid #494a3d; color:#263a31; background:#42c6a1; font:700 16px Lato,Arial,sans-serif; cursor:pointer; }
.mockup-map { min-height:220px; display:grid; place-items:center; text-align:center; background:#e3e8e1; color:#494a3d; padding:35px; font:16px/1.6 Lato,Arial,sans-serif; }
.mockup-map strong { font-size:26px; }.mockup-map small { display:block; margin-top:12px; }.mockup-map a { color:#294e40!important; text-decoration:underline!important; }
.mockup-lightbox { border:0; background:#191b18; color:white; width:min(1100px,95vw); max-width:95vw; padding:15px; }
.mockup-lightbox::backdrop { background:#000d; }
.mockup-lightbox img { display:block; max-width:100%; max-height:78vh; margin:auto; object-fit:contain; }
.mockup-lightbox header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; font:14px/1.4 Arial,sans-serif; }
.mockup-lightbox button { border:1px solid #ffffff60; padding:9px 16px; background:transparent; color:white; font:16px Arial; cursor:pointer; }
a[data-image-url] { cursor:zoom-in; }
/* Recreate the original seamless recent-projects mosaic. */
#dmRoot #dm .mockup-gallery .dmPhotoGalleryHolder { display:grid!important; grid-template-columns:40% 30% 30%; grid-template-rows:1fr 1fr; aspect-ratio:2 / 1; gap:0!important; margin:0!important; padding:0!important; }
#dmRoot #dm .mockup-gallery .dmPhotoGalleryHolder::before,#dmRoot #dm .mockup-gallery .dmPhotoGalleryHolder::after { display:none!important; }
#dmRoot #dm .mockup-gallery .photoGalleryThumbs { visibility:visible!important; display:block!important; position:relative!important; width:100%!important; height:100%!important; min-height:0!important; margin:0!important; padding:0!important; overflow:hidden; }
#dmRoot #dm .mockup-gallery .photoGalleryThumbs:nth-child(1) { grid-column:1; grid-row:1 / 3; }
#dmRoot #dm .mockup-gallery .photoGalleryThumbs:nth-child(2) { grid-column:2; grid-row:1; }
#dmRoot #dm .mockup-gallery .photoGalleryThumbs:nth-child(3) { grid-column:3; grid-row:1; }
#dmRoot #dm .mockup-gallery .photoGalleryThumbs:nth-child(4) { grid-column:2 / 4; grid-row:2; }
#dmRoot #dm .mockup-gallery .image-container,#dmRoot #dm .mockup-gallery .image-container a { display:block!important; position:relative!important; width:100%!important; height:100%!important; padding:0!important; overflow:hidden!important; }
#dmRoot #dm .mockup-gallery img { display:block!important; position:absolute!important; inset:0!important; width:100%!important; height:100%!important; max-width:none!important; object-fit:cover!important; object-position:center!important; margin:0!important; transform:none!important; }
#dmRoot #dm .mockup-gallery .mockup-gallery-text .image-container { display:none!important; }
#dmRoot #dm .mockup-gallery .mockup-gallery-text .caption-container { display:flex!important; position:static!important; width:100%!important; height:100%!important; background:var(--color_2)!important; padding:0!important; align-items:stretch!important; }
#dmRoot #dm .mockup-gallery .mockup-gallery-text .caption-inner { display:flex!important; flex-direction:column!important; justify-content:center!important; align-items:center!important; width:100%!important; height:100%!important; box-sizing:border-box!important; padding:20px 40px!important; opacity:1!important; transform:none!important; position:static!important; background:var(--color_2)!important; text-align:center!important; }
#dmRoot #dm .mockup-gallery .caption-title { font-family:Inter,Arial,sans-serif!important; font-size:24px!important; font-weight:600!important; line-height:29px!important; color:var(--color_5)!important; margin:0 0 18px!important; padding:0!important; }
#dmRoot #dm .mockup-gallery .caption-text,#dmRoot #dm .mockup-gallery .caption-text p { font-size:16px!important; line-height:18px!important; color:var(--color_5)!important; margin:0!important; padding:0!important; }
#dmRoot #dm .mockup-gallery .caption-text br { display:none!important; }
#dmRoot #dm .mockup-gallery .caption-button { display:flex!important; align-items:center!important; justify-content:center!important; flex-shrink:0!important; width:200px!important; height:56px!important; min-height:56px!important; margin:28px 0 0!important; padding:0!important; border:1px solid var(--color_1)!important; border-radius:0!important; background:var(--color_5)!important; box-shadow:none!important; }
#dmRoot #dm .mockup-gallery .caption-button .text { font-size:16px!important; line-height:20px!important; color:var(--color_1)!important; padding:0!important; margin:0!important; }
#dmRoot #dm .mockup-gallery .caption-button .iconBg { display:none!important; }
@media(min-width:768px) and (max-width:1024px) { #dmRoot #dm .mockup-gallery .dmPhotoGalleryHolder { aspect-ratio:auto; grid-template-columns:40% 30% 30%; grid-template-rows:300px 260px; } #dmRoot #dm .mockup-gallery .mockup-gallery-text .caption-inner { padding:15px!important; } #dmRoot #dm .mockup-gallery .caption-title { font-size:20px!important; line-height:24px!important; } #dmRoot #dm .mockup-gallery .caption-button { width:100%!important; max-width:200px; } }
@media(max-width:767px) { #dmRoot #dm .mockup-gallery .dmPhotoGalleryHolder { aspect-ratio:auto; grid-template-columns:1fr; grid-template-rows:420px 280px auto 280px; } #dmRoot #dm .mockup-gallery .photoGalleryThumbs:nth-child(n) { grid-column:1; grid-row:auto; } #dmRoot #dm .mockup-gallery .mockup-gallery-text .caption-inner { padding:30px!important; } #dmRoot #dm .photogallery-row { display:flex!important; flex-direction:column!important; } #dmRoot #dm .photogallery-column { width:100%!important; } }
.main-navigation .unifiednav__item-wrap:focus-within > .unav-sub { opacity:1!important; pointer-events:auto!important; transform:none!important; }
@media(max-width:767px) { #dmRoot [data-hidden-on-mobile] { display:none!important; } }
@media(min-width:768px) and (max-width:1024px) { #dmRoot [data-hidden-on-tablet] { display:none!important; } }
@media(min-width:1025px) { #dmRoot [data-hidden-on-desktop] { display:none!important; } }

#dmRoot #dm .mockup-gallery .photoGalleryThumbs:first-child img { object-position:left center!important; }

/* FAQ styling restored from the live-site reference. */
#dmRoot #dm .accordion-wrapper { list-style:none!important; margin:0!important; padding:0!important; width:100%; }
#dmRoot #dm .accordion-wrapper .accordion-item { list-style:none!important; margin:0!important; padding:0!important; border:0!important; background:transparent!important; }
#dmRoot #dm .accordion-wrapper .faq-heading { display:block!important; padding:0!important; margin:0!important; font-size:16px!important; line-height:25px!important; }
#dmRoot #dm .accordion-wrapper .faq-trigger { display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; min-height:71px; padding:20px; margin:0; border:0; border-bottom:1px solid var(--color_5,#f0e8d3); border-radius:0; box-shadow:none; background:white; color:var(--color_1,#494a3d); font-family:Poppins,Arial,sans-serif; font-size:16px; font-weight:500; line-height:25px; text-align:left; cursor:pointer; appearance:none; }
#dmRoot #dm .accordion-wrapper .faq-trigger:focus-visible { outline:2px solid var(--color_1); outline-offset:-3px; }
#dmRoot #dm .accordion-wrapper .faq-toggle-icon { position:relative; display:block; flex:0 0 29px; width:29px; height:29px; border-radius:50%; background:var(--color_2,#42c6a1); }
#dmRoot #dm .accordion-wrapper .faq-toggle-icon::before,#dmRoot #dm .accordion-wrapper .faq-toggle-icon::after { content:''; position:absolute; top:50%; left:50%; width:15px; height:2px; background:var(--color_1,#494a3d); transform:translate(-50%,-50%); }
#dmRoot #dm .accordion-wrapper .faq-toggle-icon::after { transform:translate(-50%,-50%) rotate(90deg); }
#dmRoot #dm .accordion-wrapper .faq-trigger[aria-expanded=true] .faq-toggle-icon::after { display:none; }
#dmRoot #dm .accordion-wrapper .accordion-description { display:block!important; height:auto!important; max-height:none!important; opacity:1!important; visibility:visible!important; padding:18px 20px 19px!important; margin:0!important; border:0!important; border-bottom:1px solid var(--color_1,#494a3d)!important; background:white!important; }
#dmRoot #dm .accordion-wrapper .accordion-description[hidden] { display:none!important; }
#dmRoot #dm .accordion-wrapper .accordion-description .section,#dmRoot #dm .accordion-wrapper .accordion-description .section-inner { display:block!important; position:static!important; padding:0!important; margin:0!important; border:0!important; min-height:0!important; background:transparent!important; }
#dmRoot #dm .accordion-wrapper .accordion-description p { font-family:Poppins,Arial,sans-serif!important; font-size:16px!important; line-height:25px!important; font-weight:400!important; color:var(--color_1,#494a3d)!important; padding:0!important; margin:0!important; }
@media(max-width:767px) { #dmRoot #dm .accordion-wrapper .faq-trigger { gap:16px; padding:18px 12px; } #dmRoot #dm .accordion-wrapper .accordion-description { padding:18px 12px!important; } }

#dmRoot #dm .google-service-map { display:block; width:100%; height:400px; border:0; }
@media(max-width:767px) { #dmRoot #dm .google-service-map { height:320px; } }

.mockup-form-note[hidden] { display:none!important; }
#dmRoot form input[type=submit]:disabled { opacity:.6; cursor:wait; }

/* Compact contact form: paired identity and contact fields. */
#dmRoot #dm form .spacing-container { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 16px!important; margin:0!important; padding:0!important; }
#dmRoot #dm form .spacing-container::before,#dmRoot #dm form .spacing-container::after { display:none!important; }
#dmRoot #dm form .spacing-container > .dmforminput { width:100%!important; min-width:0!important; margin:0!important; padding:0!important; float:none!important; }
#dmRoot #dm form .spacing-container > .dmforminput:nth-child(n+5) { grid-column:1 / -1; }
#dmRoot #dm form label { margin:0 0 5px!important; padding:0!important; }
#dmRoot #dm form input:not([type=submit]),#dmRoot #dm form select { min-height:44px!important; height:44px!important; margin:0!important; }
#dmRoot #dm form textarea { min-height:110px!important; height:110px; margin:0!important; }
#dmRoot #dm form .dmformsubmit { margin:14px 0 0!important; padding:0!important; }
@media(max-width:479px) { #dmRoot #dm form .spacing-container { grid-template-columns:minmax(0,1fr); gap:10px!important; } }
