/* EMS prepaint styles (migrated from late-injected JS). */

      #ems-customer-update { color: inherit; background: inherit; padding: 56px 20px 70px; font: inherit; }
      #ems-customer-update .ems-wrap { max-width: 1160px; margin: 0 auto; }
      #ems-customer-update h2 { font: inherit; font-size: clamp(26px,3.6vw,42px); font-weight: 800; line-height: 1.15; margin: 0 0 16px; }
      #ems-customer-update h3 { font: inherit; font-size: 21px; font-weight: 750; margin: 0 0 12px; }
      #ems-customer-update p { line-height: 1.65; margin: 0 0 18px; }
      #ems-customer-update .ems-sub { opacity: .74; margin-bottom: 24px; }
      #ems-customer-update .ems-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; margin: 20px 0 46px; }
      #ems-customer-update .ems-grid button { display: block; border: 0; padding: 0; width: 100%; overflow: hidden; cursor: zoom-in; background: transparent; border-radius: 10px; }
      #ems-customer-update .ems-grid img { display: block; width: 100%; height: 230px; object-fit: cover; transition: transform .2s; }
      #ems-customer-update .ems-grid button:hover img { transform: scale(1.025); }
      #ems-customer-update .ems-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; padding: 28px 0; border-top: 1px solid currentColor; }
      #ems-customer-update .ems-detail > div { min-width: 0; }
      #ems-customer-update ul { padding-left: 21px; line-height: 1.8; }
      #ems-customer-update .ems-contact a { color: inherit; text-decoration: underline; }
      #ems-customer-update .ems-lightbox { position: fixed; z-index: 2147483000; inset: 0; background: rgba(0,0,0,.94); display: grid; place-items: center; padding: 50px 15px; }
      #ems-customer-update .ems-lightbox img { max-width: 94vw; max-height: 85vh; object-fit: contain; }
      #ems-customer-update .ems-lightbox button { position: absolute; right: 15px; top: 10px; border: 0; background: #fff; color: #111; border-radius: 50%; width: 40px; height: 40px; font-size: 28px; cursor: pointer; }
      @media(max-width:720px) { #ems-customer-update .ems-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; } #ems-customer-update .ems-grid img { height: 160px; } #ems-customer-update .ems-detail { grid-template-columns: 1fr; gap: 20px; } }
    

 #work .work-card {overflow:hidden!important;isolation:isolate!important}
 #work .work-card img:not(.ems-photo-logo) {width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;opacity:1!important;filter:none!important;background:#0a1b31!important}
 #work .work-card:before,#work .work-card:after {pointer-events:none}
 .ems-gallery-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;align-content:start!important}
 .ems-gallery-item{margin:0!important;aspect-ratio:5/4!important;overflow:hidden!important;background:#12263c!important;min-width:0!important}
 .ems-gallery-item img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important}

 /* EMS overlay logo: never inherit full-size project image rules */
 #work .work-card img.ems-photo-logo {
   position:absolute!important;inset:auto 9px 9px auto!important;left:auto!important;top:auto!important;
   width:clamp(62px,10%,104px)!important;height:auto!important;max-width:25%!important;
   object-fit:contain!important;background:transparent!important;border:0!important;
   box-shadow:none!important;filter:none!important;opacity:1!important;
   transform:none!important;pointer-events:none!important;z-index:5!important;
 }
 #work .work-card:hover img.ems-photo-logo {transform:none!important;filter:none!important}
 @media(max-width:760px){#work .work-card img.ems-photo-logo {width:62px!important;max-width:23%!important;right:7px!important;bottom:7px!important}}
 .ems-ba-slider{position:relative;aspect-ratio:4/3;overflow:hidden;touch-action:pan-y;cursor:default;user-select:none;-webkit-user-select:none;background:#142338}
 .ems-ba-slider .ems-ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;pointer-events:none}
 .ems-ba-slider .ems-ba-reveal{position:absolute;inset:0;width:50%;overflow:hidden;pointer-events:none}
 .ems-ba-slider .ems-ba-reveal .ems-ba-img{width:var(--ems-slider-width,560px);max-width:none}
 .ems-ba-slider .ems-ba-shine{position:absolute;top:0;bottom:0;left:50%;width:52px;transform:translateX(-50%);background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.09) 28%,rgba(255,255,255,.42) 49%,rgba(255,255,255,.08) 72%,transparent 100%);pointer-events:none;z-index:2;opacity:.8;filter:blur(1px)}
 .ems-ba-slider .ems-ba-divider{position:absolute;left:50%;top:0;bottom:0;width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 8px #0016}
 .ems-ba-slider .ems-ba-grip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border:3px solid #fff;background:#092039;color:#fff;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:800;letter-spacing:-4px;padding-right:4px;pointer-events:none;box-shadow:0 4px 18px #0006}
 .ems-ba-slider .ems-ba-label{position:absolute;top:12px;background:#081a2de0;color:#fff;padding:5px 11px;border-radius:4px;font-size:12px;font-weight:800;z-index:2;pointer-events:none}
 .ems-ba-slider .ems-ba-grip{z-index:3}
 .ems-ba-slider .ems-ba-label-before{left:12px}.ems-ba-slider .ems-ba-label-after{right:12px}
 .ems-ba-slider .ems-ba-grip{width:30px;height:30px;border:2px solid #fff;background:#f8fcff;box-shadow:0 3px 14px #0019,0 0 0 4px #fff4;padding:0;letter-spacing:normal}
 .ems-ba-slider .ems-ba-divider{width:2px;background:#eafaff;box-shadow:0 0 11px #95ddffb8}
 .ems-ba-slider .ems-ba-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;border:1px solid transparent;transition:background .4s ease,box-shadow .4s ease,opacity .4s ease,transform .4s ease}
 .ems-ba-slider .ems-ba-label-before{background:radial-gradient(ellipse at 23% 24%,#493322 0 4%,transparent 30%),radial-gradient(ellipse at 75% 73%,#65432a 0 6%,transparent 28%),linear-gradient(135deg,#6b4b31,#97704c);color:#fff4e6;border-color:#755236}
 .ems-ba-slider .ems-ba-label-after{background:linear-gradient(130deg,#143a58,#246a90);color:#e8faff;border-color:#35789c}
 .ems-ba-slider .ems-ba-label:not(.ems-ba-active){opacity:.6;transform:scale(.96)}
 .ems-ba-slider .ems-ba-label-before.ems-ba-active{background:radial-gradient(ellipse at 22% 27%,#3a271b 0 7%,transparent 36%),radial-gradient(ellipse at 76% 66%,#50321d 0 7%,transparent 34%),linear-gradient(135deg,#725035,#a17c53);box-shadow:0 3px 11px #0005}
 .ems-ba-slider .ems-ba-label-after.ems-ba-active{background:linear-gradient(135deg,#156189,#209cdb);border-color:#9addff;box-shadow:0 0 18px #5dc5ff8c, inset 0 1px 0 #ffffff87;opacity:1}
 @media(prefers-reduced-motion:reduce){.ems-ba-slider .ems-ba-label{transition:none}}
 .ems-ba-slider .ems-ba-label{opacity:0!important;visibility:hidden;transform:translateY(7px) scale(.97)!important;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1),visibility 0s linear .65s,box-shadow .65s ease!important;will-change:opacity,transform}
 .ems-ba-slider .ems-ba-label.ems-ba-pill-visible{opacity:1!important;visibility:visible;transform:translateY(0) scale(1)!important;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1),visibility 0s!important}
 @media(prefers-reduced-motion:reduce){.ems-ba-slider .ems-ba-label{transition:none!important}}
 .ems-ba-slider input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4;touch-action:pan-y}
 .ems-ba-slider input::-webkit-slider-thumb{appearance:none;width:46px;height:46px}
 .ems-ba-slider input{appearance:none;-webkit-appearance:none}
 @media(max-width:800px){.ems-ba-slider{aspect-ratio:4/3}.ems-ba-grid{grid-template-columns:1fr}}

 .ems-google-ref{display:inline-flex;align-items:center;gap:10px;margin:13px 0 2px;padding:7px 12px;background:#fff;border:1px solid #dbe3ed;border-radius:8px;color:#253448;font-size:12px;font-weight:700;letter-spacing:.01em;box-shadow:0 2px 8px #0011}
 .ems-google-ref img{display:block;width:65px;height:23px;object-fit:contain}
 #date,#quoteForm input[type=date],input[name=date]{min-width:0!important;min-inline-size:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;min-height:48px;display:block;font-size:16px!important;appearance:none!important;-webkit-appearance:none!important}
 #quoteForm .field,#contact .field,.form-grid .field{min-width:0}
 @media(max-width:700px){.form-grid,.form-grid>*{min-width:0!important}input[type=date]{max-inline-size:100%!important;min-inline-size:0!important}}
 @media(prefers-reduced-motion:reduce){.ems-motion.ems-motion-pending{opacity:1;transform:none;transition:none}}

 /* Calm, once-only entrance: no alternation, no repeated scroll juggling. */
 @media(prefers-reduced-motion:no-preference){
  .ems-gentle{opacity:0;transform:translate3d(0,15px,0);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}
  .ems-gentle.ems-gentle-in{opacity:1;transform:translate3d(0,0,0)}
 }
 /* Gallery image lightbox is ABOVE the full gallery, not behind it. */
 .ems-gallery-zoom{position:fixed;inset:0;z-index:20020;display:grid;place-items:center;padding:64px 18px 30px;background:rgba(2,9,18,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
 .ems-gallery-zoom[hidden]{display:none!important}
 .ems-gallery-zoom img{display:block;max-width:95vw;max-height:calc(100dvh - 110px);width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 24px 80px #000a}
 .ems-gallery-zoom button{position:absolute;top:max(16px,env(safe-area-inset-top));right:20px;width:46px;height:46px;border:1px solid #fff6;border-radius:50%;color:#fff;background:#182c3b;font-size:29px;line-height:1;cursor:pointer;z-index:2}
 /* Same fixed-backdrop blur style as Message EMS, without scaling the page. */
 .ems-menu-backdrop{position:fixed;inset:0;z-index:8999;background:rgba(7,24,45,.1);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s}
 body.ems-menu-open .ems-menu-backdrop{opacity:1;visibility:visible;pointer-events:auto}
 body.ems-menu-open #nav{z-index:9003!important}body.ems-menu-open #mobilePanel{z-index:9002!important}
 body.ems-menu-open #mobilePanel{position:fixed!important;top:75px!important;left:12px!important;right:12px!important;box-shadow:0 20px 50px #0005!important}

 #mobilePanel .ems-menu-close{justify-self:end;border:1px solid #ffffff4b;background:#152a42;color:white;border-radius:50%;width:40px;height:40px;font-size:25px;line-height:1;margin:3px 5px 5px 0;cursor:pointer}
 /* Match the supplied reference: clean editorial headings, icon-led cards, navy/white/red. */
 #services .section-head,#ems-extra-services .section-head,#reviews .section-head{margin-bottom:25px}
 #services .headline,#ems-extra-services .headline,#reviews .headline,#work .headline{letter-spacing:-.035em;line-height:1.03}
 #ems-extra-services .ems-added-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px!important}
 #ems-extra-services .ems-added-grid article{display:grid!important;grid-template-columns:48px minmax(0,1fr);gap:0 15px;align-content:center;min-height:150px;border:1px solid #eaf0f5!important;border-radius:14px!important;background:#fff;box-shadow:0 8px 28px rgba(9,25,45,.055)!important;padding:22px!important}
 #ems-extra-services .ems-added-grid article .ems-official-icon{grid-row:1/3;align-self:center;width:38px;height:38px}
 #ems-extra-services .ems-added-grid h3{font-size:clamp(16px,1.4vw,19px);margin:0 0 7px!important;color:#101e32;line-height:1.15}
 #ems-extra-services .ems-added-grid p{margin:0!important;font-size:13px!important;line-height:1.6!important;color:#526177}
 .ems-official-icon{width:26px;height:26px;display:inline-block;object-fit:contain;flex:none}
 #ems-why-seal{margin-top:38px!important}
 #ems-why-seal h2{margin-bottom:16px}
 #ems-why-seal p{padding:10px 0 10px 48px!important;margin:0!important;position:relative;border-bottom:1px solid #eff2f6;line-height:1.65!important}
 #ems-why-seal .ems-copy-icon{position:absolute;left:4px;top:11px;width:24px;height:24px}
 #quote label .ems-official-icon{width:16px;height:16px;vertical-align:-3px;margin-right:5px;opacity:1;filter:brightness(0) invert(1)!important}
 #ems-service-expansion{border-radius:13px!important;border-color:#e3eaf3!important}
 #ems-service-expansion h3{letter-spacing:-.02em}
 .ems-reference-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#fff;border-bottom:1px solid #e9edf2;padding:21px min(5vw,42px)}
 .ems-reference-trust-item{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;text-align:center;font-weight:800;font-size:12px;color:#1c2c45;line-height:1.3;border-right:1px solid #ebedf1}
 .ems-reference-trust-item:last-child{border-right:0}
 .ems-reference-trust-item .ems-official-icon{width:29px;height:29px}
 @media(max-width:860px){#ems-extra-services .ems-added-grid{grid-template-columns:1fr!important;gap:11px!important}#ems-extra-services .ems-added-grid article{min-height:112px;padding:17px!important;grid-template-columns:43px minmax(0,1fr)}#ems-extra-services .ems-added-grid article .ems-official-icon{width:32px;height:32px}}
 @media(max-width:480px){.ems-reference-trust{padding:17px 7px}.ems-reference-trust-item{font-size:10px;padding:0 5px}.ems-reference-trust-item .ems-official-icon{width:23px;height:23px}#ems-why-seal p{padding-left:42px!important}}

 /* Hero-integrated trust strip: yellow official icons, never clipped at bottom. */
 .hero:has(>.ems-reference-trust){grid-template-rows:minmax(0,1fr) auto!important;overflow:visible!important}
 .hero>.ems-reference-trust{position:relative;z-index:8;align-self:end;width:100%;margin:0;background:rgba(7,24,45,.88);border:1px solid rgba(255,255,255,.13);border-left:0;border-right:0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:17px clamp(14px,3.5vw,42px)!important;box-sizing:border-box;min-height:82px}
 .hero>.ems-reference-trust .ems-reference-trust-item{color:#fff;border-color:rgba(255,255,255,.16);font-size:12px}
 .hero>.ems-reference-trust .ems-official-icon{filter:brightness(0) saturate(100%) invert(84%) sepia(89%) saturate(1160%) hue-rotate(344deg) brightness(102%) contrast(101%)}
 .hero:has(>.ems-reference-trust) .hero-scroll{display:none!important}
 .hero:has(>.ems-reference-trust) .hero-content{padding-bottom:clamp(30px,4vh,54px)!important}
 @media(max-width:600px){#emsChatLauncher{bottom:94px!important;transition:filter .42s cubic-bezier(.22,1,.36,1)!important}}
 .ems-hero-google-svg{height:23px;width:23px;object-fit:contain;vertical-align:middle;display:inline-block;flex:none;margin-right:6px}
 .mobile-google-rating{display:flex!important;align-items:center;flex-wrap:wrap;gap:4px}
 .mobile-google-rating strong{white-space:nowrap}
 .hero-meta .ems-hero-google-svg{width:19px;height:19px;margin-right:7px}
 @media(max-width:600px){.hero>.ems-reference-trust{min-height:76px;padding:14px 5px!important}.hero>.ems-reference-trust .ems-reference-trust-item{font-size:10px;line-height:1.2}.hero>.ems-reference-trust .ems-official-icon{width:24px;height:24px}.hero:has(>.ems-reference-trust) .hero-content{padding-bottom:32px!important}}

 /* The menu uses the exact same viewport blur overlay properties as Message EMS. */
 .ems-menu-backdrop{background:rgba(7,24,45,.10)!important;backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important;transition:opacity .28s ease!important}
 body.ems-menu-open .ems-menu-backdrop{opacity:1!important;pointer-events:auto!important;visibility:visible!important}
 body.ems-menu-open #nav{z-index:9003!important}
 /* White trust SVGs like the estimate action on the reference. */
 .hero>.ems-reference-trust .ems-official-icon{filter:brightness(0) invert(1)!important;opacity:1!important}
 /* Real Lucide SVGs, color-tinted to bring the paver content to life. */
 #ems-extra-services .ems-added-grid article:nth-child(1) .ems-official-icon{filter:invert(23%) sepia(98%) saturate(3859%) hue-rotate(350deg) brightness(107%) contrast(99%)}
 #ems-extra-services .ems-added-grid article:nth-child(2) .ems-official-icon{filter:invert(42%) sepia(79%) saturate(1583%) hue-rotate(173deg) brightness(97%) contrast(98%)}
 #ems-extra-services .ems-added-grid article:nth-child(3) .ems-official-icon{filter:invert(37%) sepia(76%) saturate(679%) hue-rotate(87deg) brightness(97%) contrast(90%)}
 #ems-why-seal p:nth-of-type(4n+1) .ems-copy-icon{filter:invert(28%) sepia(95%) saturate(3397%) hue-rotate(348deg) brightness(105%)}
 #ems-why-seal p:nth-of-type(4n+2) .ems-copy-icon{filter:invert(73%) sepia(92%) saturate(1808%) hue-rotate(358deg) brightness(105%)}
 #ems-why-seal p:nth-of-type(4n+3) .ems-copy-icon{filter:invert(40%) sepia(95%) saturate(1753%) hue-rotate(174deg) brightness(99%)}
 #ems-why-seal p:nth-of-type(4n) .ems-copy-icon{filter:invert(43%) sepia(73%) saturate(639%) hue-rotate(92deg) brightness(95%)}
 /* Remove the short decorative line immediately before ABOUT US. */
 #about .kicker:before,#about .kicker::before{content:none!important;display:none!important}
 /* Scroll cue is centered above, not behind or on top of, the trust strip. */
 .hero:has(>.ems-reference-trust) .hero-scroll{display:flex!important;position:absolute!important;z-index:9!important;left:50%!important;bottom:calc(var(--ems-strip-height,82px) + 12px)!important;transform:translateX(-50%)!important;pointer-events:auto}
 @media(max-width:600px){.hero:has(>.ems-reference-trust) .hero-scroll{bottom:calc(var(--ems-strip-height,76px) + 9px)!important;gap:3px!important;font-size:9px!important}.hero:has(>.ems-reference-trust) .hero-scroll i{height:27px!important;width:19px!important}}

 body.ems-menu-open #emsChatLauncher{filter:blur(6px)!important;pointer-events:none!important;transition:filter .42s cubic-bezier(.22,1,.36,1)!important}
 body:not(.ems-menu-open) #emsChatLauncher{filter:blur(0)!important;transition:filter .42s cubic-bezier(.22,1,.36,1)!important}
 /* Smooth menu: keep the navbar clear; animate only composited opacity and transforms. */
 .ems-menu-backdrop{top:var(--ems-nav-clear-height,76px)!important;bottom:0!important;left:0!important;right:0!important;opacity:0!important;visibility:visible!important;pointer-events:none!important;transition:opacity .42s cubic-bezier(.22,1,.36,1)!important;will-change:opacity}
 body.ems-menu-open .ems-menu-backdrop{opacity:1!important;pointer-events:auto!important}
 #mobilePanel{transition:opacity .38s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1)!important;transform:translate3d(0,-9px,0);opacity:0}
 body.ems-menu-open #mobilePanel.open{opacity:1;transform:translate3d(0,0,0)}
 @media(prefers-reduced-motion:reduce){.ems-menu-backdrop,#mobilePanel{transition:none!important}}

 /* iOS native date control may exceed its field's intrinsic width; contain it without losing picker functionality. */
 #quote .field:has(#date){min-width:0!important;max-width:100%!important;inline-size:100%!important;overflow:hidden;box-sizing:border-box!important}
 #quote #date{inline-size:100%!important;max-inline-size:100%!important;min-inline-size:0!important;display:block!important;line-height:normal!important}
 #quote #date::-webkit-date-and-time-value{min-width:0;text-align:left}
 #quote #date::-webkit-datetime-edit{min-width:0;overflow:hidden}
 /* Only the smaller overlay photograph under the truck needs its logo moved. */
 #about .about-small img.ems-photo-logo{
  position:absolute!important;left:auto!important;top:auto!important;
  right:7px!important;bottom:7px!important;
  width:min(54%,82px)!important;height:auto!important;max-height:none!important;
  min-height:0!important;max-width:none!important;aspect-ratio:auto!important;
  object-fit:contain!important;transform:none!important;margin:0!important;
  inset:auto 7px 7px auto!important;
 }
 #ems-about-us{scroll-margin-top:96px}

 /* Branded review-source labels: Google's published multicolor G artwork, not a recreated logo. */
 #reviews .review-source{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap}
 #reviews .ems-review-google-g{width:21px!important;height:21px!important;flex:0 0 21px;display:inline-block!important;object-fit:contain!important;vertical-align:middle}
 /* Reliable iOS date label: the real date input retains its native picker; text is centered in our shell. */
 #quote .ems-date-display{position:relative!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:50px!important;box-sizing:border-box!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:14px!important;background:rgba(255,255,255,.055)!important;color:#fff!important;overflow:hidden!important}
 #quote .ems-date-display:focus-within{border-color:rgba(255,255,255,.55)!important;box-shadow:0 0 0 2px rgba(255,255,255,.09)}
 #quote .ems-date-display #date{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0!important;max-width:100%!important;border:0!important;outline:none!important;background:transparent!important;opacity:0!important;cursor:pointer!important;margin:0!important;padding:0!important;z-index:2!important;-webkit-appearance:auto!important;appearance:auto!important}
 #quote .ems-date-display .ems-date-visible{position:absolute;left:14px;right:14px;top:50%;transform:translateY(-50%);font-size:16px;line-height:1.3;color:#fff;white-space:nowrap;pointer-events:none!important;z-index:1}
 /* Polished gallery, with consistently sized rounded thumbnails and subtle photo numbers. */
 #emsGalleryModal .ems-gallery-dialog{border-radius:16px!important;background:#08192b!important;box-shadow:0 26px 90px rgba(0,0,0,.6)!important}
 #emsGalleryModal .ems-gallery-header{border-bottom:1px solid rgba(255,255,255,.16)!important;padding:19px 22px!important;background:#0b1e32!important}
 #emsGalleryModal .ems-gallery-header h2{letter-spacing:-.035em}
 #emsGalleryModal .ems-gallery-grid{gap:13px!important;padding:16px!important}
 #emsGalleryModal .ems-gallery-item{position:relative!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:12px!important;background:#12283b!important;box-shadow:0 8px 22px rgba(0,0,0,.2)!important;transform:translateZ(0);transition:border-color .22s ease,box-shadow .22s ease!important}
 #emsGalleryModal .ems-gallery-item:hover{border-color:rgba(255,255,255,.38)!important;box-shadow:0 12px 30px rgba(0,0,0,.32)!important}
 #emsGalleryModal .ems-gallery-item .ems-gallery-number{position:absolute;right:9px;bottom:9px;color:#fff;background:rgba(4,15,29,.64);backdrop-filter:blur(8px);font-size:10px;letter-spacing:.04em;font-weight:700;padding:5px 7px;border-radius:5px;pointer-events:none}
 .ems-gallery-zoom{isolation:isolate!important;overflow:hidden!important;background:#071422!important;padding:64px 14px 40px!important}
 .ems-gallery-zoom:before{content:"";position:absolute;inset:-55px;background-image:var(--ems-zoom-photo);background-size:cover;background-position:center;filter:blur(42px) brightness(.22) saturate(.8);z-index:-1;pointer-events:none}
 .ems-gallery-zoom img{position:relative;z-index:1;max-width:calc(100vw - 28px)!important;max-height:calc(100dvh - 130px)!important;width:auto!important;height:auto!important;border-radius:9px!important;object-fit:contain!important;background:transparent!important;box-shadow:0 24px 80px rgba(0,0,0,.3)!important}
 /* The enlarged photo has a plain, unobstructed X — absolutely no circular pill. */
 .ems-gallery-zoom button{position:absolute!important;z-index:3!important;top:max(18px,env(safe-area-inset-top))!important;right:clamp(16px,4vw,34px)!important;width:38px!important;height:38px!important;padding:0!important;border:0!important;border-radius:0!important;outline-offset:3px!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#fff!important;font-size:42px!important;font-weight:300!important;line-height:32px!important;text-shadow:0 2px 11px #001!important}
 .ems-gallery-zoom .ems-zoom-count{position:absolute;z-index:3;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);color:rgba(255,255,255,.87);font-size:12px;font-weight:700;letter-spacing:.18em;pointer-events:none}
 @media(max-width:700px){#emsGalleryModal .ems-gallery-dialog{height:100dvh!important;border-radius:0!important}#emsGalleryModal .ems-gallery-grid{gap:10px!important;padding:10px!important}#emsGalleryModal .ems-gallery-item{border-radius:10px!important}#emsGalleryModal .ems-gallery-header{padding:18px!important}}
 @media(prefers-reduced-motion:reduce){#emsGalleryModal .ems-gallery-item{transition:none!important}}

 /* EMS service refresh: yellow quote actions, official Lucide image badges and clear section CTA. */
 #services .service-card .service-media{position:relative!important}
 #services .service-icon-badge{position:absolute;z-index:5;left:13px;top:13px;width:49px;height:49px;display:flex;align-items:center;justify-content:center;border:2px solid #fff!important;border-radius:50%!important;box-shadow:0 4px 18px rgba(3,16,31,.28);pointer-events:none}
 #services .service-icon-badge img{display:block!important;width:25px!important;height:25px!important;object-fit:contain!important;filter:brightness(0) invert(1)!important;opacity:1!important;background:none!important}
 #services .service-card .service-quote-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:max-content!important;min-width:125px;padding:10px 15px!important;border-radius:9px!important;background:#ffcd27!important;color:#07182d!important;font-weight:850!important;font-size:12px!important;line-height:1.3!important;text-decoration:none!important;text-transform:uppercase!important;letter-spacing:.035em!important;border:1px solid #ffcd27!important;box-shadow:0 5px 12px rgba(232,177,12,.13)!important;transition:background .24s ease,transform .24s ease,box-shadow .24s ease!important}
 #services .service-card .service-quote-link:hover{background:#ffdb57!important;transform:translateY(-2px)!important;box-shadow:0 8px 18px rgba(232,177,12,.24)!important}
 #services .service-card .service-quote-link .ems-quote-arrow{display:block!important;width:18px!important;height:18px!important;object-fit:contain!important;filter:brightness(0)!important;background:none!important;margin:0!important}

 /* Simple typography beneath the heading, with no pill or enclosing box. */
 #services .section-head{display:block!important}
 #services .section-head>div{width:100%!important}
 #services .section-head .lead{margin:13px 0 0!important;padding:0!important;width:100%!important;max-width:750px!important;min-width:0!important;display:block!important;background:transparent!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:none!important;text-align:left!important;color:#586679!important;font-size:clamp(13px,1.25vw,16px)!important;font-weight:450!important;line-height:1.65!important}
 /* Real Font Awesome icon artwork: high specificity over original photo styles. */
 #services .services-grid .service-card .service-media .service-icon-badge{overflow:hidden!important;isolation:isolate!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;box-sizing:border-box!important;padding:0!important}
 #services .services-grid .service-card .service-media .service-icon-badge img.ems-badge-glyph{display:block!important;position:static!important;inset:auto!important;float:none!important;width:23px!important;height:23px!important;min-width:0!important;min-height:0!important;max-width:23px!important;max-height:23px!important;object-fit:contain!important;filter:brightness(0) invert(1)!important;transform:none!important;opacity:1!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:0!important;flex:0 0 23px!important}
 #services .service-card .service-quote-link{text-transform:none!important;letter-spacing:0!important;font-weight:800!important}
 /* The final CTA continues the card grid as a wide, cohesive service tile. */
 #services .services-grid a.ems-services-all{grid-column:1/-1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:0!important;padding:18px 21px!important;min-width:0!important;min-height:85px!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #d9e0e8!important;border-radius:15px!important;box-shadow:0 4px 11px rgba(8,26,48,.035)!important;color:#092039!important;text-decoration:none!important;text-transform:none!important;transform:none;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease!important}
 #services .services-grid a.ems-services-all:hover{border-color:#9faebd!important;box-shadow:0 9px 24px rgba(8,26,48,.09)!important;transform:translateY(-2px)!important}
 #services .ems-services-all-text{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;text-align:left}
 #services .ems-services-all-text strong{font-size:clamp(14px,1.4vw,18px);font-weight:900;letter-spacing:-.02em;line-height:1.2;color:#0a213a}
 #services .ems-services-all-text small{font-size:12px;font-weight:450;line-height:1.4;color:#617085;letter-spacing:0}
 #services .ems-services-more-arrow{width:43px;height:43px;flex:0 0 43px;border-radius:12px;background:#ffcd27;display:flex;align-items:center;justify-content:center}
 #services .ems-services-more-arrow img{width:21px!important;height:21px!important;max-width:21px!important;filter:brightness(0)!important;object-fit:contain!important}
 @media(max-width:650px){#services .services-grid a.ems-services-all{min-height:77px!important;padding:15px!important}#services .ems-services-all-text small{font-size:11px}#services .ems-services-more-arrow{width:39px;height:39px;flex-basis:39px}#services .services-grid .service-card .service-media .service-icon-badge img.ems-badge-glyph{width:19px!important;height:19px!important;max-width:19px!important;max-height:19px!important;flex-basis:19px!important}}

 /* Editorial descriptions: no borders, grey pills, speech bubbles, or pseudo-decorations. */
 #work .section-head,#about .section-head,#services .section-head,#ems-about-us .section-head{display:block!important}
 #work .section-head .lead,#about .section-head .lead,#services .section-head .lead,#reviews .section-head .lead{
  display:block!important;position:static!important;float:none!important;
  margin:12px 0 0!important;padding:0!important;max-width:780px!important;width:auto!important;
  background:transparent!important;background-image:none!important;border:0!important;
  box-shadow:none!important;border-radius:0!important;outline:0!important;
  color:#58677b!important;line-height:1.6!important;font-weight:450!important;
  letter-spacing:normal!important;text-align:left!important;transform:none!important
 }
 #work .section-head .lead::before,#work .section-head .lead::after,
 #about .section-head .lead::before,#about .section-head .lead::after,
 #services .section-head .lead::before,#services .section-head .lead::after,
 #reviews .section-head .lead::before,#reviews .section-head .lead::after{content:none!important;display:none!important}
 /* Remove all decorative red dashes, blocks and diamonds beside the section eyebrow text. */
 .kicker::before,.kicker::after,.kicker:before,.kicker:after{content:none!important;display:none!important;visibility:hidden!important;border:0!important}
 .kicker{padding-left:0!important;text-indent:0!important;background-image:none!important}
 #ems-about-us .kicker{border:0!important;margin-left:0!important;padding-left:0!important}
 /* The yellow Before chip uses true dark black text in both inactive and active states. */
 #ems-before-after .ems-ba-slider .ems-ba-label-before,
 #ems-before-after .ems-ba-slider .ems-ba-label-before.ems-ba-active,
 #ems-before-after .ems-ba-slider .ems-ba-label-before.ems-ba-pill-visible{color:#080808!important;-webkit-text-fill-color:#080808!important;text-shadow:none!important}
 /* High-contrast standout CTA, deliberately integrated into the final row of service cards. */
 #services .services-grid a.ems-services-all{background:#0a2038!important;border:1px solid #0a2038!important;box-shadow:0 11px 28px rgba(7,24,45,.15)!important;position:relative;overflow:hidden}
 #services .services-grid a.ems-services-all:hover{background:#102d4c!important;border-color:#102d4c!important;box-shadow:0 15px 30px rgba(7,24,45,.22)!important}
 #services .ems-services-all-text strong{color:#fff!important;font-size:clamp(18px,1.9vw,24px)!important;text-transform:uppercase!important;letter-spacing:-.025em!important;font-weight:950!important}
 #services .ems-services-all-text small{color:#c1cddd!important;font-size:12px!important;font-weight:520!important}
 #services .ems-services-more-arrow{background:#ffcd27!important;border:1px solid rgba(255,255,255,.12);border-radius:11px!important}
 /* Crisp Tabler line art (published professional SVGs), 100% white and within the badges. */
 #services .service-media .service-icon-badge{box-sizing:border-box!important;overflow:hidden!important}
 #services .service-media .service-icon-badge img.ems-badge-glyph{
  width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;
  min-width:0!important;min-height:0!important;object-fit:contain!important;
  filter:brightness(0) invert(1)!important;opacity:1!important;
  transform:none!important;position:static!important;inset:auto!important
 }
 /* Footer CTA and social actions: comfortably sized, not clipped. */
 footer .footer-inner{min-width:0!important;max-width:100%!important}
 footer .footer-links{display:flex!important;align-items:center!important;flex-wrap:wrap!important;column-gap:20px!important;row-gap:13px!important;width:100%!important;max-width:100%!important;min-width:0!important}
 footer .footer-links a.ems-yellow-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  color:#091e31!important;background:#ffcd27!important;background-image:none!important;
  padding:12px 17px!important;min-height:43px!important;min-width:135px!important;
  box-sizing:border-box!important;line-height:1.25!important;border-radius:11px!important;
  border:1px solid #ffcd27!important;box-shadow:0 6px 20px rgba(245,197,30,.14)!important;
  font-weight:850!important;font-size:13px!important;letter-spacing:0!important;text-decoration:none!important;
  white-space:nowrap!important;overflow:visible!important;flex:0 0 auto!important
 }
 footer .footer-links a.ems-yellow-action::before,footer .footer-links a.ems-yellow-action::after{content:none!important;display:none!important}
 footer .ems-footer-socials{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 2px}
 footer .ems-footer-socials a{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;
  height:43px;min-width:117px;padding:0 13px;box-sizing:border-box;
  border:1px solid rgba(255,255,255,.2);border-radius:10px;
  background:rgba(255,255,255,.065);color:#fff;text-decoration:none;font-size:12px;font-weight:750;transition:background .22s ease,border-color .22s ease}
 footer .ems-footer-socials a:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5)}
 footer .ems-footer-socials img{display:block;width:18px;height:18px;object-fit:contain;filter:brightness(0) invert(1)}
 @media(max-width:650px){
  #services .service-media .service-icon-badge img.ems-badge-glyph{width:21px!important;height:21px!important;max-width:21px!important;max-height:21px!important}
  footer .footer-links{gap:12px 16px!important}
  footer .footer-links a.ems-yellow-action{width:100%!important;min-height:47px!important;margin:5px 0 0!important;flex:0 0 100%!important}
  footer .ems-footer-socials{width:100%}
  footer .ems-footer-socials a{flex:1 1 130px}
 }
 #ems-before-after .ems-ba-slider .ems-ba-label-before{background:#ffcd27!important;color:#102238!important;border:1px solid rgba(255,255,255,.9)!important;box-shadow:0 4px 14px rgba(5,18,36,.34)!important;text-shadow:none!important}
 #ems-before-after .ems-ba-slider .ems-ba-label-before.ems-ba-pill-visible{background:#ffcd27!important;color:#102238!important;box-shadow:0 4px 16px rgba(5,18,36,.38)!important}

 /* Fix legacy about-process lead styling outside .section-head. */
 #about p.lead,#about .statement-head + p.lead,#about .about-copy > p.lead{
  display:block!important;margin:11px 0 0!important;padding:0!important;max-width:780px!important;
  width:auto!important;background:none!important;background-color:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  color:#58677b!important;line-height:1.6!important;letter-spacing:normal!important
 }
 /* Must appear AFTER the yellow-label declarations to override dark navy text. */
 #ems-before-after .ems-ba-slider .ems-ba-label-before,
 #ems-before-after .ems-ba-slider .ems-ba-label-before.ems-ba-active,
 #ems-before-after .ems-ba-slider .ems-ba-label-before.ems-ba-pill-visible,
 #ems-before-after .ems-ba-slider .ems-ba-label-before.ems-ba-active.ems-ba-pill-visible{
  color:#000!important;-webkit-text-fill-color:#000!important;text-shadow:none!important
 }
 @media(max-width:650px){footer .ems-footer-socials{width:calc(100% - 62px)!important;max-width:100%!important}}
 /* Real Google Maps service-area embed, never a placeholder graphic. */
 #ems-service-map{background:#f5f7fa;padding:clamp(42px,5vw,75px) 0;scroll-margin-top:80px}
 #ems-service-map .ems-map-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
 #ems-service-map .ems-map-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}
 #ems-service-map .ems-map-kicker{font-size:12px;font-weight:900;letter-spacing:.11em;color:#e62e39;text-transform:uppercase;margin:0 0 8px}
 #ems-service-map h2{font-size:clamp(28px,4.4vw,50px);font-weight:900;line-height:1.05;letter-spacing:-.035em;text-transform:uppercase;color:#081c32;margin:0 0 8px}
 #ems-service-map .ems-map-desc{font-size:14px;line-height:1.55;color:#546275;margin:0}
 #ems-service-map .ems-map-link .ems-official-icon{width:16px!important;height:16px!important;filter:brightness(0) invert(1)!important;vertical-align:middle}
 #ems-service-map .ems-map-link{display:inline-flex;align-items:center;gap:8px;border-radius:10px;padding:11px 15px;background:#07182d;color:#fff;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap}
 #ems-service-map .ems-map-frame{position:relative;width:100%;height:clamp(310px,38vw,475px);border:1px solid #dee6ef;border-radius:16px;overflow:hidden;background:#e8eff4;box-shadow:0 16px 38px rgba(6,26,48,.08)}
 #ems-service-map iframe{width:100%;height:100%;display:block;border:0}
 @media(max-width:650px){#services .service-icon-badge{left:9px;top:9px;width:39px;height:39px}#services .service-icon-badge img{width:21px!important;height:21px!important}#services .service-card .service-quote-link{min-width:0;padding:9px 11px!important;font-size:11px!important}#services .service-card .service-quote-link .ems-quote-arrow{width:15px!important;height:15px!important}#ems-service-map .ems-map-frame{height:315px}#ems-service-map .ems-map-link{width:100%;justify-content:center}}
 @media(prefers-reduced-motion:reduce){#services .service-card .service-quote-link,#services .ems-services-all{transition:none!important}}

 /* Chat stays raised over the hero strip, then eases to the natural bottom-right dock. */
 @media(max-width:600px){
  #emsChatLauncher{bottom:94px!important;transition:bottom .78s cubic-bezier(.22,1,.36,1),filter .42s cubic-bezier(.22,1,.36,1)!important}
  body.ems-chat-past-hero #emsChatLauncher{bottom:24px!important}
  body:not(.ems-menu-open) #emsChatLauncher,body.ems-menu-open #emsChatLauncher{transition:bottom .78s cubic-bezier(.22,1,.36,1),filter .42s cubic-bezier(.22,1,.36,1)!important}
 }
 @media(prefers-reduced-motion:reduce){#emsChatLauncher{transition:none!important}}
 /* The yellow quote button fills its card's inner width, with description directly above it. */
 #services .services-grid .service-card .service-body{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;flex:1 1 auto!important;min-height:0!important}
 #services .services-grid .service-card .service-body h3{margin:0 0 6px!important;line-height:1.2!important}
 #services .services-grid .service-card .service-body .ems-service-description{display:block!important;margin:0 0 13px!important;padding:0!important;font-size:clamp(11px,1.12vw,13px)!important;line-height:1.5!important;color:#617188!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
 #services .services-grid .service-card .service-body a.service-quote-link{display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;min-height:41px!important;margin-top:auto!important;padding:10px 12px!important;justify-content:space-between!important;white-space:nowrap!important}
 #services .services-grid .service-card .service-body .ems-quote-arrow{flex:none!important}

 /* The site's old .service-body paragraph rule enforces one-line ellipsis; override it. */
 #services .services-grid .service-card .service-body p.ems-service-description{
  display:block!important;white-space:normal!important;overflow:visible!important;
  text-overflow:clip!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important;
  max-height:none!important;height:auto!important;min-height:0!important;
  word-wrap:break-word!important;overflow-wrap:break-word!important;
 }
 /* Crisp MDI SVG artwork stays white, scaled and contained inside each colored badge. */
 #services .services-grid .service-card .service-media .service-icon-badge img.ems-badge-glyph{width:25px!important;height:25px!important;max-width:25px!important;max-height:25px!important;object-fit:contain!important;filter:brightness(0) invert(1)!important;image-rendering:auto!important;opacity:1!important;transform:none!important}
 @media(max-width:650px){
  #services .services-grid .service-card .service-media .service-icon-badge img.ems-badge-glyph{width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important}
  #services .services-grid .service-card .service-body{padding:11px 10px 12px!important}
  #services .services-grid .service-card .service-body .ems-service-description{font-size:11px!important;line-height:1.4!important;margin-bottom:11px!important}
  #services .services-grid .service-card .service-body a.service-quote-link{font-size:11px!important;min-height:38px!important;padding:8px 9px!important}
 }
 /* Keep original yellow and white brand colors, improve CTA structure and tactile response. */
 #viewFullGallery{gap:15px!important;display:inline-flex!important;align-items:center!important;justify-content:space-between!important;min-height:52px!important;padding:7px 10px 7px 19px!important;border-radius:12px!important;font-size:13px!important;font-weight:850!important;letter-spacing:.015em!important;box-shadow:0 7px 22px rgba(238,178,14,.22)!important;transition:transform .25s ease,box-shadow .25s ease!important}
 #viewFullGallery:hover{transform:translateY(-2px)!important;box-shadow:0 12px 25px rgba(238,178,14,.3)!important}
 /* Arrow is now directly on the original yellow View Full Gallery button — no background tile. */
 #viewFullGallery .ems-cta-icon-bg{width:24px!important;height:24px!important;flex:0 0 24px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;padding:0!important}
 #viewFullGallery .ems-cta-icon-bg img{width:23px!important;height:23px!important;max-width:23px!important;object-fit:contain!important;filter:brightness(0)!important;opacity:1!important}
 #reviews .google-review-btn{gap:11px!important;display:inline-flex!important;align-items:center!important;justify-content:space-between!important;min-height:53px!important;padding:7px 9px 7px 15px!important;border-radius:12px!important;box-shadow:0 7px 22px rgba(6,22,39,.1)!important;transition:transform .25s ease,box-shadow .25s ease!important}
 #reviews .google-review-btn:hover{transform:translateY(-2px)!important;box-shadow:0 12px 26px rgba(6,22,39,.14)!important}
 #reviews .google-review-btn .ems-review-button-label{font-weight:850!important;white-space:nowrap!important}
 #reviews .google-review-btn .ems-cta-icon-bg{width:34px;height:34px;flex:0 0 34px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#10253d}
 #reviews .google-review-btn .ems-cta-icon-bg img{width:17px;height:17px;object-fit:contain;filter:brightness(0) invert(1)!important}
 @media(prefers-reduced-motion:reduce){#viewFullGallery,#reviews .google-review-btn{transition:none!important}}

 /* Remove actual reserved space for the former decorative eyebrow squares. */
 #services .kicker::before,#work .kicker::before,#reviews .kicker::before,
 #about .kicker::before,#ems-about-us .kicker::before,#ems-before-after .kicker::before,
 #quote .kicker::before,#ems-extra-services .kicker::before,
 #services .kicker::after,#work .kicker::after,#reviews .kicker::after,
 #about .kicker::after,#ems-about-us .kicker::after,#ems-before-after .kicker::after,
 #quote .kicker::after,#ems-extra-services .kicker::after{
  content:none!important;display:none!important;visibility:hidden!important;
  width:0!important;min-width:0!important;height:0!important;margin:0!important;flex:none!important
 }
 #services .kicker,#work .kicker,#reviews .kicker,#about .kicker,
 #ems-about-us .kicker,#ems-before-after .kicker,#quote .kicker,
 #ems-extra-services .kicker{
  gap:0!important;margin-left:0!important;padding-left:0!important;
  text-indent:0!important;transform:none!important;justify-content:flex-start!important
 }
 /* Robust row-free layout on the full-width Vehicle Detailing card, including Safari. */
 #services .service-card:last-child .service-body{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important}
 #services .service-card:last-child .service-body h3,
 #services .service-card:last-child .service-body p.ems-service-description{
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
  flex:0 0 auto!important;align-self:stretch!important;white-space:normal!important;
  overflow-wrap:normal!important;word-break:normal!important;transform:none!important
 }
 #services .service-card:last-child .service-body a.service-quote-link{width:100%!important;max-width:100%!important;min-width:0!important;align-self:stretch!important}

 /* The full-gallery close X has no circular holder; keep an accessible focus outline only. */
 #emsGalleryModal .ems-gallery-header .ems-gallery-close{
  display:grid!important;place-items:center!important;
  width:40px!important;height:44px!important;min-width:40px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;background-image:none!important;
  box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  color:#fff!important;font-size:34px!important;font-weight:350!important;line-height:1!important;
  opacity:.95!important;transform:none!important;transition:opacity .2s ease!important
 }
 #emsGalleryModal .ems-gallery-header .ems-gallery-close:hover{opacity:.7!important;background:none!important;box-shadow:none!important}
 #emsGalleryModal .ems-gallery-header .ems-gallery-close:focus-visible{outline:2px solid #ffcd27!important;outline-offset:2px!important}
 /* Existing official EMS brand photo, placed over the EMS gallery eyebrow/title. */
 #emsGalleryModal .ems-gallery-brand{display:block;width:clamp(118px,30vw,166px)!important;max-width:100%!important;height:clamp(37px,9vw,52px)!important;object-fit:contain!important;object-position:left center!important;margin:0 0 6px!important;padding:0!important;background:transparent!important;filter:none!important;box-shadow:none!important}
 #emsGalleryModal .ems-gallery-header>div{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;min-width:0!important}
 #emsGalleryModal .ems-gallery-header{gap:8px!important}
 #emsGalleryModal .ems-gallery-header h2{line-height:1.08!important}
 .ems-gallery-zoom img{touch-action:pan-y!important}
 #ems-before-after{padding:64px 0;background:#07192d;color:#fff}
 #ems-before-after .wrap{max-width:1200px;margin:auto;padding:0 20px}
 #ems-before-after h2{font-size:clamp(30px,4vw,52px);text-transform:uppercase;line-height:1.07;margin:0 0 14px}
 #ems-before-after p{color:#c6d2df;line-height:1.65}
 .ems-ba-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}
 .ems-ba-card{border:1px solid #314359;border-radius:12px;overflow:hidden;background:#0e2239}
 .ems-ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#334154}
 .ems-ba-half{position:relative;margin:0;min-width:0}
 .ems-ba-half img{display:block;width:100%;height:280px;object-fit:cover;object-position:center}
 .ems-ba-half figcaption{position:absolute;top:12px;left:12px;padding:6px 11px;border-radius:5px;background:rgba(5,16,30,.87);font-size:12px;font-weight:800;letter-spacing:.07em}
 .ems-ba-card h3{font-size:20px;margin:18px 18px 6px}
 .ems-ba-card p{margin:0 18px 22px;font-size:14px}
 #ems-extra-services .ems-added-grid article{border-radius:12px!important;box-shadow:0 12px 34px rgba(7,24,45,.06)!important;padding:clamp(22px,3vw,32px)!important}
 #ems-extra-services .ems-added-grid h3{letter-spacing:-.02em;line-height:1.22;margin-bottom:14px}
 #ems-extra-services .ems-added-grid p{font-size:1rem;line-height:1.8}
 #ems-why-seal{max-width:1000px;border-top:1px solid #d8dee6!important;margin:35px auto 0!important;padding:40px 0 0!important}
 #ems-why-seal p{max-width:85ch;line-height:1.8;margin-bottom:12px}
 #ems-service-expansion{box-shadow:0 12px 32px rgba(7,24,45,.06)}
 @media(max-width:800px){.ems-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.ems-gallery-item{aspect-ratio:4/3!important}.ems-ba-grid{grid-template-columns:1fr}.ems-ba-half img{height:220px}}
 

      #ems-showcase { position:relative;overflow:hidden;padding:clamp(64px,7.5vw,105px) 0;background:#07182b;color:#f7f9fc;isolation:isolate; }
      #ems-showcase::before {content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#ffca27;}
      #ems-showcase .ems-film-wrap {max-width:1210px;margin:0 auto;padding:0 clamp(20px,4.8vw,45px);}
      #ems-showcase .ems-film-grid {display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(32px,5.2vw,76px);align-items:center;}
      #ems-showcase .ems-film-copy {min-width:0;}
      #ems-showcase .ems-film-eyebrow {display:flex;align-items:center;gap:12px;color:#ff5361;font-size:11px;font-weight:900;letter-spacing:.17em;text-transform:uppercase;margin:0 0 21px;}
      #ems-showcase .ems-film-eyebrow::before {content:"";width:22px;height:3px;background:#ffca27;flex:0 0 22px;}
      #ems-showcase h2 {font-size:clamp(35px,4.3vw,61px);font-weight:950;line-height:1.02;letter-spacing:-.054em;text-transform:uppercase;color:#fff;max-width:560px;margin:0 0 19px;}
      #ems-showcase h2 span {color:#ffca27;}
      #ems-showcase .ems-film-description {font-size:clamp(14px,1.35vw,16px);line-height:1.8;color:#bac9d9;max-width:420px;margin:0 0 27px;}
      #ems-showcase .ems-film-detail {display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.18);padding:16px 0 0;margin:0 0 27px;font-size:11px;font-weight:850;letter-spacing:.075em;text-transform:uppercase;color:#e0e8f1;}
      #ems-showcase .ems-film-detail span {display:flex;align-items:center;gap:8px;}
      #ems-showcase .ems-film-detail span+span::before {content:"";width:3px;height:3px;background:#ffca27;margin-right:4px;}
      #ems-showcase .ems-film-actions {display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
      #ems-showcase .ems-film-quote {display:inline-flex;gap:14px;align-items:center;justify-content:center;background:#ffca27;color:#091a2b;border:1px solid #ffca27;border-radius:11px;text-decoration:none;padding:15px 17px;font-size:13px;font-weight:900;min-height:50px;box-sizing:border-box;box-shadow:0 9px 22px rgba(255,202,39,.12);transition:transform .28s ease,box-shadow .28s ease;}
      #ems-showcase .ems-film-quote:hover {transform:translateY(-2px);box-shadow:0 13px 28px rgba(255,202,39,.2);}
      #ems-showcase .ems-film-quote img {width:17px;height:17px;filter:brightness(0);}
      #ems-showcase .ems-film-work-link {display:inline-flex;align-items:center;gap:9px;color:#edf3fa;text-decoration:none;font-size:12px;font-weight:800;transition:color .2s ease;}
      #ems-showcase .ems-film-work-link:hover {color:#ffca27;}
      #ems-showcase .ems-film-work-link img {width:16px;height:16px;filter:brightness(0) invert(1);}
      #ems-showcase .ems-film-right {min-width:0;width:min(100%,400px);margin-inline:auto;}
      #ems-showcase .ems-film-topline {display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:#b6c7d6;letter-spacing:.13em;text-transform:uppercase;font-weight:850;font-size:10px;}
      #ems-showcase .ems-film-topline span:first-child {color:#ffca27;}
      #ems-showcase .ems-film-frame {position:relative;width:100%;aspect-ratio:9/16;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:17px;background:#12283b;box-shadow:0 28px 70px rgba(0,0,0,.36);}
      #ems-showcase .ems-film-video {display:block;width:100%;height:100%;object-fit:contain;background:#10253d;}
      #ems-showcase .ems-film-cover {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(to top,rgba(4,13,24,.66) 0%,rgba(4,13,24,.03) 60%);z-index:2;transition:opacity .32s ease,visibility .32s ease;}
      #ems-showcase .ems-film-frame.ems-film-is-playing .ems-film-cover {opacity:0;visibility:hidden;pointer-events:none;}
      #ems-showcase .ems-film-play {background:transparent;border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);font-family:inherit;}
      #ems-showcase .ems-film-play-icon {width:72px;height:72px;border-radius:16px;background:#ffca27;display:grid;place-items:center;box-shadow:0 8px 36px rgba(0,0,0,.35);transition:transform .3s cubic-bezier(.22,1,.36,1),background .3s ease;}
      #ems-showcase .ems-film-play:hover .ems-film-play-icon,#ems-showcase .ems-film-play:focus-visible .ems-film-play-icon {transform:scale(1.075);background:#ffdb5f;}
      #ems-showcase .ems-film-play-icon img {width:33px;height:33px;object-fit:contain;filter:brightness(0);transform:translateX(2px);}
      #ems-showcase .ems-film-play-text {color:#fff;font-size:12px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;}
      #ems-showcase .ems-film-watermark {position:absolute;right:14px;top:14px;z-index:3;width:122px;max-height:48px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.65));pointer-events:none;transition:opacity .32s ease;}
      #ems-showcase .ems-film-frame.ems-film-is-playing .ems-film-watermark {opacity:.55;}
      #ems-showcase .ems-film-frame-note {position:absolute;left:19px;bottom:16px;z-index:3;font-size:10px;color:#fff;font-weight:850;letter-spacing:.11em;text-transform:uppercase;pointer-events:none;transition:opacity .3s ease;}
      #ems-showcase .ems-film-frame.ems-film-is-playing .ems-film-frame-note {opacity:0;}
      #ems-showcase .ems-film-bottomline {display:flex;justify-content:space-between;gap:14px;margin-top:16px;font-size:10px;letter-spacing:.10em;font-weight:850;color:#a9b9c9;text-transform:uppercase;}
      #ems-showcase .ems-film-bottomline strong {font-weight:850;color:#ffca27;}
      #ems-showcase .ems-film-copy,#ems-showcase .ems-film-right {opacity:0;transform:translate3d(0,20px,0);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);}
      #ems-showcase.ems-film-visible .ems-film-copy,#ems-showcase.ems-film-visible .ems-film-right {opacity:1;transform:translate3d(0,0,0);}
      #ems-showcase.ems-film-visible .ems-film-right {transition-delay:.11s;}
      @media(max-width:850px) {
        #ems-showcase .ems-film-grid {grid-template-columns:1fr;gap:30px;}
        #ems-showcase h2 {font-size:clamp(36px,9vw,52px);max-width:640px;}
        #ems-showcase .ems-film-description {max-width:650px;}
        #ems-showcase .ems-film-right {width:min(100%,390px);}
      }
      @media(max-width:540px) {
        #ems-showcase {padding:61px 0 66px;}
        #ems-showcase .ems-film-wrap {padding:0 19px;}
        #ems-showcase .ems-film-eyebrow {font-size:10px;gap:10px;margin-bottom:18px;}
        #ems-showcase h2 {font-size:clamp(35px,10vw,46px);margin-bottom:14px;}
        #ems-showcase .ems-film-description {font-size:14px;line-height:1.65;margin-bottom:19px;}
        #ems-showcase .ems-film-detail {font-size:10px;gap:10px;padding-top:14px;margin-bottom:23px;}
        #ems-showcase .ems-film-actions {gap:13px;}
        #ems-showcase .ems-film-quote {flex:1 1 180px;}
        #ems-showcase .ems-film-work-link {padding:8px 3px;}
        #ems-showcase .ems-film-frame {border-radius:12px;}
        #ems-showcase .ems-film-play-icon {width:60px;height:60px;border-radius:12px;}
        #ems-showcase .ems-film-play-icon img {width:28px;height:28px;}
        #ems-showcase .ems-film-watermark {width:93px;right:10px;top:10px;}
        #ems-showcase .ems-film-frame-note {left:11px;bottom:11px;font-size:8px;}
        #ems-showcase .ems-film-bottomline {font-size:9px;line-height:1.5;gap:9px;}
      }

      /* Restore the source video's actual upright format. Never stretch or crop portrait footage. */
      #ems-showcase .ems-film-right {width:min(100%,410px);justify-self:center;}
      #ems-showcase .ems-film-frame {
        width:min(100%,360px);
        aspect-ratio:9/16;
        height:auto!important;
        margin:0 auto;
        background:#0b1b2d;
        border-radius:17px;
      }
      #ems-showcase .ems-film-video {
        width:100%!important;
        height:100%!important;
        position:absolute;
        inset:0;
        object-fit:contain!important;
        object-position:center center!important;
        transform:none!important;
        aspect-ratio:9/16;
        background:#0b1b2d;
      }
      #ems-showcase .ems-film-topline,
      #ems-showcase .ems-film-bottomline {max-width:360px;margin-left:auto;margin-right:auto;}
      @media(max-width:850px) {
        #ems-showcase .ems-film-right {width:100%;max-width:570px;}
        #ems-showcase .ems-film-frame {width:min(100%,380px);}
        #ems-showcase .ems-film-topline,#ems-showcase .ems-film-bottomline {max-width:380px;}
      }
      @media(max-width:540px) {
        #ems-showcase .ems-film-frame {width:100%;max-width:380px;border-radius:14px;}
        #ems-showcase .ems-film-watermark {width:88px;}
        #ems-showcase .ems-film-topline,#ems-showcase .ems-film-bottomline {max-width:380px;}
        #ems-showcase .ems-film-cover {background:linear-gradient(0deg,rgba(4,13,24,.5),rgba(4,13,24,.02) 70%);}
      }
      @media(prefers-reduced-motion:reduce) {
        #ems-showcase .ems-film-copy,#ems-showcase .ems-film-right {opacity:1;transform:none;transition:none;}
        #ems-showcase .ems-film-play-icon,#ems-showcase .ems-film-quote,#ems-showcase .ems-film-cover {transition:none;}
      }
    

/* EMS prepaint and video controls: loaded before first render. */
#ems-showcase .ems-film-frame {overflow:hidden}
#ems-showcase .ems-film-controls {position:absolute;left:0;right:0;bottom:0;z-index:6;display:flex;align-items:center;gap:12px;padding:15px 14px 11px;background:linear-gradient(0deg,rgba(3,12,23,.94),rgba(3,12,23,.66) 70%,transparent);box-sizing:border-box;transition:opacity .28s ease,transform .28s ease;opacity:0;transform:translateY(10px);pointer-events:none;}
#ems-showcase .ems-film-frame.ems-film-is-playing .ems-film-controls {opacity:1;transform:none;pointer-events:auto}
#ems-showcase .ems-film-controls button {width:37px;height:37px;flex:0 0 37px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.35);border-radius:9px;color:#fff;cursor:pointer}
#ems-showcase .ems-film-controls button img {width:19px;height:19px;filter:brightness(0) invert(1)}
#ems-showcase .ems-film-seek {appearance:none;-webkit-appearance:none;height:7px;min-width:0;flex:1;cursor:pointer;border:0;border-radius:20px;background:linear-gradient(to right,#ffca27 var(--ems-progress,0%),rgba(255,255,255,.4) var(--ems-progress,0%));touch-action:pan-x}
#ems-showcase .ems-film-seek::-webkit-slider-thumb {appearance:none;-webkit-appearance:none;width:17px;height:17px;border-radius:50%;background:#ffca27;border:2px solid #fff;box-shadow:0 0 0 3px rgba(0,0,0,.15)}
#ems-showcase .ems-film-seek::-moz-range-thumb {width:14px;height:14px;border-radius:50%;background:#ffca27;border:2px solid #fff}
#ems-showcase .ems-film-time {font-size:11px;color:#fff;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
#ems-showcase .ems-film-cover {pointer-events:none}
#ems-showcase .ems-film-cover button {pointer-events:auto}
#ems-showcase .ems-film-frame:not(.ems-film-is-playing) .ems-film-cover {opacity:1;visibility:visible}
#ems-showcase .ems-film-watermark {pointer-events:none}
#ems-showcase .ems-film-topline span:first-child {color:#ffca27}
#ems-showcase .ems-film-copy,#ems-showcase .ems-film-right {opacity:1;transform:none}
#ems-about-us p.lead strong {font-weight:800;color:#10253f}
@media(max-width:540px) {#ems-showcase .ems-film-controls {gap:9px;padding:14px 10px 9px} #ems-showcase .ems-film-controls button {width:34px;height:34px;flex-basis:34px} #ems-showcase .ems-film-time {font-size:10px}}
@media(prefers-reduced-motion:reduce){#ems-showcase .ems-film-controls {transition:none}}
