/* V16 LIGHT RESTORE — focused override only.
   Keep the current V16 structure, proportions, typography, interactions and engineering collage.
   Restore the earlier light/simple palette and remove the hero grid treatment. */
:root{
  --v16-light-ink:#0D1824;
  --v16-light-ink-2:#263646;
  --v16-light-cobalt:#164A9C;
  --v16-light-blue:#167BC4;
  --v16-light-blue-bright:#2B8DD0;
  --v16-light-ivory:#FAFAF7;
  --v16-light-stone:#F1F0EC;
  --v16-light-cool:#F4F7FA;
  --v16-light-white:#FFFFFF;
  --v16-light-muted:#66717C;
  --v16-light-line:#D5DCE2;
}

/* FIRST-PAINT GATE — real page content stays behind the boot curtain. */
@keyframes vskFirstPaintContentGate{
  0%,99%{visibility:hidden;opacity:0}
  100%{visibility:visible;opacity:1}
}
html body.v8.v13.v14[data-page="home"] > :not(script):not(style){
  animation:vskFirstPaintContentGate 1.02s steps(1,end) both!important;
}
@media(prefers-reduced-motion:reduce){
  html body.v8.v13.v14[data-page="home"] > :not(script):not(style){
    animation:none!important;
    visibility:visible!important;
    opacity:1!important;
  }
}

html{background:var(--v16-light-ivory)!important}
body.v8.v13.v14{background:var(--v16-light-ivory)!important;color:var(--v16-light-ink)!important}

