.elementor-4181 .elementor-element.elementor-element-6nxlv6o > .elementor-background-overlay{background-color:rgba(26,26,46,0.85);opacity:1;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-4181 .elementor-element.elementor-element-6nxlv6o > .elementor-container{min-height:65vh;}.elementor-4181 .elementor-element.elementor-element-6nxlv6o:not(.elementor-motion-effects-element-type-background), .elementor-4181 .elementor-element.elementor-element-6nxlv6o > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-size:cover;}.elementor-4181 .elementor-element.elementor-element-6nxlv6o{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 48px 48px 48px;}.elementor-bc-flex-widget .elementor-4181 .elementor-element.elementor-element-th41dke.elementor-column .elementor-widget-wrap{align-items:flex-end;}.elementor-4181 .elementor-element.elementor-element-th41dke.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-end;align-items:flex-end;}.elementor-4181 .elementor-element.elementor-element-9ez2xiy > .elementor-widget-container{margin:0px 0px 12px 0px;}.elementor-4181 .elementor-element.elementor-element-uc20tam > .elementor-widget-container{margin:0px 0px 8px 0px;}.elementor-4181 .elementor-element.elementor-element-uc20tam{text-align:start;}.elementor-4181 .elementor-element.elementor-element-uc20tam .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:44px;font-weight:400;line-height:1.12em;color:#FFFFFF;}.elementor-4181 .elementor-element.elementor-element-lepsuie > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-4181 .elementor-element.elementor-element-qlkzwxp > .elementor-container{max-width:1200px;}.elementor-4181 .elementor-element.elementor-element-qlkzwxp{padding:40px 24px 40px 24px;}.elementor-4181 .elementor-element.elementor-element-ewnvns9 > .elementor-widget-container{margin:0px 0px 4px 0px;}.elementor-4181 .elementor-element.elementor-element-ewnvns9 .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#9CA3AF;}.elementor-4181 .elementor-element.elementor-element-dsusm3c .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:15px;font-weight:600;color:#111827;}.elementor-4181 .elementor-element.elementor-element-ylmhqbx > .elementor-widget-container{margin:0px 0px 4px 0px;}.elementor-4181 .elementor-element.elementor-element-ylmhqbx .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#9CA3AF;}.elementor-4181 .elementor-element.elementor-element-cgox7tw .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:15px;font-weight:600;color:#111827;}.elementor-4181 .elementor-element.elementor-element-xicjfma > .elementor-widget-container{margin:0px 0px 4px 0px;}.elementor-4181 .elementor-element.elementor-element-xicjfma .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#9CA3AF;}.elementor-4181 .elementor-element.elementor-element-txyplae .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:15px;font-weight:600;color:#111827;}.elementor-4181 .elementor-element.elementor-element-efskkr9 > .elementor-widget-container{margin:0px 0px 4px 0px;}.elementor-4181 .elementor-element.elementor-element-efskkr9 .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#9CA3AF;}.elementor-4181 .elementor-element.elementor-element-hyycelg .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:15px;font-weight:600;color:#111827;}.elementor-4181 .elementor-element.elementor-element-u2rslpz > .elementor-container{max-width:980px;}.elementor-4181 .elementor-element.elementor-element-u2rslpz{padding:48px 24px 76px 24px;}.elementor-4181 .elementor-element.elementor-element-swspjmr > .elementor-widget-container{margin:0px 0px 18px 0px;}.elementor-4181 .elementor-element.elementor-element-swspjmr .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:30px;font-weight:400;color:#111827;}.elementor-4181 .elementor-element.elementor-element-zhgjk0h{color:#4B5563;font-family:"Plus Jakarta Sans", Sans-serif;font-size:16px;line-height:1.8em;}.elementor-4181 .elementor-element.elementor-element-8rrn1kx > .elementor-widget-container{margin:42px 0px 0px 0px;}.elementor-4181 .elementor-element.elementor-element-ge1ixkk > .elementor-widget-container{margin:44px 0px 0px 0px;}.elementor-4181 .elementor-element.elementor-element-sux5wep:not(.elementor-motion-effects-element-type-background), .elementor-4181 .elementor-element.elementor-element-sux5wep > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1A1A2E;}.elementor-4181 .elementor-element.elementor-element-sux5wep > .elementor-background-overlay{background-color:rgba(26,26,46,0.9);opacity:0.5;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-4181 .elementor-element.elementor-element-sux5wep{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 24px 80px 24px;}.elementor-4181 .elementor-element.elementor-element-rqakwfc{text-align:center;}.elementor-4181 .elementor-element.elementor-element-rqakwfc .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:42px;font-weight:400;color:#FFFFFF;}.elementor-4181 .elementor-element.elementor-element-xvkqwcu > .elementor-widget-container{margin:8px 0px 26px 0px;}.elementor-4181 .elementor-element.elementor-element-xvkqwcu{text-align:center;font-family:"Plus Jakarta Sans", Sans-serif;font-size:16px;color:rgba(255,255,255,0.58);}.elementor-4181 .elementor-element.elementor-element-le8qapo .elementor-button{background-color:#D4A574;font-family:"Plus Jakarta Sans", Sans-serif;font-size:15px;font-weight:700;fill:#1A1A2E;color:#1A1A2E;border-radius:6px 6px 6px 6px;padding:16px 34px 16px 34px;}@media(max-width:1024px) and (min-width:768px){.elementor-4181 .elementor-element.elementor-element-wprkajw{width:50%;}.elementor-4181 .elementor-element.elementor-element-kornq1h{width:50%;}.elementor-4181 .elementor-element.elementor-element-cvfmzei{width:50%;}.elementor-4181 .elementor-element.elementor-element-ibccj55{width:50%;}}@media(max-width:1024px){.elementor-4181 .elementor-element.elementor-element-6nxlv6o > .elementor-container{min-height:430px;}.elementor-4181 .elementor-element.elementor-element-6nxlv6o{padding:0px 32px 42px 32px;}.elementor-4181 .elementor-element.elementor-element-uc20tam .elementor-heading-title{font-size:38px;}}@media(max-width:767px){.elementor-4181 .elementor-element.elementor-element-6nxlv6o > .elementor-container{min-height:360px;}.elementor-4181 .elementor-element.elementor-element-6nxlv6o{padding:0px 24px 34px 24px;}.elementor-4181 .elementor-element.elementor-element-uc20tam .elementor-heading-title{font-size:30px;}.elementor-4181 .elementor-element.elementor-element-wprkajw{width:50%;}.elementor-4181 .elementor-element.elementor-element-kornq1h{width:50%;}.elementor-4181 .elementor-element.elementor-element-cvfmzei{width:50%;}.elementor-4181 .elementor-element.elementor-element-ibccj55{width:50%;}.elementor-4181 .elementor-element.elementor-element-rqakwfc .elementor-heading-title{font-size:30px;}}/* Start custom CSS */body.elementor-page-4181 em { color: #D4A574; font-style: italic; }
.ksp-project-hero .elementor-background-overlay { background: linear-gradient(145deg, rgba(26,26,46,0.78) 0%, rgba(26,26,46,0.58) 58%, rgba(45,139,117,0.28) 100%); }
.ksp-project-badge .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); border-radius: 9999px; color: rgba(255,255,255,0.82); font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: 12px; font-weight: 600; backdrop-filter: blur(10px); }
.ksp-project-badge .elementor-heading-title:before { content: ''; width: 7px; height: 7px; background: #2D8B75; border-radius: 9999px; display: inline-block; }
.ksp-project-meta { border-bottom: 1px solid #E5E7EB; }
.ksp-project-body { background: #FFFFFF; }
.ksp-project-main .elementor-widget-theme-post-content p { margin: 0 0 20px; }
.ksp-project-main .wp-block-gallery, .ksp-project-main .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 34px 0 48px; }
.ksp-project-main .wp-block-gallery figure, .ksp-project-main .gallery figure, .ksp-project-main .gallery-item { margin: 0; overflow: hidden; border-radius: 12px; background: #F3F4F6; }
.ksp-project-main .wp-block-gallery img, .ksp-project-main .gallery img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; display: block; border: 0; }
.ksp-project-main .wp-block-gallery figure:first-child, .ksp-project-main .gallery .gallery-item:first-child { grid-column: 1 / -1; }
.ksp-project-main .wp-block-gallery figure:first-child img, .ksp-project-main .gallery .gallery-item:first-child img { min-height: 380px; }
.ksp-video-section h3, .ksp-related-section h3 { font-family: 'DM Serif Display', Georgia, serif; font-size: 22px; line-height: 1.2; font-weight: 400; margin: 0 0 18px; color: #111827; }
.ksp-video-section h3 em, .ksp-related-section h3 em { color: #D4A574; font-style: italic; }
.ksp-video-embed { position: relative; overflow: hidden; border-radius: 12px; background: #1A1A2E; aspect-ratio: 16 / 9; box-shadow: 0 8px 40px rgba(0,0,0,0.1); }
.ksp-video-embed iframe, .ksp-video-embed video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ksp-video-link { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #FFFFFF; font-weight: 700; background: linear-gradient(145deg, rgba(26,26,46,0.72), rgba(45,139,117,0.38)); }
.ksp-related-projects { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ksp-related-card { position: relative; overflow: hidden; border-radius: 12px; aspect-ratio: 4 / 3; display: block; background: #F3F4F6; color: #FFFFFF; }
.ksp-related-card img, .ksp-related-placeholder { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s cubic-bezier(0.16,1,0.3,1); }
.ksp-related-card:hover img { transform: scale(1.06); }
.ksp-related-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; background: linear-gradient(to top, rgba(26,26,46,0.92) 0%, rgba(26,26,46,0.18) 58%, transparent 100%); }
.ksp-project-tag { display: inline-block; width: fit-content; padding: 3px 10px; border-radius: 9999px; background: #2D8B75; color: #FFFFFF; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
.ksp-project-name { display: block; font-family: 'DM Serif Display', Georgia, serif; font-size: 19px; line-height: 1.25; color: #FFFFFF; }
.ksp-project-location { display: block; margin-top: 4px; font-size: 12px; color: rgba(255,255,255,0.58); }
.ksp-project-cta { background-image: linear-gradient(150deg, rgba(26,26,46,0.94), rgba(26,42,56,0.88)), url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?w=1400&q=60'); background-position: center; background-size: cover; }
.ksp-project-cta .elementor-button:hover { background: #E2BF9A !important; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(212,165,116,0.35); }
@media (max-width: 767px) { .ksp-project-meta .elementor-column { width: 50%; } .ksp-related-projects, .ksp-project-main .wp-block-gallery, .ksp-project-main .gallery { grid-template-columns: 1fr; } .ksp-project-main .wp-block-gallery figure:first-child img, .ksp-project-main .gallery .gallery-item:first-child img, .ksp-project-main .wp-block-gallery img, .ksp-project-main .gallery img { min-height: 230px; } }
/* Phase 1 Step 2 correction: force Gutenberg nested galleries to match the approved Project Detail reference. */
.ksp-project-main .wp-block-gallery.has-nested-images,
.ksp-project-main .wp-block-gallery.columns-2,
.ksp-project-main figure.wp-block-gallery {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin: 34px 0 48px !important;
}
.ksp-project-main .wp-block-gallery.has-nested-images figure.wp-block-image,
.ksp-project-main .wp-block-gallery.columns-2 .wp-block-image,
.ksp-project-main .wp-block-gallery .gallery-item {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  aspect-ratio: 16 / 10 !important;
  background: #F3F4F6 !important;
}
.ksp-project-main .wp-block-gallery.has-nested-images figure.wp-block-image:first-child,
.ksp-project-main .wp-block-gallery.columns-2 .wp-block-image:first-child,
.ksp-project-main .wp-block-gallery .gallery-item:first-child {
  grid-column: 1 / -1 !important;
  aspect-ratio: 21 / 9 !important;
}
.ksp-project-main .wp-block-gallery.has-nested-images figure.wp-block-image img,
.ksp-project-main .wp-block-gallery.columns-2 .wp-block-image img,
.ksp-project-main .wp-block-gallery .gallery-item img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  display: block !important;
  border: 0 !important;
}
.ksp-project-main .wp-block-gallery.has-nested-images figure.wp-block-image a,
.ksp-project-main .wp-block-gallery.columns-2 .wp-block-image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
@media (max-width: 767px) {
  .ksp-project-main .wp-block-gallery.has-nested-images,
  .ksp-project-main .wp-block-gallery.columns-2,
  .ksp-project-main figure.wp-block-gallery {
    grid-template-columns: 1fr !important;
  }
  .ksp-project-main .wp-block-gallery.has-nested-images figure.wp-block-image:first-child,
  .ksp-project-main .wp-block-gallery.columns-2 .wp-block-image:first-child,
  .ksp-project-main .wp-block-gallery .gallery-item:first-child,
  .ksp-project-main .wp-block-gallery.has-nested-images figure.wp-block-image,
  .ksp-project-main .wp-block-gallery.columns-2 .wp-block-image,
  .ksp-project-main .wp-block-gallery .gallery-item {
    aspect-ratio: 16 / 10 !important;
  }
}
/* Phase 1 hero correction: match approved Project Detail reference header/hero. */
.ksp-project-hero {
  height: 65vh !important;
  min-height: 400px !important;
  overflow: hidden !important;
}
.ksp-project-hero > .elementor-container {
  min-height: 100% !important;
  align-items: flex-end !important;
}
.ksp-project-hero .elementor-background-overlay {
  background: linear-gradient(to top, rgba(26,26,46,0.85) 0%, rgba(26,26,46,0.1) 60%) !important;
}
.ksp-project-hero-content > .elementor-widget-wrap {
  align-content: flex-end !important;
  align-items: flex-end !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  width: 100% !important;
}
.ksp-project-badge {
  width: 100% !important;
  margin-bottom: 12px !important;
}
.ksp-project-badge .elementor-heading-title {
  display: inline-block !important;
  width: auto !important;
  padding: 3px 10px !important;
  background: #2D8B75 !important;
  border: 0 !important;
  border-radius: 9999px !important;
  color: #FFFFFF !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  backdrop-filter: none !important;
}
.ksp-project-badge .elementor-heading-title:before {
  content: none !important;
}
.ksp-project-title {
  width: 100% !important;
}
.ksp-project-title .elementor-heading-title {
  font-size: clamp(28px, 3.5vw, 44px) !important;
  line-height: 1.15 !important;
  margin: 0 0 8px !important;
}
.ksp-project-hero-subtitle {
  width: 100% !important;
  margin: 0 !important;
  color: rgba(255,255,255,0.6) !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}
@media (max-width: 767px) {
  .ksp-project-hero {
    height: auto !important;
    min-height: 360px !important;
  }
  .ksp-project-title .elementor-heading-title {
    font-size: 30px !important;
  }
}/* End custom CSS */