/* Kaizen homepage showcase v3 — approved premium direction.
   This file intentionally owns ONLY the homepage Our Expertise + Projects showcase
   and the shared modern project dialog. It is loaded after legacy styles so these
   scoped rules are the final source of truth for both responsive sections. */

:root{
  --showcase-red:#ed1c2e;
  --showcase-orange:#e45a19;
  --showcase-navy:#061a2d;
  --showcase-navy-2:#0a2943;
  --showcase-ink:#0b2238;
  --showcase-muted:#687b8c;
  --showcase-edge:max(24px,calc((100vw - 1560px)/2));
}

.home-showcase{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:none!important;
  margin:0!important;
  padding:clamp(72px,6.2vw,108px) var(--showcase-edge)!important;
  overflow:hidden;
}
.home-showcase::before,.home-showcase::after{content:"";position:absolute;pointer-events:none;z-index:-1}
.home-showcase--services{
  color:#fff;
  background:
    radial-gradient(circle at 83% 16%,rgba(237,28,46,.09),transparent 28%),
    radial-gradient(circle at 12% 82%,rgba(36,104,151,.15),transparent 34%),
    linear-gradient(135deg,#041522 0%,#071d31 52%,#08243c 100%)!important;
}
.home-showcase--services::before{
  width:520px;height:520px;right:-230px;top:-250px;border:1px solid rgba(255,255,255,.06);border-radius:50%;
  box-shadow:0 0 0 60px rgba(255,255,255,.015),0 0 0 120px rgba(255,255,255,.012)
}
.home-showcase--services::after{
  width:380px;height:220px;left:-120px;bottom:-110px;
  background:linear-gradient(120deg,transparent,rgba(237,28,46,.05));transform:skewX(-24deg)
}
.home-showcase--projects{
  color:var(--showcase-ink);
  background:
    radial-gradient(circle at 3% 0%,rgba(237,28,46,.04),transparent 23%),
    radial-gradient(circle at 96% 92%,rgba(10,41,67,.045),transparent 30%),
    #fff!important;
}
.home-showcase--projects::before{
  width:520px;height:520px;right:-260px;bottom:-330px;border:1px solid rgba(7,26,45,.04);border-radius:50%;
  box-shadow:0 0 0 70px rgba(7,26,45,.012),0 0 0 140px rgba(7,26,45,.008)
}

/* Headings */
.home-showcase .home-showcase__heading{
  position:relative;
  z-index:3;
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr);
  align-items:end!important;
  gap:clamp(48px,6vw,108px)!important;
  width:100%;
  max-width:none!important;
  margin:0 0 clamp(30px,3vw,48px)!important;
}
.home-showcase__heading .eyebrow{
  margin:0 0 13px;
  color:var(--showcase-red)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:3.1px!important;
  text-transform:uppercase
}
.home-showcase--services .home-showcase__heading h2,
.home-showcase--projects .home-showcase__heading h2{
  max-width:none!important;
  margin:0!important;
  font-size:clamp(42px,3.7vw,66px)!important;
  line-height:1.01!important;
  letter-spacing:-2.5px!important;
  font-weight:850!important;
}
.home-showcase--services .home-showcase__heading h2{color:#fff!important}
.home-showcase--services .home-showcase__heading>p{
  max-width:560px!important;
  margin:0 0 6px!important;
  color:#c1ccd5!important;
  font-size:15px!important;
  line-height:1.72!important
}
.home-showcase--projects .home-showcase__heading{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end!important;
}
.home-showcase--projects .home-showcase__heading h2{color:var(--showcase-ink)!important;font-size:clamp(40px,3.2vw,58px)!important}
.home-showcase__project-actions{display:flex!important;flex-direction:column;align-items:flex-end;gap:18px}
.home-showcase__all{
  display:inline-flex!important;align-items:center;justify-content:center;gap:9px;
  min-height:46px;padding:0 20px!important;margin:0!important;
  border:1px solid #e1e7eb!important;border-radius:999px!important;
  color:var(--showcase-red)!important;background:#fff!important;
  font-size:12px!important;font-weight:900!important;box-shadow:0 10px 28px rgba(7,26,45,.08);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease
}
.home-showcase__all span{transition:transform .25s ease}
.home-showcase__all:hover,.home-showcase__all:focus-visible{transform:translateY(-2px);border-color:rgba(237,28,46,.3)!important;box-shadow:0 15px 34px rgba(7,26,45,.12)}
.home-showcase__all:hover span,.home-showcase__all:focus-visible span{transform:translateX(3px)}

/* Carousel primitives — scoped so legacy homepage CSS cannot resize or animate the tracks. */
.home-showcase__carousel{position:relative;z-index:2;width:100%;max-width:none!important;overflow:visible!important}
.home-showcase .home-service-carousel,
.home-showcase .home-project-carousel{
  position:relative;
  width:100%!important;
  max-width:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:10px 2px 24px!important;
  margin:0!important;
  scroll-snap-type:x proximity!important;
  scroll-padding-inline:2px;
  overscroll-behavior-inline:contain;
  touch-action:pan-x pan-y;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  mask-image:none!important;
  -webkit-mask-image:none!important;
  cursor:grab;
}
.home-showcase .home-service-carousel:active,
.home-showcase .home-project-carousel:active{cursor:grabbing}
.home-showcase .home-service-carousel::-webkit-scrollbar,
.home-showcase .home-project-carousel::-webkit-scrollbar{display:none}
.home-showcase .home-service-track,
.home-showcase .home-project-track{
  display:flex!important;
  align-items:stretch!important;
  width:max-content!important;
  min-width:100%!important;
  gap:18px!important;
  padding:0!important;
  margin:0!important;
  animation:none!important;
  transform:none!important;
  will-change:auto!important;
}
.home-showcase [data-carousel-item]{scroll-snap-align:start!important;scroll-snap-stop:normal!important;user-select:none;-webkit-user-select:none}
.home-showcase [data-carousel-item] img{-webkit-user-drag:none;user-select:none;pointer-events:none}

/* Carousel controls */
.home-showcase .home-showcase__controls{
  display:flex!important;
  align-items:center;
  justify-content:flex-end!important;
  gap:9px!important;
  margin:0!important;
  color:inherit;
}
.home-showcase--services .home-showcase__carousel>.home-showcase__controls{
  position:absolute!important;
  right:0!important;
  top:-36px!important;
  z-index:6;
}
.home-showcase__project-actions .home-showcase__controls{position:static!important;transform:none!important}
.home-showcase .home-showcase__controls button{
  display:grid!important;place-items:center!important;
  width:46px!important;height:46px!important;padding:0!important;
  border:1px solid rgba(255,255,255,.22)!important;border-radius:50%!important;
  color:#fff!important;background:rgba(255,255,255,.055)!important;
  box-shadow:none!important;font-size:20px!important;line-height:1!important;cursor:pointer!important;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease
}
.home-showcase--projects .home-showcase__controls button{
  color:var(--showcase-ink)!important;background:#fff!important;border-color:#dde4e9!important;
  box-shadow:0 8px 22px rgba(7,26,45,.08)!important
}
.home-showcase .home-showcase__controls button:hover,
.home-showcase .home-showcase__controls button:focus-visible{
  transform:translateY(-2px);background:var(--showcase-red)!important;border-color:var(--showcase-red)!important;color:#fff!important;
  box-shadow:0 11px 28px rgba(237,28,46,.23)!important;outline:none
}

/* Service cards */
.home-service-card{
  position:relative!important;
  isolation:isolate;
  display:flex!important;
  align-items:stretch!important;
  flex:0 0 286px!important;
  width:286px!important;
  min-width:286px!important;
  height:356px!important;
  min-height:356px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:18px!important;
  color:#fff!important;
  background:#0a2238!important;
  text-decoration:none!important;
  box-shadow:0 22px 46px rgba(0,0,0,.22)!important;
  transform:translateZ(0);
  transition:transform .32s cubic-bezier(.2,.75,.25,1),border-color .32s ease,box-shadow .32s ease!important
}
.home-service-card::before{
  content:"";position:absolute;z-index:3;left:22px;bottom:18px;width:34px;height:3px;border-radius:5px;
  background:var(--showcase-red);transition:width .3s ease
}
.home-service-card::after{
  content:"";position:absolute;z-index:2;inset:-55% auto -55% -45%;width:38%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
  transform:skewX(-18deg) translateX(-170%);transition:transform .75s ease
}
.home-service-card .service-image-card__media{
  position:absolute!important;z-index:-3!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;filter:saturate(.96) contrast(1.02);
  transform:scale(1.015);transition:transform .72s cubic-bezier(.2,.75,.25,1),filter .4s ease!important
}
.home-service-card .service-image-card__shade{
  position:absolute!important;z-index:-2!important;inset:0!important;
  background:
    linear-gradient(180deg,rgba(4,16,28,.06) 0%,rgba(4,16,28,.16) 28%,rgba(4,16,28,.78) 68%,rgba(4,16,28,.98) 100%),
    linear-gradient(110deg,rgba(4,16,28,.2),transparent 54%)!important;
  transition:background .35s ease!important
}
.home-service-card__icon{
  position:absolute!important;z-index:4;left:22px!important;top:112px!important;
  display:grid!important;place-items:center!important;
  width:48px!important;height:48px!important;padding:0!important;
  border:1px solid rgba(255,255,255,.18)!important;border-radius:13px!important;
  background:linear-gradient(135deg,#f1283a,#d91225)!important;
  box-shadow:0 13px 30px rgba(237,28,46,.28)!important;
  transition:transform .3s ease,box-shadow .3s ease!important
}
.home-service-card__icon img{width:24px!important;height:24px!important;object-fit:contain!important;filter:brightness(0) invert(1)!important}
.home-service-card .service-image-card__content{
  position:relative!important;z-index:4!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  width:100%!important;height:100%!important;min-height:0!important;
  padding:174px 22px 32px!important;gap:10px!important;
  background:none!important;transform:none!important;transition:transform .3s ease!important
}
.home-service-card .service-image-card__content b{
  display:block!important;margin:0!important;color:#fff!important;
  font-size:20px!important;font-weight:850!important;line-height:1.18!important;letter-spacing:-.35px!important;
  text-shadow:0 2px 14px rgba(0,0,0,.45)
}
.home-service-card .service-image-card__content small{
  display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  margin:0!important;color:#d5dee5!important;font-size:11.5px!important;line-height:1.55!important;font-weight:500!important
}
.home-service-card .service-image-card__content em{
  display:inline-flex!important;align-items:center!important;gap:9px!important;
  margin:auto 0 0!important;padding:0!important;color:#fff!important;background:none!important;
  font-size:12px!important;font-style:normal!important;font-weight:900!important;letter-spacing:.01em!important;
  border:0!important;border-radius:0!important
}
.home-service-card .service-image-card__content em i{color:#fff!important;font-style:normal!important;transition:transform .25s ease!important}
.home-service-card:focus-visible{outline:3px solid #fff!important;outline-offset:4px!important}
.home-showcase__progress{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;height:14px;margin:0!important}
.home-showcase__progress i{display:block;width:24px;height:3px;border-radius:5px;background:rgba(255,255,255,.38);transition:width .25s ease,background .25s ease}
.home-showcase__progress i.active{width:34px;background:var(--showcase-red)}

/* Project cards */
.home-showcase--projects .home-project-card{
  position:relative!important;
  isolation:isolate;
  display:block!important;
  flex:0 0 354px!important;
  width:354px!important;
  min-width:354px!important;
  height:378px!important;
  min-height:378px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #dfe6eb!important;
  border-radius:18px!important;
  background:#0a2238!important;
  box-shadow:0 18px 40px rgba(7,26,45,.11)!important;
  text-align:left!important;
  cursor:pointer!important;
  appearance:none!important;-webkit-appearance:none!important;
  transform:translateZ(0);
  transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease,border-color .32s ease!important
}
.home-showcase--projects .home-project-card::before{
  content:"";position:absolute;z-index:5;left:24px;bottom:17px;width:38px;height:3px;border-radius:4px;background:var(--showcase-red);transition:width .3s ease
}
.home-project-card__media{
  position:absolute!important;z-index:-3!important;inset:0!important;
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;object-position:center!important;
  transform:scale(1.01);filter:saturate(.98) contrast(1.015);
  transition:transform .72s cubic-bezier(.2,.75,.25,1),filter .4s ease!important
}
.home-project-card__overlay{
  position:absolute!important;z-index:-2!important;inset:0!important;
  background:
    linear-gradient(180deg,rgba(4,15,27,.02) 0%,rgba(4,15,27,.10) 38%,rgba(4,15,27,.76) 70%,rgba(4,15,27,.98) 100%),
    linear-gradient(120deg,transparent 42%,rgba(3,14,25,.12) 100%)!important
}
.home-project-card__content{
  position:relative!important;z-index:4!important;
  display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;grid-template-rows:auto auto!important;
  align-items:end!important;column-gap:14px!important;row-gap:11px!important;
  width:100%!important;height:100%!important;min-height:0!important;
  padding:0 24px 32px!important;margin:0!important;background:none!important;
  transform:none!important;transition:transform .3s ease!important
}
.home-project-card__logo{
  grid-column:1!important;grid-row:1!important;align-self:end!important;
  display:grid!important;place-items:center!important;
  width:54px!important;height:48px!important;padding:7px!important;margin:0!important;
  border:1px solid rgba(255,255,255,.76)!important;border-radius:10px!important;background:#fff!important;
  box-shadow:0 8px 24px rgba(0,0,0,.19)!important
}
.home-project-card__logo img{width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;filter:none!important}
.home-project-card__copy{
  grid-column:2!important;grid-row:1!important;align-self:end!important;
  display:block!important;min-width:0!important;padding:0!important;margin:0!important;background:none!important
}
.home-project-card__copy b{
  display:block!important;margin:0 0 3px!important;color:#fff!important;
  font-size:18px!important;font-weight:850!important;line-height:1.18!important;letter-spacing:-.25px!important;
  text-shadow:0 2px 13px rgba(0,0,0,.4)
}
.home-project-card__copy small{display:block!important;color:#d6dee5!important;font-size:11px!important;line-height:1.35!important;font-weight:550!important}
.home-project-card__action{
  grid-column:1 / -1!important;grid-row:2!important;
  display:inline-flex!important;align-items:center!important;gap:9px!important;justify-self:start!important;
  margin:0!important;padding:0!important;color:#fff!important;background:none!important;
  font-size:12px!important;font-weight:900!important;line-height:1.2!important
}
.home-project-card__action i{font-style:normal!important;transition:transform .25s ease!important}
.home-showcase--projects .home-project-card:focus-visible{outline:3px solid var(--showcase-red)!important;outline-offset:4px!important}

@media(hover:hover) and (pointer:fine){
  .home-service-card:hover,.home-service-card:focus-visible{transform:translateY(-7px)!important;border-color:rgba(237,28,46,.72)!important;box-shadow:0 28px 60px rgba(0,0,0,.31)!important}
  .home-service-card:hover::before,.home-service-card:focus-visible::before{width:68px}
  .home-service-card:hover::after,.home-service-card:focus-visible::after{transform:skewX(-18deg) translateX(430%)}
  .home-service-card:hover .service-image-card__media,.home-service-card:focus-visible .service-image-card__media{transform:scale(1.09);filter:saturate(1.08) contrast(1.04)}
  .home-service-card:hover .home-service-card__icon,.home-service-card:focus-visible .home-service-card__icon{transform:translateY(-4px) rotate(-2deg);box-shadow:0 17px 34px rgba(237,28,46,.38)!important}
  .home-service-card:hover .service-image-card__content,.home-service-card:focus-visible .service-image-card__content{transform:translateY(-3px)!important}
  .home-service-card:hover .service-image-card__content em i,.home-service-card:focus-visible .service-image-card__content em i{transform:translateX(4px)}

  .home-showcase--projects .home-project-card:hover,.home-showcase--projects .home-project-card:focus-visible{transform:translateY(-7px)!important;border-color:rgba(237,28,46,.32)!important;box-shadow:0 28px 58px rgba(7,26,45,.17)!important}
  .home-showcase--projects .home-project-card:hover::before,.home-showcase--projects .home-project-card:focus-visible::before{width:72px}
  .home-showcase--projects .home-project-card:hover .home-project-card__media,.home-showcase--projects .home-project-card:focus-visible .home-project-card__media{transform:scale(1.085);filter:saturate(1.08) contrast(1.035)}
  .home-showcase--projects .home-project-card:hover .home-project-card__content,.home-showcase--projects .home-project-card:focus-visible .home-project-card__content{transform:translateY(-3px)!important}
  .home-showcase--projects .home-project-card:hover .home-project-card__action i,.home-showcase--projects .home-project-card:focus-visible .home-project-card__action i{transform:translateX(4px)}
}

/* Large desktop: approved mockup shows ~5 service cards and ~4 project cards. */
@media(min-width:1600px){
  .home-service-card{flex-basis:286px!important;width:286px!important;min-width:286px!important}
  .home-showcase--projects .home-project-card{flex-basis:354px!important;width:354px!important;min-width:354px!important}
}

/* Standard desktop / laptop */
@media(max-width:1599px) and (min-width:1200px){
  :root{--showcase-edge:max(28px,calc((100vw - 1420px)/2))}
  .home-service-card{flex-basis:278px!important;width:278px!important;min-width:278px!important;height:346px!important;min-height:346px!important}
  .home-service-card .service-image-card__content{padding-top:164px!important}
  .home-service-card__icon{top:104px!important}
  .home-showcase--projects .home-project-card{flex-basis:330px!important;width:330px!important;min-width:330px!important;height:360px!important;min-height:360px!important}
}

/* Small laptop / tablet landscape */
@media(max-width:1199px){
  :root{--showcase-edge:24px}
  .home-showcase--services .home-showcase__carousel>.home-showcase__controls{position:static!important;justify-content:flex-end!important;margin:0 0 10px!important}
  .home-showcase{padding-top:72px!important;padding-bottom:72px!important}
  .home-showcase .home-showcase__heading{grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:38px!important;margin-bottom:30px!important}
  .home-showcase--services .home-showcase__heading h2{font-size:clamp(42px,5vw,56px)!important}
  .home-service-card{flex-basis:310px!important;width:310px!important;min-width:310px!important;height:352px!important;min-height:352px!important}
  .home-showcase--projects .home-project-card{flex-basis:320px!important;width:320px!important;min-width:320px!important;height:352px!important;min-height:352px!important}
}

/* Tablet portrait and compact landscape */
@media(max-width:900px){
  :root{--showcase-edge:22px}
  .home-showcase{padding-top:62px!important;padding-bottom:64px!important}
  .home-showcase .home-showcase__heading{display:block!important;margin-bottom:24px!important}
  .home-showcase--services .home-showcase__heading>p{max-width:650px!important;margin-top:17px!important;font-size:14px!important}
  .home-showcase--projects .home-showcase__heading{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:22px!important}
  .home-showcase--projects .home-showcase__heading>div:first-child{min-width:0}
  .home-showcase__project-actions{flex:0 0 auto;gap:10px}
  .home-showcase--services .home-showcase__carousel>.home-showcase__controls{position:static!important;justify-content:flex-end!important;margin:0 0 10px!important}
  .home-showcase .home-service-carousel,.home-showcase .home-project-carousel{padding-top:6px!important;padding-bottom:20px!important;scroll-snap-type:x mandatory!important}
  .home-showcase .home-service-track,.home-showcase .home-project-track{gap:14px!important}
  .home-service-card{flex-basis:min(42vw,320px)!important;width:min(42vw,320px)!important;min-width:min(42vw,320px)!important;height:340px!important;min-height:340px!important}
  .home-service-card__icon{top:99px!important}
  .home-service-card .service-image-card__content{padding-top:158px!important}
  .home-showcase--projects .home-project-card{flex-basis:min(44vw,330px)!important;width:min(44vw,330px)!important;min-width:min(44vw,330px)!important;height:340px!important;min-height:340px!important}
}

/* Small tablet / large phone */
@media(max-width:700px) and (min-width:621px){
  .home-showcase--projects .home-showcase__heading{display:block!important}
  .home-showcase__project-actions{align-items:flex-start;margin-top:18px;gap:11px}
  .home-service-card{flex-basis:min(82vw,306px)!important;width:min(82vw,306px)!important;min-width:min(82vw,306px)!important}
  .home-showcase--projects .home-project-card{flex-basis:min(82vw,312px)!important;width:min(82vw,312px)!important;min-width:min(82vw,312px)!important}
}

/* Mobile */
@media(max-width:620px){
  :root{--showcase-edge:18px}
  .home-showcase{padding-top:52px!important;padding-bottom:54px!important}
  .home-showcase--services .home-showcase__heading h2{font-size:38px!important;line-height:1.04!important;letter-spacing:-1.5px!important}
  .home-showcase--projects .home-showcase__heading{display:block!important}
  .home-showcase--projects .home-showcase__heading h2{font-size:36px!important;line-height:1.04!important;letter-spacing:-1.35px!important}
  .home-showcase__project-actions{align-items:flex-start;margin-top:18px;gap:11px}
  .home-showcase__all{min-height:42px;padding:0 16px!important}
  .home-showcase .home-showcase__controls button{width:42px!important;height:42px!important}
  .home-showcase .home-service-track,.home-showcase .home-project-track{gap:12px!important}
  .home-service-card{flex-basis:min(82vw,306px)!important;width:min(82vw,306px)!important;min-width:min(82vw,306px)!important;height:326px!important;min-height:326px!important;border-radius:16px!important}
  .home-service-card__icon{left:19px!important;top:91px!important;width:44px!important;height:44px!important}
  .home-service-card .service-image-card__content{padding:145px 19px 30px!important}
  .home-service-card .service-image-card__content b{font-size:18px!important}
  .home-service-card .service-image-card__content small{display:none!important}
  .home-service-card::before{left:19px;bottom:17px;width:56px}
  .home-showcase--projects .home-project-card{flex-basis:min(82vw,312px)!important;width:min(82vw,312px)!important;min-width:min(82vw,312px)!important;height:326px!important;min-height:326px!important;border-radius:16px!important}
  .home-project-card__content{grid-template-columns:50px minmax(0,1fr)!important;padding:0 20px 29px!important;column-gap:12px!important}
  .home-project-card__logo{width:50px!important;height:45px!important}
  .home-project-card__copy b{font-size:17px!important}
  .home-showcase--projects .home-project-card::before{left:20px;bottom:15px;width:56px}
  .home-showcase__progress{margin-top:-2px!important}
}

@media(max-width:390px){
  .home-service-card{flex-basis:84vw!important;width:84vw!important;min-width:84vw!important}
  .home-showcase--projects .home-project-card{flex-basis:84vw!important;width:84vw!important;min-width:84vw!important}
}

/* Shared modern project popup — same component on homepage + Projects page. */
.project-dialog.project-dialog--modern{
  width:min(1040px,calc(100% - 34px));max-width:1040px;max-height:min(86vh,760px);
  padding:0;border:0;border-radius:22px;overflow:hidden;background:#fff;
  box-shadow:0 38px 110px rgba(0,0,0,.42)
}
.project-dialog.project-dialog--modern::backdrop{background:rgba(2,12,22,.80);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.project-dialog--modern[open]{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);animation:kaizenDialogIn .28s ease both}
@keyframes kaizenDialogIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.project-dialog--modern .project-dialog__close{
  position:absolute;z-index:8;right:17px;top:17px;display:grid;place-items:center;
  width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.46);border-radius:50%;
  color:#fff;background:rgba(5,22,37,.66);font-size:24px;line-height:1;cursor:pointer;
  backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);transition:transform .22s ease,background .22s ease
}
.project-dialog--modern .project-dialog__close:hover,.project-dialog--modern .project-dialog__close:focus-visible{transform:rotate(4deg) scale(1.04);background:var(--showcase-red);outline:none}
.project-dialog__visual{position:relative;min-height:510px;background:#071a2d;overflow:hidden}
.project-dialog__visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.project-dialog__visual-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,15,27,.42) 100%);pointer-events:none}
.project-dialog__body{position:relative;padding:50px 42px 42px;align-self:center}
.project-dialog__logo{display:grid;place-items:center;width:92px;height:72px;margin-bottom:23px;padding:10px;border:1px solid #e9edf0;border-radius:15px;background:#fff;box-shadow:0 12px 30px rgba(7,26,45,.10)}
.project-dialog__logo img{width:100%!important;height:100%!important;object-fit:contain!important}
.project-dialog__body .eyebrow{margin-bottom:10px;color:var(--showcase-red)}
.project-dialog__body h2{margin:0 0 10px;color:var(--showcase-ink);font-size:clamp(29px,3.1vw,43px);line-height:1.08;letter-spacing:-1.4px}
.project-dialog__meta{margin:0 0 18px;color:#66798a;font-size:13px;font-weight:750}
.project-dialog__summary{margin:0 0 28px;color:#627486;font-size:14px;line-height:1.7}
.project-dialog__actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.project-dialog__actions .button{border-radius:999px;padding:13px 20px;font-size:12px}
.project-dialog__all{color:var(--showcase-ink);font-size:12px;font-weight:850;border-bottom:1px solid rgba(7,26,45,.18)}

@media(max-width:900px){
  .project-dialog--modern[open]{grid-template-columns:1fr;overflow:auto;max-height:92vh}
  .project-dialog__visual{min-height:330px}
  .project-dialog__body{padding:32px 28px 34px}
}
@media(max-width:620px){
  .project-dialog.project-dialog--modern{width:calc(100% - 18px);max-height:94vh;border-radius:17px}
  .project-dialog__visual{min-height:250px}
  .project-dialog__body{padding:27px 20px 28px}
  .project-dialog__logo{width:78px;height:62px;margin-bottom:18px}
  .project-dialog__body h2{font-size:30px}
  .project-dialog__actions{align-items:stretch;flex-direction:column}
  .project-dialog__actions .button,.project-dialog__all{width:100%;justify-content:center;text-align:center}
  .project-dialog__all{padding:8px 0;border:0}
}

@media(prefers-reduced-motion:reduce){
  .home-service-card,.home-service-card *,
  .home-showcase--projects .home-project-card,.home-showcase--projects .home-project-card *,
  .project-dialog--modern{animation:none!important;transition:none!important}
}
