/* Past Projects gallery: V.S.Build Construction Inc. */
#past-projects-wrap{--pp-blue:#0152a5;--pp-blue-deep:#013b78;--pp-yellow:#ffe86c;--pp-ink:#333}
#past-projects-wrap > .inner{flex-direction:column;flex-wrap:nowrap;align-items:stretch}
#past-projects-wrap > .inner > *{flex:0 0 auto;width:100%}
#past-projects .pp-intro{max-width:36rem;margin:.75rem auto 0;text-align:center;color:var(--pp-ink)}
#past-projects .pp-tabs{display:flex;justify-content:center;margin:2rem auto 2.25rem;border:2px solid var(--pp-blue);width:max-content;max-width:100%;align-self:center}
#past-projects .pp-tab{appearance:none;background:transparent;border:0;margin:0;cursor:pointer;font:600 1rem/1 "Open Sans",sans-serif;color:var(--pp-blue);padding:.85rem 1.6rem;position:relative}
#past-projects .pp-tab + .pp-tab{border-left:2px solid var(--pp-blue)}
#past-projects .pp-tab[aria-selected="true"]{background:var(--pp-blue);color:#fff}
#past-projects .pp-tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--pp-yellow)}
#past-projects .pp-tab:focus-visible{outline:3px solid var(--pp-yellow);outline-offset:3px;box-shadow:0 0 0 6px var(--pp-blue)}
#past-projects .pp-panel:focus-visible{outline:2px dashed var(--pp-blue);outline-offset:8px}
#past-projects .pp-card{appearance:none;display:flex;flex-direction:column;width:100%;height:100%;padding:0;margin:0;border:0;background:var(--pp-blue);cursor:pointer;text-align:left;font:inherit;color:#fff}
#past-projects .pp-card-empty{cursor:default}
#past-projects .pp-photo{display:block;aspect-ratio:4/3;overflow:hidden;background:#dde4ec}
#past-projects .pp-photo img{display:block;width:100%;height:100%;object-fit:cover}
#past-projects .pp-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;color:#5b7088;font-size:.9rem}
#past-projects .pp-photo-empty svg{width:56px;height:56px;fill:none;stroke:currentColor;stroke-width:2}
#past-projects .pp-caption{display:block;padding:.6rem 1rem;border-top:3px solid var(--pp-yellow);flex:1}
#past-projects .pp-name{display:block;font-size:.95rem;font-weight:600;line-height:1.35;color:var(--pp-yellow)}
#past-projects .pp-card:focus-visible{outline:3px solid var(--pp-yellow);outline-offset:3px;box-shadow:0 0 0 6px var(--pp-blue)}
@media screen and (max-width:575px){#past-projects .pp-tab{padding:.8rem 1.1rem}}

/* Lightbox */
.pp-lightbox{padding:0;border:0;margin:0;width:100vw;height:100vh;max-width:none;max-height:none;background:transparent;color:#fff}
.pp-lightbox::backdrop{background:rgba(1,26,54,.97)}
.pp-lb-frame{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0}
.pp-lb-figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}
.pp-lb-img{display:block;width:100vw;height:calc(100vh - 3.25rem);height:calc(100dvh - 3.25rem);object-fit:contain}
.pp-lb-cap{display:flex;align-items:center;justify-content:center;column-gap:1rem;height:3.25rem;margin:0;text-align:center;padding:0 1rem}
.pp-lb-name{font-weight:600;color:#ffe86c}
.pp-lb-count{font-size:.875rem;color:rgba(255,255,255,.75)}
.pp-lightbox button{appearance:none;border:0;background:#0152a5;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.pp-lightbox button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:square}
.pp-lightbox button:hover{background:#013b78}
.pp-lightbox button:focus-visible{outline:3px solid #ffe86c;outline-offset:2px}
.pp-lb-close{position:absolute;top:1rem;right:1rem;width:48px;height:48px}
.pp-lb-nav{position:absolute;top:calc(50% - 1.6rem);transform:translateY(-50%);width:52px;height:72px;opacity:.85}
.pp-lb-nav:hover{opacity:1}
.pp-lb-prev{left:1rem}.pp-lb-next{right:1rem}
@media screen and (max-width:575px){
  .pp-lb-nav{width:40px;height:56px}
  .pp-lb-prev{left:.5rem}.pp-lb-next{right:.5rem}
  .pp-lb-close{top:.5rem;right:.5rem}
}
body.pp-noscroll{overflow:hidden}

/* Header: new wide logo, six menu items on one line */
#ed-2379538953 #ed-2379538956 img{width:298px;height:auto;display:block}
@media screen and (min-width:976px){
  #ed-2379538953 #ed-2379538968{flex:1 1 0;min-width:0}
  #ed-2379538953 #ed-2379538968 .menu-level-0 > li{margin-right:12px}
  #ed-2379538953 #ed-2379538968 .menu-level-0 > li:last-child{margin-right:0}
  #ed-2379538953 #ed-2379538968 .menu-level-0 > li > a{white-space:nowrap}
}
@media screen and (max-width:575px){#ed-2379538953 #ed-2379538956 img{width:253px}}
#ed-2379537984 img{width:200px;max-width:100%;height:auto;margin:0 auto;display:block}
/* Phone icon in the menu bar: tap to call, with a finger-sized tap area */
#ed-2379538953 #ed-2379538962 a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-10px}
#ed-2379538953 #ed-2379538962 a:focus-visible{outline:3px solid #ffe86c;outline-offset:2px}
/* Bold menu titles */
#ed-2379538953 #ed-2379538968 .menu-level-0 > li > a{font-weight:700}
/* Tighter menu: less space between titles, more breathing room next to the logo */
@media screen and (min-width:976px){
  #ed-2379538953 #ed-2379538968 .menu-level-0{justify-content:flex-end}
  #ed-2379538953 #ed-2379538968 .menu-level-0 > li{margin-right:2px}
  #ed-2379538953 #ed-2379538968 .menu-level-0 > li > a{padding-left:10px;padding-right:10px}
}
@media screen and (max-width:374px){#ed-2379538953 #ed-2379538956 img{width:236px}}
@media screen and (max-width:359px){#ed-2379538953 #ed-2379538956 img{width:210px}}
/* Even spacing: titles spread evenly between the logo and the right edge */
@media screen and (min-width:976px){
  #ed-2379538953 #ed-2379538968{margin-left:48px}
  #ed-2379538953 #ed-2379538968 .menu-level-0{display:flex;justify-content:space-between;width:100%}
  #ed-2379538953 #ed-2379538968 .menu-level-0 > li{margin:0;flex:0 0 auto}
  #ed-2379538953 #ed-2379538968 .menu-level-0 > li > a{padding-left:12px;padding-right:12px}
}

/* Carousel */
#past-projects .pp-tab-n{margin-left:.35rem;font-weight:400;opacity:.8}


#past-projects .pp-carousel{position:relative}
#past-projects .pp-track{list-style:none;margin:0;padding:0 0 4px;display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
#past-projects .pp-track::-webkit-scrollbar{display:none}
#past-projects .pp-track:focus-visible{outline:2px dashed var(--pp-blue);outline-offset:6px}
#past-projects .pp-slide{flex:0 0 calc((100% - 1.5rem)/2);min-width:0;scroll-snap-align:start}
#past-projects .pp-arrow{appearance:none;position:absolute;top:calc(50% - 22px);transform:translateY(-50%);z-index:2;width:48px;height:64px;border:0;padding:0;
  background:var(--pp-blue);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.25)}
#past-projects .pp-arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:square}
#past-projects .pp-arrow:hover{background:var(--pp-blue-deep)}
#past-projects .pp-arrow:focus-visible{outline:3px solid var(--pp-yellow);outline-offset:2px}
#past-projects .pp-arrow[disabled]{opacity:0;pointer-events:none}
#past-projects .pp-arrow-prev{left:-24px}
#past-projects .pp-arrow-next{right:-24px}
#past-projects .pp-dots{display:flex;justify-content:center;gap:8px;margin-top:1.25rem}
#past-projects .pp-dots span{width:8px;height:8px;border-radius:50%;background:#c3cfdd;transition:background-color .2s,transform .2s}
#past-projects .pp-dots span.on{background:var(--pp-blue);transform:scale(1.25)}
#past-projects .pp-status{margin:1rem 0 0;text-align:center;font-size:.875rem;color:#5b7088}
@media screen and (max-width:1060px){#past-projects .pp-arrow-prev{left:4px}#past-projects .pp-arrow-next{right:4px}}
@media screen and (max-width:575px){
  #past-projects .pp-slide{flex-basis:88%}
  #past-projects .pp-track{gap:.75rem}
  #past-projects .pp-arrow{width:40px;height:52px}
}
@media (prefers-reduced-motion:reduce){#past-projects .pp-track{scroll-behavior:auto}}

/* Title bar: one line, same height in both tabs */
#past-projects .pp-card{height:auto}
#past-projects .pp-caption{display:flex;align-items:center;flex:0 0 auto;min-height:2.6rem;padding:.55rem 1rem}
#past-projects .pp-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(.85rem,1.6vw,.95rem)}