/* Header — preserve V16 sizing, restore the light palette. */
body.v8.v13.v14 .site-header,
body.v8.v13.v14 .site-header.is-solid,
body.v8.v13.v14 .site-header.is-scrolled{
  background:rgba(250,250,247,.965)!important;
  color:var(--v16-light-ink)!important;
  border-bottom-color:rgba(13,24,36,.12)!important;
  box-shadow:0 10px 30px rgba(13,24,36,.045)!important;
  backdrop-filter:blur(18px) saturate(115%);
}
body.v8.v13.v14 .brand-copy strong{color:var(--v16-light-ink)!important}
body.v8.v13.v14 .brand-copy small{color:#71808D!important}
body.v8.v13.v14 .desktop-nav a{color:#526170!important}
body.v8.v13.v14 .desktop-nav a:hover,
body.v8.v13.v14 .desktop-nav a.is-current{color:var(--v16-light-ink)!important}
body.v8.v13.v14 .desktop-nav a::after{background:var(--v16-light-blue)!important}
body.v8.v13.v14 .header-cta{
  background:var(--v16-light-blue)!important;
  border-color:var(--v16-light-blue)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.v8.v13.v14 .header-cta:hover{background:var(--v16-light-cobalt)!important;border-color:var(--v16-light-cobalt)!important}
body.v8.v13.v14 .menu-toggle span{background:var(--v16-light-ink)!important}
body.v8.v13.v14 .page-progress i{background:var(--v16-light-blue)!important}

/* Hero — same layout and collage, light/simple background, no grid. */
body.v8.v13.v14 .hero.hero-blue{
  color:var(--v16-light-ink)!important;
  background:
    radial-gradient(circle at 78% 38%,rgba(22,123,196,.075),transparent 31%),
    linear-gradient(135deg,#FCFCFA 0%,#F8F9F8 48%,#EEF4F8 100%)!important;
}
body.v8.v13.v14 .hero.hero-blue::before{background:none!important;mask-image:none!important}
body.v8.v13.v14 .hero.hero-blue::after{
  left:auto!important;right:-11vw!important;bottom:-18vw!important;width:42vw!important;height:42vw!important;
  border-color:rgba(22,123,196,.07)!important;
  box-shadow:0 0 0 48px rgba(22,123,196,.018),0 0 0 96px rgba(22,123,196,.012)!important;
}
.hero-blue-grid,.hero-board-grid{display:none!important;background:none!important}
body.v8.v13.v14 .hero-blue-copy .hero-kicker{color:var(--v16-light-cobalt)!important}
body.v8.v13.v14 .hero-blue-copy .hero-kicker::before{background:var(--v16-light-blue)!important}
body.v8.v13.v14 .hero-blue-copy h1 span{color:var(--v16-light-ink)!important}
body.v8.v13.v14 .hero-blue-copy h1 em{color:var(--v16-light-blue)!important}
body.v8.v13.v14 .hero-blue-copy>p{color:#4F5F6E!important}
body.v8.v13.v14 .hero-blue-copy>p strong{color:var(--v16-light-ink)!important}
body.v8.v13.v14 .hero-blue-copy .text-cta{
  background:var(--v16-light-blue)!important;
  border-color:var(--v16-light-blue)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.v8.v13.v14 .hero-blue-copy .text-cta:hover{background:var(--v16-light-cobalt)!important;border-color:var(--v16-light-cobalt)!important}
body.v8.v13.v14 .hero-blue-copy .ghost-cta{
  color:var(--v16-light-cobalt)!important;
  border-color:#C6D3DD!important;
  background:rgba(255,255,255,.72)!important;
}
body.v8.v13.v14 .hero-blue-copy .ghost-cta:hover{color:var(--v16-light-ink)!important;border-color:#9FB7C9!important;background:#fff!important}
body.v8.v13.v14 .hero-blue-copy .hero-chips span{
  color:#657582!important;
  border-color:#D2DCE4!important;
  background:rgba(255,255,255,.72)!important;
}

/* Right-side engineering composition — same geometry, lighter and cleaner. */
.hero-engineering-board{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(237,243,247,.95))!important;
  border-color:#CFDBE4!important;
  box-shadow:0 28px 70px rgba(22,52,75,.12)!important;
}
.hero-engineering-board::before{border-color:rgba(22,123,196,.10)!important}
.hero-board-tag{
  background:#fff!important;
  color:#485D6E!important;
  border-left-color:var(--v16-light-blue)!important;
  box-shadow:0 10px 26px rgba(25,54,76,.08)!important;
}
.hero-board-tag b{color:var(--v16-light-blue)!important}
.hero-board-main{box-shadow:0 20px 48px rgba(26,56,78,.12)!important}
.hero-board-photo{background:#fff!important;border-color:#C9D7E1!important;box-shadow:0 16px 34px rgba(25,54,76,.14)!important}
.hero-board-photo::after{background:rgba(255,255,255,.92)!important;color:#27445A!important}
.hero-tech-sheet{box-shadow:0 18px 38px rgba(25,54,76,.14)!important}
.hero-proof-chip{
  background:rgba(255,255,255,.94)!important;
  border-color:#C9D7E1!important;
  box-shadow:0 12px 30px rgba(25,54,76,.10)!important;
}
.hero-proof-chip strong{color:var(--v16-light-blue)!important}
.hero-proof-chip span{color:#44596A!important}
.hero-board-side-note{color:#6F8799!important}
.hero-crosshair{border-color:rgba(22,123,196,.10)!important}
.hero-crosshair::before,.hero-crosshair::after{background:rgba(22,123,196,.14)!important}
.hero-crosshair i{border-color:rgba(22,123,196,.12)!important}

/* Restore the earlier simple light surfaces without changing section layout. */
body.v8.v13.v14 .section-light{background:var(--v16-light-ivory)!important;color:var(--v16-light-ink)!important}
body.v8.v13.v14 .section-ivory{background:var(--v16-light-stone)!important;color:var(--v16-light-ink)!important}
body.v8.v13.v14 .credibility-band{background:var(--v16-light-ivory)!important;border-color:var(--v16-light-line)!important}
body.v8.v13.v14 .capabilities{background:var(--v16-light-ivory)!important}
body.v8.v13.v14 .engineering-depth,
body.v8.v13.v14 .process,
body.v8.v13.v14 .about{background:var(--v16-light-stone)!important}
body.v8.v13.v14 .kicker{color:var(--v16-light-cobalt)!important}
body.v8.v13.v14 h2 em{color:var(--v16-light-cobalt)!important}

/* Subpage chrome follows the same light palette. */
body.v8.v13.v14[data-page="projects"],
body.v8.v13.v14[data-page="machines"],
body.v8.v13.v14[data-page="gallery"]{background:var(--v16-light-ivory)!important}
body.v8.v13.v14 .project-index,
body.v8.v13.v14 .archive-browser,
body.v8.v13.v14 .gallery-browser{background:var(--v16-light-ivory)!important}

/* =========================================================
   V16.45 — ORIGINAL SMOOTH BOOT + POSITION LOCK
   ========================================================= */

/* Preserve the original approved boot rhythm exactly. The only correction is
   that transform is no longer animated, so the brand remains centred for the
   entire sequence instead of snapping between transform coordinate systems. */
@keyframes vskSmoothBootBrand{
  0%{opacity:0;background-size:var(--vsk-boot-logo) var(--vsk-boot-logo),0 2px,calc(100% - var(--vsk-boot-offset)) 1px}
  12%{opacity:1;background-size:var(--vsk-boot-logo) var(--vsk-boot-logo),10% 2px,calc(100% - var(--vsk-boot-offset)) 1px}
  60%,78%{opacity:1;background-size:var(--vsk-boot-logo) var(--vsk-boot-logo),calc(100% - var(--vsk-boot-offset)) 2px,calc(100% - var(--vsk-boot-offset)) 1px}
  100%{opacity:0;background-size:var(--vsk-boot-logo) var(--vsk-boot-logo),calc(100% - var(--vsk-boot-offset)) 2px,calc(100% - var(--vsk-boot-offset)) 1px;visibility:hidden}
}
html body.v8.v13.v14[data-page="home"][data-page="home"]::before{
  inset:0!important;
  background:#fbfbf8!important;
  animation:vskFirstCurtain 1.72s cubic-bezier(.76,0,.24,1) both!important;
}
html body.v8.v13.v14[data-page="home"][data-page="home"]::after{
  --vsk-boot-logo:56px;
  --vsk-boot-offset:76px;
  left:clamp(26px,5vw,82px)!important;
  top:50%!important;
  width:min(650px,calc(100vw - 52px))!important;
  min-height:78px!important;
  padding:0 0 16px 76px!important;
  transform:translateY(-50%)!important;
  translate:none!important;
  background-position:left center,var(--vsk-boot-offset) 100%,var(--vsk-boot-offset) 100%!important;
  animation:vskSmoothBootBrand 1.48s cubic-bezier(.22,.72,.2,1) both!important;
}

/* Engineering Depth — vertical separators belong to the entire proof board. */
html body.v8.v13.v14[data-page="home"] main#main section.engineering-depth .metric-stack{
  align-items:stretch!important;
}
html body.v8.v13.v14[data-page="home"] main#main section.engineering-depth .metric-stack>.metric-card{
  align-self:stretch!important;
  height:100%!important;
  min-height:100%!important;
  max-height:none!important;
  margin:0!important;
}
html body.v8.v13.v14[data-page="home"] main#main section.engineering-depth .metric-stack>.metric-card:not(:last-child){
  border-right:1px solid #d7e1e7!important;
}

/* Featured Engineering — full-width dark editorial case study. */
@media(min-width:1181px){
  html body.v8.v13.v14[data-page="home"] main#main>section.projects-showcase#projects{
    position:relative!important;
    left:50%!important;
    width:100vw!important;
    max-width:100vw!important;
    margin:0 0 0 -50vw!important;
    padding:0!important;
    background:#0d1824!important;
    overflow:hidden!important;
  }
  html body.v8.v13.v14[data-page="home"] main#main>section.projects-showcase#projects>.section-intro{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:58px clamp(48px,4vw,76px) 28px!important;
  }
  html body.v8.v13.v14[data-page="home"] main#main>section.projects-showcase#projects>div.shell.featured-case{
    position:static!important;
    left:auto!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:448px!important;
    min-height:448px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 350px!important;
    gap:0!important;
    border-top:1px solid #2b4053!important;
    border-bottom:1px solid #2b4053!important;
    background:#0d1824!important;
    overflow:hidden!important;
  }
  html body.v8.v13.v14[data-page="home"] main#main>section.projects-showcase#projects .featured-case-media{
    position:relative!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    height:448px!important;
    min-height:448px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#111e2a!important;
    border:0!important;
  }
  html body.v8.v13.v14[data-page="home"] main#main>section.projects-showcase#projects .featured-case-media>img{
    content:url("media/v16/images/spm-machines-plc-hmi-and-servo-controlled/air-leak-testing-machine/20230415-191614.webp")!important;
    position:absolute!important;
    z-index:2!important;
    inset:0 auto 0 0!important;
    display:block!important;
    width:clamp(280px,22vw,340px)!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#d5dadd!important;
    border:0!important;
    border-right:1px solid #2b4053!important;
    box-shadow:none!important;
    filter:none!important;
    transform:none!important;
  }
  html body.v8.v13.v14[data-page="home"] main#main>section.projects-showcase#projects .featured-case-media::before{
    content:""!important;
    position:absolute!important;
    z-index:1!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:clamp(280px,22vw,340px)!important;
    width:auto!important;
    background-image:linear-gradient(180deg,rgba(13,24,36,.02),rgba(13,24,36,.10)),url("media/v16/images/spm-machines-plc-hmi-and-servo-controlled/air-leak-testing-machine/20230902-104222.webp")!important;
    background-size:cover!important;
    background-position:center 48%!important;
    border:0!important;
    pointer-events:none!important;
  }
  html body.v8.v13.v14[data-page="home"] main#main>section.projects-showcase#projects .featured-case-media::after{
    content:none!important;
    display:none!important;
  }
  html body.v8.v13.v14[data-page="home"] main#main>section.projects-showcase#projects .featured-case-copy{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    height:448px!important;
    min-height:448px!important;
    margin:0!important;
    padding:32px 30px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    background:#0f1e2c!important;
    border-left:1px solid #2b4053!important;
  }
  html body.v8.v13.v14[data-page="home"] main#main>section.projects-showcase#projects .featured-case-copy h3{
    margin-top:15px!important;
    font-size:clamp(30px,1.85vw,36px)!important;
    line-height:1.02!important;
  }
  html body.v8.v13.v14[data-page="home"] main#main>section.projects-showcase#projects .featured-case-copy>p{
    max-width:305px!important;
    margin-top:15px!important;
    font-size:13px!important;
    line-height:1.52!important;
  }
  html body.v8.v13.v14[data-page="home"] main#main>section.projects-showcase#projects .featured-facts{
    margin-top:18px!important;
  }
}

