/* Homepage project gallery. Loaded last so legacy carousel rules cannot override it. */
.home-v2 .projects .project-showcase-viewport{
  width:100%;
  overflow:hidden;
}
.home-v2 .projects .project-grid.project-showcase-rail{
  width:100%!important;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:calc((100% - 96px)/5)!important;
  grid-template-columns:none!important;
  align-items:start!important;
  gap:24px!important;
  margin:0!important;
  padding:0 0 12px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-inline:contain;
}
.home-v2 .projects .project-grid.project-showcase-rail::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.home-v2 .projects .project-grid.project-showcase-rail.project-count-1{grid-auto-columns:100%!important}
.home-v2 .projects .project-grid.project-showcase-rail.project-count-2{grid-auto-columns:calc((100% - 16px)/2)!important}
.home-v2 .projects .project-grid.project-showcase-rail.project-count-3{grid-auto-columns:calc((100% - 32px)/3)!important}
.home-v2 .projects .project-grid.project-showcase-rail.project-count-4{grid-auto-columns:calc((100% - 48px)/4)!important}
.home-v2 .projects .project-showcase-rail>.project-card,
.home-v2 .projects .project-showcase-rail>.project-card:first-child{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  align-content:start!important;
  align-self:start!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  scroll-snap-align:start;
}
.home-v2 .projects .project-showcase-rail .project-media,
.home-v2 .projects .project-showcase-rail>.project-card:first-child .project-media{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:5/8!important;
  overflow:hidden!important;
  background:#ded9d3;
}
.home-v2 .projects .project-showcase-rail .project-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.home-v2 .projects .project-showcase-rail .project-info,
.home-v2 .projects .project-showcase-rail>.project-card:first-child .project-info{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:0!important;
  min-height:76px!important;
  padding:16px 2px 4px!important;
  border:0!important;
  border-top:2px solid transparent!important;
  background:transparent!important;
  text-align:start!important;
}
.home-v2 .projects .project-showcase-rail .project-card:hover .project-info{
  border-top-color:transparent!important;
}
.home-v2 .projects .project-showcase-rail .project-info p{
  width:100%!important;
  display:-webkit-box!important;
  margin:8px 0 0!important;
  padding:0!important;
  overflow:hidden!important;
  color:#756d68!important;
  -webkit-text-fill-color:#756d68!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.8!important;
  text-align:start!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.home-v2 .projects .project-showcase-rail .project-info>div{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  text-align:start!important;
}
.home-v2 .projects .project-showcase-rail .project-info h3{
  order:1!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:start!important;
  font-size:clamp(16px,1.15vw,20px)!important;
  line-height:1.5!important;
}
.home-v2 .projects .project-showcase-rail .project-info h3>a{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
  text-decoration:none!important;
  transition:color .2s ease!important;
}
.home-v2 .projects .project-showcase-rail .project-info h3>a:hover,
.home-v2 .projects .project-showcase-rail .project-info h3>a:focus-visible{
  color:var(--satc-gold)!important;
  -webkit-text-fill-color:var(--satc-gold)!important;
  outline:0;
}
.home-v2 .projects .project-showcase-rail .project-info small{
  order:2!important;
  width:100%!important;
  justify-content:flex-start!important;
  margin:4px 0 0!important;
  padding:0!important;
  text-align:start!important;
}
.home-v2 .projects .project-showcase-rail .project-card-index{display:none!important}
.home-v2 .projects .project-showcase-rail .project-badges{
  position:absolute!important;
  z-index:4!important;
  top:16px!important;
  right:auto!important;
  left:auto!important;
  inset-inline-start:16px!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
.home-v2 .projects .project-showcase-rail .project-badges .project-type{
  min-height:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:7px 12px!important;
  border:1px solid rgb(255 255 255 / 24%)!important;
  background:rgb(45 5 15 / 94%)!important;
  box-shadow:0 6px 18px rgb(0 0 0 / 18%)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
  opacity:1!important;
}
.home-v2 .projects .project-carousel-pagination{
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:6px;
}
.home-v2 .projects .project-carousel-pagination button{
  width:12px;
  height:24px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  transition:width .35s ease;
}
.home-v2 .projects .project-carousel-pagination button span{
  width:7px;
  height:3px;
  display:block;
  border-radius:999px;
  background:#d1cbc4;
  transition:width .35s ease,background-color .35s ease,transform .35s ease;
}
.home-v2 .projects .project-carousel-pagination button.active{width:38px}
.home-v2 .projects .project-carousel-pagination button.active span{
  width:34px;
  background:var(--satc-gold);
  transform:scaleY(1.15);
}
.home-v2 .projects .project-carousel-pagination button:focus-visible{
  outline:2px solid var(--satc-gold);
  outline-offset:2px;
}
.home-v2 .projects .project-showcase-rail .project-badges .project-status{
  min-height:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:7px 12px!important;
  border:1px solid rgb(255 255 255 / 78%)!important;
  border-inline-start:3px solid var(--project-status-color,#b58a4a)!important;
  background:rgb(255 255 255 / 94%)!important;
  box-shadow:0 6px 18px rgb(0 0 0 / 18%)!important;
  color:#211d1c!important;
  -webkit-text-fill-color:#211d1c!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
  opacity:1!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.home-v2 .projects .project-showcase-rail .project-info small{
  color:#665e59!important;
  -webkit-text-fill-color:#665e59!important;
  font-weight:600!important;
  opacity:1!important;
}
.home-v2 .projects .project-showcase-rail .project-info small:before,
.home-v2 .projects .project-showcase-rail .project-info small:after{
  background:#a67b42!important;
  color:#a67b42!important;
  opacity:1!important;
}
.home-v2 .projects .project-showcase-rail .project-info small:after{display:none!important}
.home-v2 .projects .project-showcase-rail .project-info small:before{display:none!important}
.home-v2 .projects .project-showcase-rail .project-info h3{
  color:#211d1c!important;
  -webkit-text-fill-color:#211d1c!important;
  font-weight:800!important;
  opacity:1!important;
}
.home-v2 .projects .project-showcase-rail .project-info>a{
  width:max-content!important;
  height:auto!important;
  min-height:0!important;
  display:inline-flex!important;
  align-items:center!important;
  align-self:flex-start!important;
  justify-content:flex-start!important;
  gap:9px!important;
  margin:auto 0 0!important;
  padding:10px 0 0!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#3f3431!important;
  -webkit-text-fill-color:#3f3431!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.5!important;
  opacity:1!important;
  transform:none!important;
  text-decoration:none!important;
  transition:color .25s ease,border-color .25s ease,gap .25s ease!important;
}
.home-v2 .projects .project-showcase-rail .project-info>a i{
  color:var(--satc-gold)!important;
  font-size:10px!important;
}
.home-v2 .projects .project-showcase-rail .project-info>a:hover,
.home-v2 .projects .project-showcase-rail .project-info>a:focus-visible{
  gap:13px!important;
  color:var(--satc-gold)!important;
  -webkit-text-fill-color:var(--satc-gold)!important;
}
.home-v2 .projects .projects-all{margin-top:24px!important}

@media(max-width:1200px){
  .home-v2 .projects .project-grid.project-showcase-rail,
  .home-v2 .projects .project-grid.project-showcase-rail.project-count-4{
    grid-auto-columns:calc((100% - 48px)/4)!important;
  }
}
@media(min-width:1201px){
  .home-v2 .projects .project-grid.project-showcase-rail,
  .home-v2 .projects .project-grid.project-showcase-rail[class*="project-count-"]{
    grid-auto-columns:calc((100% - 96px)/5)!important;
  }
}
@media(max-width:900px){
  .home-v2 .projects .project-grid.project-showcase-rail,
  .home-v2 .projects .project-grid.project-showcase-rail[class*="project-count-"]{
    grid-auto-columns:calc((100% - 16px)/2.25)!important;
  }
}
@media(max-width:700px){
  .home-v2 .projects .project-grid.project-showcase-rail,
  .home-v2 .projects .project-grid.project-showcase-rail[class*="project-count-"]{
    grid-auto-columns:84%!important;
    gap:12px!important;
  }
  .home-v2 .projects .project-showcase-rail .project-media,
  .home-v2 .projects .project-showcase-rail>.project-card:first-child .project-media{
    aspect-ratio:5/8!important;
  }
  .home-v2 .projects .project-showcase-rail .project-badges{
    top:12px!important;
    inset-inline-start:12px!important;
  }
  .home-v2 .projects .project-showcase-rail .project-info,
  .home-v2 .projects .project-showcase-rail>.project-card:first-child .project-info{
    min-height:76px!important;
    padding:16px 2px 4px!important;
  }
  .home-v2 .projects .project-carousel-pagination{margin-top:3px}
}
@media(max-width:420px){
  .home-v2 .projects .project-grid.project-showcase-rail,
  .home-v2 .projects .project-grid.project-showcase-rail[class*="project-count-"]{
    grid-auto-columns:88%!important;
  }
  .home-v2 .projects .project-showcase-rail .project-info h3{font-size:16px!important}
  .home-v2 .projects .project-showcase-rail .project-info>a{font-size:11px!important}
}

/* Final anatomy lock: every original and looped slide must match the first card. */
.home-v2 .projects .project-grid.project-showcase-rail>.project-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  align-content:start!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-v2 .projects .project-grid.project-showcase-rail>.project-card .project-media{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  flex:0 0 auto!important;
  display:block!important;
  aspect-ratio:5/8!important;
}
.home-v2 .projects .project-grid.project-showcase-rail>.project-card .project-info{
  position:static!important;
  width:100%!important;
  height:auto!important;
  min-height:76px!important;
  flex:0 0 auto!important;
  display:flex!important;
  padding:16px 2px 4px!important;
  border:0!important;
  background:transparent!important;
  opacity:1!important;
  visibility:visible!important;
}
