.service-contents {
  margin-bottom: 24px;
}

.services-hero-grid {
  align-items: start;
}

.service-when {
  margin: 26px 0;
  padding: 20px 22px;
  border-left: 3px solid #ff7548;
  background: #edf3f7;
}

.service-when strong {
  display: block;
  margin-bottom: 10px;
  font-size: 14px;
}

.service-when ul {
  margin: 0;
  padding-left: 18px;
}

.service-when li {
  margin: 6px 0;
  font-size: 14px;
}

.service-card {
  min-height: 560px;
}

.service-visual {
  position: relative;
  overflow: hidden;
}

.service-visual img {
  object-fit: cover;
}

#gaussian-splatting .service-visual {
  background: #12212a;
}

#gaussian-splatting .service-visual img {
  object-fit: cover;
  object-position: 40% center;
}

.service-visual-360::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(7, 24, 39, .48));
  pointer-events: none;
}

.view-360-badge {
  position: absolute;
  z-index: 2;
  right: 24px;
  bottom: 24px;
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 0 8px;
  min-width: 128px;
  padding: 12px 16px;
  border-radius: 999px;
  background: #fff;
  color: #102b41;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(7, 24, 39, .3);
}

.view-360-badge span {
  grid-row: 1 / 3;
  color: #ff7548;
  font-size: 29px;
  line-height: 1;
}

.view-360-badge strong { font-size: 17px; line-height: 1; }
.view-360-badge small { font-size: 10px; font-weight: 800; }
.view-360-badge:hover { transform: translateY(-2px); }

.service-visual-3d{position:relative}.media-type-badge{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#c8f36b;color:#17342e;border:2px solid #f4ffd9;font-weight:900;letter-spacing:.06em;box-shadow:0 8px 22px #4f6d2538}

/* Match the homepage contact section dimensions and form treatment. */
.subpage-contact{padding:95px 0;background:#fa784a;color:#172a24}
.subpage-contact>.shell{width:min(1240px,92%)}
.subpage-contact-grid{grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.subpage-contact h2{font-size:clamp(38px,4vw,57px);line-height:1.06;letter-spacing:-3px;margin:10px 0}
.subpage-contact> .shell>div>p:not(.eyebrow){max-width:550px}
.subpage-contact form{background:#fff;border-radius:15px;padding:30px;gap:15px}
.subpage-contact label{font-size:11px}
.subpage-contact input,.subpage-contact textarea{margin-top:6px;border:1px solid #d7ddd7;border-radius:7px;padding:12px}
.subpage-contact textarea{height:95px;min-height:95px}
.subpage-contact small{color:#69756f}
@media(max-width:900px){.subpage-contact-grid{grid-template-columns:1fr}}
@media(max-width:620px){.subpage-contact{padding:70px 0}.subpage-contact form{padding:20px}}
#gaussian-splatting{grid-template-columns:1fr}#gaussian-splatting .service-copy{max-width:820px}#gaussian-splatting .service-visual{min-height:0;aspect-ratio:16/8}#gaussian-splatting .service-visual img{object-fit:cover;object-position:center}

.gaussian-examples{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gaussian-examples .service-visual{aspect-ratio:16/10!important;border-radius:16px;background:#12212a}
.gaussian-examples figcaption{position:absolute;left:16px;top:16px;z-index:3;padding:7px 10px;border-radius:999px;background:rgba(7,24,39,.82);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em}
.gaussian-demo-trigger{position:absolute;left:22px;bottom:20px;z-index:2;display:flex;align-items:center;gap:11px;padding:7px 14px 7px 7px;border:0;border-radius:999px;background:linear-gradient(90deg,rgba(20,31,36,.44),rgba(20,31,36,.14));color:#fff;cursor:pointer;text-align:left;text-shadow:0 2px 10px rgba(7,24,39,.7);backdrop-filter:blur(2px)}
.gaussian-demo-trigger i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fa784a;color:#102b27;font-style:normal;font-size:22px;font-weight:900;box-shadow:0 7px 18px rgba(7,24,39,.28);transition:transform .2s ease}
.gaussian-demo-trigger span,.gaussian-demo-trigger strong,.gaussian-demo-trigger small{display:block}.gaussian-demo-trigger strong{font-size:15px}.gaussian-demo-trigger small{margin-top:2px;font-size:11px;font-weight:700;color:#fff}
.gaussian-demo-trigger:hover i{transform:translateX(3px)}
.splat-modal{width:min(1180px,94vw);max-width:none;height:min(860px,92vh);max-height:none;padding:0;border:0;border-radius:18px;background:#fff;box-shadow:0 30px 90px rgba(5,20,31,.42);overflow:hidden}
.splat-modal::backdrop{background:rgba(7,24,39,.78);backdrop-filter:blur(4px)}
.splat-modal-frame{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%}
.splat-modal-frame::before{content:"";position:absolute;left:0;top:0;z-index:2;width:96px;height:82px;cursor:default}
.splat-modal iframe{width:100%;height:100%;border:0;background:#12212a}
.splat-modal-close{position:absolute;right:16px;top:16px;z-index:3;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#102b27;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 6px 20px rgba(7,24,39,.22)}
.splat-modal-guide{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 22px;background:#fff;color:#102b27;border-top:1px solid #d8e1df}
.splat-modal-guide strong,.splat-modal-guide span{display:block}.splat-modal-guide strong{font-size:15px}.splat-modal-guide span{margin-top:3px;font-size:12px;color:#526963}
.splat-modal-guide button{flex:none;border:0;border-radius:999px;padding:12px 17px;background:#fa784a;color:#102b27;font-weight:900;cursor:pointer}
.splat-modal:fullscreen{width:100vw;height:100vh;border-radius:0}.splat-modal:fullscreen .splat-modal-frame{height:100vh}
.splat-modal.is-expanded{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}
.splat-modal.is-expanded .splat-modal-frame{height:100vh}
@media(max-width:800px){.gaussian-examples{grid-template-columns:1fr}.gaussian-examples .service-visual{aspect-ratio:16/11!important}}
@media(max-width:620px){.splat-modal{width:100vw;height:100vh;border-radius:0}.splat-modal-guide{align-items:flex-start;flex-direction:column;gap:10px}.splat-modal-guide button{width:100%}}