/* Clean hand-off into Selected Engineering: one cobalt seam, no washed-out
   gradient bridge. */
html body.v8.v13.v14[data-page="home"] main#main>section.selected-projects-strip{
  margin-top:0!important;
  padding-top:32px!important;
  border-top:3px solid #1e56aa!important;
  background:#eef3f6!important;
  box-shadow:none!important;
}
html body.v8.v13.v14[data-page="home"] main#main>section.selected-projects-strip::before,
html body.v8.v13.v14[data-page="home"] main#main>section.selected-projects-strip::after{
  content:none!important;
  display:none!important;
}
html body.v8.v13.v14[data-page="home"] main#main>section.selected-projects-strip .project-collection-head>a{
  color:#164a9c!important;
  font:500 14px/1.25 "IBM Plex Mono",monospace!important;
  letter-spacing:.025em!important;
}
html body.v8.v13.v14[data-page="home"] main#main>section.selected-projects-strip .project-collection-head>span{
  font-size:12.5px!important;
}

@media(max-width:1180px){
  html body.v8.v13.v14[data-page="home"] main#main section.engineering-depth .metric-stack>.metric-card{
    height:auto!important;
    min-height:0!important;
  }
}
@media(max-width:760px){
  body.v8.v13.v14 .site-header,
  body.v8.v13.v14 .site-header.is-solid,
  body.v8.v13.v14 .site-header.is-scrolled{background:rgba(250,250,247,.985)!important}
  html body.v8.v13.v14[data-page="home"][data-page="home"]::after{
    --vsk-boot-logo:46px;
    --vsk-boot-offset:62px;
    left:22px!important;
    width:calc(100vw - 44px)!important;
    min-height:68px!important;
    padding-left:62px!important;
    background-position:left center,var(--vsk-boot-offset) 100%,var(--vsk-boot-offset) 100%!important;
  }
}