/* VSK V16 — final release polish
   Loaded after every V16 stylesheet. The goal is a consistent customer-facing layout
   from large desktop at 100% zoom through tablet and mobile. */

:root{
  --vsk-ink:#0D1824;
  --vsk-blue:#164A9C;
  --vsk-sky:#45A9E8;
  --vsk-paper:#FAFAF7;
  --vsk-stone:#F1F1EC;
  --vsk-line:#D6DCE1;
  --vsk-muted:#657789;
}

body.v8.v13.v14{overflow-x:hidden!important;background:var(--vsk-paper)!important}
body.v8.v13.v14 .shell{width:min(1720px,calc(100% - clamp(48px,5vw,96px)))!important;max-width:none!important;margin-inline:auto!important;box-sizing:border-box!important}
body.v8.v13.v14 .section-intro{max-width:none!important}
body.v8.v13.v14 .section-intro h2,body.v8.v13.v14 .depth-head h2{letter-spacing:-.045em!important}
body.v8.v13.v14 img,body.v8.v13.v14 video{max-width:100%}

/* Old static links are hidden before app.js replaces the navigation. */
body.v8.v13.v14 .desktop-nav a[href="projects.html"],
body.v8.v13.v14 .mobile-menu nav a[href="projects.html"],
body.v8.v13.v14 .footer-col a[href="projects.html"]{display:none!important}

/* HEADER — balanced at 100% desktop zoom */
body.v8.v13.v14 .site-header{
  height:96px!important;min-height:96px!important;
  padding-inline:max(32px,calc((100vw - 1720px)/2))!important;
  grid-template-columns:minmax(300px,390px) minmax(0,1fr) 204px!important;
  gap:clamp(18px,1.8vw,36px)!important;
}
body.v8.v13.v14 .subpage-main{padding-top:96px!important}
body.v8.v13.v14 .desktop-nav{gap:clamp(17px,1.45vw,30px)!important}
body.v8.v13.v14 .desktop-nav a{font-size:12.5px!important;padding:37px 0 33px!important}
body.v8.v13.v14 .desktop-nav a::after{bottom:18px!important}
body.v8.v13.v14 .header-cta{width:204px!important;min-width:204px!important;height:54px!important}
body.v8.v13.v14 .brand-copy strong{font-size:19px!important}

/* HOME HERO */
body.v8.v13.v14 .hero-blue{min-height:calc(100svh - 96px)!important}
body.v8.v13.v14 .hero-blue-layout{
  min-height:calc(100svh - 96px)!important;
  grid-template-columns:minmax(500px,680px) minmax(500px,680px)!important;
  gap:clamp(54px,5vw,110px)!important;
  justify-content:center!important;
  padding-block:clamp(42px,5vh,72px)!important;
}
body.v8.v13.v14 .hero-blue-copy{max-width:680px!important}
body.v8.v13.v14 .hero-blue-copy h1{font-size:clamp(68px,4.65vw,94px)!important;line-height:.91!important}
body.v8.v13.v14 .hero-blue-copy>p{max-width:650px!important;font-size:clamp(16px,1.05vw,19px)!important;line-height:1.62!important}
body.v8.v13.v14 .hero-actions{width:min(620px,100%)!important}
body.v8.v13.v14 .hero-engineering-board{max-width:680px!important;height:clamp(500px,58vh,625px)!important}

/* Consistent homepage section rhythm */
body.v8.v13.v14 .capabilities,
body.v8.v13.v14 .engineering-depth,
body.v8.v13.v14 .process,
body.v8.v13.v14 .about{padding-block:clamp(72px,6.5vw,112px)!important}
body.v8.v13.v14 .capabilities .section-intro{padding-top:0!important;margin-bottom:46px!important}
body.v8.v13.v14 .projects-showcase{padding-block:clamp(72px,6vw,104px)!important}
body.v8.v13.v14 .projects-showcase .section-intro{margin-bottom:38px!important}
body.v8.v13.v14 .section-intro.split{grid-template-columns:minmax(0,1.15fr) minmax(340px,.75fr)!important;gap:clamp(44px,5vw,92px)!important;align-items:end!important}
body.v8.v13.v14 .section-intro.split>p{max-width:600px!important;justify-self:end!important}

/* CAPABILITIES */
body.v8.v13.v14 .capability-layout{grid-template-columns:minmax(390px,.85fr) minmax(520px,1.15fr)!important;gap:clamp(44px,5vw,86px)!important;align-items:start!important}
body.v8.v13.v14 .capability-row{min-height:66px!important}
body.v8.v13.v14 .capability-media .media-frame{height:clamp(360px,34vw,535px)!important;max-height:none!important}
body.v8.v13.v14 .capability-media figcaption{padding-top:24px!important}

/* FEATURED ENGINEERING */
body.v8.v13.v14 .featured-case{grid-template-columns:minmax(0,1.55fr) minmax(360px,.72fr)!important;min-height:520px!important}
body.v8.v13.v14 .featured-case-media{min-height:520px!important}
body.v8.v13.v14 .featured-case-copy{min-height:520px!important;padding:clamp(34px,3.4vw,58px)!important}

/* SELECTED EXPERIENCE — use the desktop canvas instead of a narrow strip */
body.v8.v13.v14 .selected-projects-strip{padding:0 0 clamp(76px,6vw,108px)!important}
body.v8.v13.v14 .project-collection-head{padding:28px 0 20px!important}
body.v8.v13.v14 .selected-projects-strip .project-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:clamp(14px,1.2vw,22px)!important;
  width:100%!important;
}
body.v8.v13.v14 .selected-projects-strip .project-card{
  grid-column:span 4!important;
  height:clamp(270px,17vw,330px)!important;
  min-height:270px!important;
}
body.v8.v13.v14 .selected-projects-strip .project-card:nth-child(1),
body.v8.v13.v14 .selected-projects-strip .project-card:nth-child(2){grid-column:span 6!important;height:clamp(310px,20vw,390px)!important}
body.v8.v13.v14 .selected-projects-strip .project-card .project-copy{padding:22px 24px!important}
body.v8.v13.v14 .selected-projects-strip .project-card .project-copy strong{font-size:clamp(20px,1.45vw,27px)!important;line-height:1.03!important}

/* ENGINEERING DEPTH — intentionally spacious and readable */
body.v8.v13.v14 .engineering-depth{background:var(--vsk-paper)!important}
body.v8.v13.v14 .engineering-depth .depth-head{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(400px,.75fr)!important;
  gap:clamp(46px,5vw,96px)!important;
  align-items:end!important;
  padding:0!important;
  margin:0 0 34px!important;
}
body.v8.v13.v14 .engineering-depth .depth-head h2{font-size:clamp(50px,3.7vw,72px)!important;line-height:.94!important;margin-top:14px!important}
body.v8.v13.v14 .engineering-depth .depth-head>p{font-size:clamp(15px,1vw,18px)!important;line-height:1.6!important;max-width:600px!important;margin:0!important;justify-self:end!important}
body.v8.v13.v14 .engineering-depth .depth-grid{
  display:grid!important;
  grid-template-columns:minmax(0,2.4fr) minmax(350px,.8fr)!important;
  gap:clamp(18px,1.6vw,28px)!important;
  align-items:stretch!important;
  padding:0!important;background:transparent!important;border:0!important;
}
body.v8.v13.v14 .engineering-depth .metric-stack{
  height:auto!important;min-height:330px!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  background:#fff!important;border:1px solid var(--vsk-line)!important;
}
body.v8.v13.v14 .engineering-depth .metric-card{
  min-height:330px!important;height:auto!important;
  padding:clamp(26px,2.1vw,38px)!important;
  gap:26px!important;justify-content:space-between!important;
  background:#fff!important;border:0!important;border-right:1px solid var(--vsk-line)!important;
}
body.v8.v13.v14 .engineering-depth .metric-card:last-child{border-right:0!important}
body.v8.v13.v14 .engineering-depth .metric-number{font-size:clamp(62px,4.7vw,92px)!important;line-height:.83!important;margin:auto 0 0!important}
body.v8.v13.v14 .engineering-depth .metric-number span{font-size:12px!important;margin-left:8px!important}
body.v8.v13.v14 .engineering-depth .metric-card small{font-size:9px!important;letter-spacing:.12em!important}
body.v8.v13.v14 .engineering-depth .metric-card strong{font-size:clamp(15px,1.05vw,18px)!important;line-height:1.25!important;max-width:230px!important}
body.v8.v13.v14 .engineering-depth .archive-callout{
  height:auto!important;min-height:330px!important;
  margin:0!important;padding:clamp(28px,2.4vw,42px)!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  background:var(--vsk-ink)!important;border:1px solid #24384B!important;
}
body.v8.v13.v14 .archive-callout-number{font-size:clamp(66px,4.4vw,88px)!important;line-height:.84!important;margin:14px 0 16px!important}
body.v8.v13.v14 .archive-callout h3{font-size:clamp(22px,1.6vw,29px)!important;line-height:1.08!important}
body.v8.v13.v14 .archive-callout>p{font-size:14px!important;line-height:1.55!important;margin:14px 0 18px!important}
body.v8.v13.v14 .archive-callout-split{display:flex!important;gap:18px!important;flex-wrap:wrap!important;margin:0!important}
body.v8.v13.v14 .archive-callout .btn{min-height:48px!important;margin-top:22px!important;width:100%!important;font-size:10px!important}

/* RETROFIT */
body.v8.v13.v14 .retrofit{min-height:clamp(600px,68vh,790px)!important}
body.v8.v13.v14 .retrofit-inner{padding-block:clamp(72px,7vw,120px)!important;max-width:none!important}
body.v8.v13.v14 .retrofit-inner>p{max-width:650px!important;font-size:16px!important;line-height:1.65!important}

/* PROCESS / ABOUT / CONTACT */
body.v8.v13.v14 .process-line{margin-top:42px!important}
body.v8.v13.v14 .about-grid{grid-template-columns:minmax(440px,.9fr) minmax(520px,1.1fr)!important;gap:clamp(52px,6vw,106px)!important;align-items:center!important}
body.v8.v13.v14 .contact{padding-block:clamp(76px,7vw,116px)!important}
body.v8.v13.v14 .contact-grid{grid-template-columns:minmax(0,1.05fr) minmax(400px,.7fr)!important;gap:clamp(52px,7vw,120px)!important}

/* EXPERIENCE */
body.v8.v13.v14[data-page="machines"] .archive-hero{min-height:390px!important;max-height:none!important;padding:64px 0!important}
body.v8.v13.v14[data-page="machines"] .archive-hero-grid{grid-template-columns:210px minmax(0,1fr)!important;gap:48px!important}
body.v8.v13.v14[data-page="machines"] .archive-hero-number span{font-size:96px!important}
body.v8.v13.v14[data-page="machines"] .archive-hero h1{font-size:clamp(52px,3.9vw,72px)!important}
body.v8.v13.v14[data-page="machines"] .archive-hero p{font-size:16px!important;line-height:1.6!important;max-width:820px!important}
body.v8.v13.v14[data-page="machines"] .archive-browser{padding:56px 0 82px!important}
body.v8.v13.v14[data-page="machines"] .archive-toolbar{grid-template-columns:auto minmax(340px,1fr) auto!important;gap:18px!important}
body.v8.v13.v14[data-page="machines"] .archive-index-layout{grid-template-columns:minmax(0,1fr) minmax(370px,430px)!important;gap:clamp(28px,3vw,52px)!important;align-items:start!important}
body.v8.v13.v14[data-page="machines"] .archive-sticky-preview{top:124px!important}

/* GALLERY */
body.v8.v13.v14[data-page="gallery"] .gallery-hero{min-height:520px!important}
body.v8.v13.v14[data-page="gallery"] .gallery-hero-copy{padding-block:82px!important}
body.v8.v13.v14[data-page="gallery"] .gallery-browser{padding:72px 0 92px!important}
body.v8.v13.v14[data-page="gallery"] .gallery-browser-head{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr)!important;gap:clamp(48px,5vw,92px)!important;align-items:end!important}
body.v8.v13.v14[data-page="gallery"] .gallery-browser-head>p{max-width:580px!important;justify-self:end!important}

/* LARGE DESKTOP */
@media (min-width:1680px){
  body.v8.v13.v14 .site-header{grid-template-columns:minmax(340px,410px) minmax(0,1fr) 212px!important}
  body.v8.v13.v14 .hero-blue-layout{grid-template-columns:minmax(0,700px) minmax(0,700px)!important}
  body.v8.v13.v14 .hero-engineering-board{max-width:700px!important}
  body.v8.v13.v14 .selected-projects-strip .project-card{min-height:310px!important}
}

/* LAPTOP / SMALL DESKTOP */
@media (max-width:1366px){
  body.v8.v13.v14 .shell{width:calc(100% - 56px)!important}
  body.v8.v13.v14 .site-header{padding-inline:28px!important;grid-template-columns:minmax(270px,320px) minmax(0,1fr) 184px!important;gap:16px!important}
  body.v8.v13.v14 .brand-copy strong{font-size:17px!important}
  body.v8.v13.v14 .desktop-nav{gap:16px!important}
  body.v8.v13.v14 .desktop-nav a{font-size:11px!important}
  body.v8.v13.v14 .header-cta{width:184px!important;min-width:184px!important;padding-left:16px!important}
  body.v8.v13.v14 .hero-blue-layout{grid-template-columns:minmax(0,540px) minmax(0,540px)!important;gap:50px!important}
  body.v8.v13.v14 .hero-blue-copy h1{font-size:68px!important}
  body.v8.v13.v14 .hero-engineering-board{max-width:540px!important;height:520px!important}
  body.v8.v13.v14 .engineering-depth .depth-grid{grid-template-columns:minmax(0,2fr) minmax(330px,.8fr)!important}
  body.v8.v13.v14 .engineering-depth .metric-card{padding:26px 22px!important}
  body.v8.v13.v14 .engineering-depth .metric-number{font-size:64px!important}
}

/* Switch to menu before the header becomes cramped. */
@media (max-width:1180px){
  body.v8.v13.v14 .site-header{grid-template-columns:minmax(0,1fr) 190px 48px!important;padding-inline:28px!important}
  body.v8.v13.v14 .desktop-nav{display:none!important}
  body.v8.v13.v14 .menu-toggle{display:flex!important}
  body.v8.v13.v14 .hero-blue-layout{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr)!important;gap:42px!important}
  body.v8.v13.v14 .hero-blue-copy h1{font-size:clamp(58px,6vw,72px)!important}
  body.v8.v13.v14 .engineering-depth .depth-head{grid-template-columns:1fr 420px!important;gap:42px!important}
  body.v8.v13.v14 .engineering-depth .depth-grid{grid-template-columns:1fr!important}
  body.v8.v13.v14 .engineering-depth .archive-callout{min-height:0!important;display:grid!important;grid-template-columns:120px minmax(0,1fr) minmax(260px,340px)!important;gap:26px!important;align-items:center!important}
  body.v8.v13.v14 .engineering-depth .archive-callout .kicker{grid-column:1/-1!important}
  body.v8.v13.v14 .archive-callout-number{margin:0!important}
  body.v8.v13.v14 .archive-callout>p{margin:8px 0!important}
  body.v8.v13.v14 .archive-callout-split{grid-column:2!important}
  body.v8.v13.v14 .archive-callout .btn{grid-column:3!important;grid-row:2/4!important;margin:0!important;align-self:center!important}
  body.v8.v13.v14[data-page="machines"] .archive-index-layout{grid-template-columns:minmax(0,1fr) 340px!important;gap:28px!important}
}

/* TABLET */
@media (max-width:900px){
  body.v8.v13.v14 .shell{width:calc(100% - 40px)!important}
  body.v8.v13.v14 .site-header{height:84px!important;min-height:84px!important;padding-inline:20px!important;grid-template-columns:minmax(0,1fr) 48px!important}
  body.v8.v13.v14 .subpage-main{padding-top:84px!important}
  body.v8.v13.v14 .header-cta{display:none!important}
  body.v8.v13.v14 .brand-copy strong{font-size:17px!important}
  body.v8.v13.v14 .hero-blue{min-height:auto!important}
  body.v8.v13.v14 .hero-blue-layout{min-height:0!important;grid-template-columns:1fr!important;gap:44px!important;padding-block:56px 64px!important}
  body.v8.v13.v14 .hero-blue-copy{max-width:680px!important}
  body.v8.v13.v14 .hero-blue-copy h1{font-size:clamp(58px,9vw,78px)!important}
  body.v8.v13.v14 .hero-engineering-board{width:min(680px,100%)!important;max-width:none!important;height:560px!important}
  body.v8.v13.v14 .section-intro.split,body.v8.v13.v14 .engineering-depth .depth-head,body.v8.v13.v14[data-page="gallery"] .gallery-browser-head{grid-template-columns:1fr!important;gap:24px!important}
  body.v8.v13.v14 .section-intro.split>p,body.v8.v13.v14 .engineering-depth .depth-head>p,body.v8.v13.v14[data-page="gallery"] .gallery-browser-head>p{justify-self:start!important;max-width:680px!important}
  body.v8.v13.v14 .capability-layout{grid-template-columns:1fr!important;gap:34px!important}
  body.v8.v13.v14 .capability-media .media-frame{height:500px!important}
  body.v8.v13.v14 .featured-case{grid-template-columns:1fr!important;min-height:0!important}
  body.v8.v13.v14 .featured-case-media{min-height:420px!important}
  body.v8.v13.v14 .featured-case-copy{min-height:0!important}
  body.v8.v13.v14 .selected-projects-strip .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.v8.v13.v14 .selected-projects-strip .project-card,body.v8.v13.v14 .selected-projects-strip .project-card:nth-child(1),body.v8.v13.v14 .selected-projects-strip .project-card:nth-child(2){grid-column:auto!important;height:300px!important;min-height:300px!important}
  body.v8.v13.v14 .engineering-depth .metric-stack{min-height:290px!important}
  body.v8.v13.v14 .engineering-depth .metric-card{min-height:290px!important;padding:24px 20px!important}
  body.v8.v13.v14 .engineering-depth .metric-number{font-size:56px!important}
  body.v8.v13.v14 .engineering-depth .archive-callout{display:flex!important;min-height:260px!important}
  body.v8.v13.v14 .engineering-depth .archive-callout .btn{margin-top:18px!important;align-self:stretch!important}
  body.v8.v13.v14 .about-grid,body.v8.v13.v14 .contact-grid{grid-template-columns:1fr!important;gap:44px!important}
  body.v8.v13.v14[data-page="machines"] .archive-hero{padding:48px 0!important}
  body.v8.v13.v14[data-page="machines"] .archive-hero-grid{grid-template-columns:140px 1fr!important;gap:28px!important}
  body.v8.v13.v14[data-page="machines"] .archive-hero-number span{font-size:72px!important}
  body.v8.v13.v14[data-page="machines"] .archive-toolbar{grid-template-columns:1fr auto!important}
  body.v8.v13.v14[data-page="machines"] .archive-types{grid-column:1/-1!important}
  body.v8.v13.v14[data-page="machines"] .archive-index-layout{grid-template-columns:1fr!important}
  body.v8.v13.v14[data-page="machines"] .archive-sticky-preview{position:relative!important;top:auto!important}
}

/* MOBILE */
@media (max-width:640px){
  body.v8.v13.v14 .shell{width:calc(100% - 32px)!important}
  body.v8.v13.v14 .site-header{height:76px!important;min-height:76px!important;padding-inline:16px!important}
  body.v8.v13.v14 .subpage-main{padding-top:76px!important}
  body.v8.v13.v14 .brand img{width:48px!important;height:48px!important;flex-basis:48px!important}
  body.v8.v13.v14 .brand-copy strong{font-size:15px!important}
  body.v8.v13.v14 .brand-copy small{font-size:7px!important;white-space:normal!important}
  body.v8.v13.v14 .hero-blue-layout{padding-block:42px 50px!important;gap:34px!important}
  body.v8.v13.v14 .hero-blue-copy h1{font-size:clamp(48px,15vw,64px)!important;line-height:.92!important}
  body.v8.v13.v14 .hero-blue-copy>p{font-size:15px!important;line-height:1.58!important;margin-top:22px!important}
  body.v8.v13.v14 .hero-actions{grid-template-columns:1fr!important;gap:10px!important}
  body.v8.v13.v14 .hero-chips{justify-content:flex-start!important}
  body.v8.v13.v14 .hero-engineering-board{height:430px!important}
  body.v8.v13.v14 .capabilities,body.v8.v13.v14 .engineering-depth,body.v8.v13.v14 .process,body.v8.v13.v14 .about,body.v8.v13.v14 .projects-showcase{padding-block:60px!important}
  body.v8.v13.v14 .section-intro h2,body.v8.v13.v14 .engineering-depth .depth-head h2{font-size:clamp(40px,12vw,52px)!important}
  body.v8.v13.v14 .capability-media .media-frame{height:320px!important}
  body.v8.v13.v14 .featured-case-media{min-height:300px!important}
  body.v8.v13.v14 .featured-case-copy{padding:28px 22px!important}
  body.v8.v13.v14 .project-collection-head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
  body.v8.v13.v14 .selected-projects-strip .project-grid{grid-template-columns:1fr!important;gap:12px!important}
  body.v8.v13.v14 .selected-projects-strip .project-card,body.v8.v13.v14 .selected-projects-strip .project-card:nth-child(1),body.v8.v13.v14 .selected-projects-strip .project-card:nth-child(2){height:280px!important;min-height:280px!important}
  body.v8.v13.v14 .engineering-depth .depth-head{margin-bottom:26px!important}
  body.v8.v13.v14 .engineering-depth .metric-stack{grid-template-columns:1fr!important;min-height:0!important;border:0!important;background:transparent!important;gap:10px!important}
  body.v8.v13.v14 .engineering-depth .metric-card{min-height:170px!important;border:1px solid var(--vsk-line)!important;padding:22px 20px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(120px,.75fr)!important;align-items:end!important;gap:18px!important}
  body.v8.v13.v14 .engineering-depth .metric-number{font-size:58px!important;margin:0!important}
  body.v8.v13.v14 .engineering-depth .metric-card>div:last-of-type{align-self:end!important}
  body.v8.v13.v14 .engineering-depth .archive-callout{min-height:0!important;padding:28px 24px!important}
  body.v8.v13.v14 .archive-callout-number{font-size:68px!important}
  body.v8.v13.v14 .retrofit{min-height:620px!important}
  body.v8.v13.v14 .retrofit-inner{padding-block:70px!important}
  body.v8.v13.v14[data-page="machines"] .archive-hero{padding:40px 0!important}
  body.v8.v13.v14[data-page="machines"] .archive-hero-grid{grid-template-columns:1fr!important;gap:18px!important}
  body.v8.v13.v14[data-page="machines"] .archive-hero-number{border-right:0!important;border-bottom:1px solid rgba(183,215,242,.22)!important;padding:0 0 18px!important;display:flex!important;align-items:end!important;gap:14px!important}
  body.v8.v13.v14[data-page="machines"] .archive-hero-number span{font-size:64px!important}
  body.v8.v13.v14[data-page="machines"] .archive-hero h1{font-size:44px!important}
  body.v8.v13.v14[data-page="machines"] .archive-hero p{font-size:14px!important}
  body.v8.v13.v14[data-page="machines"] .archive-toolbar{grid-template-columns:1fr!important}
  body.v8.v13.v14[data-page="machines"] .archive-types,body.v8.v13.v14[data-page="machines"] .archive-search,body.v8.v13.v14[data-page="machines"] .filter-toggle{grid-column:auto!important;width:100%!important}
  body.v8.v13.v14[data-page="gallery"] .gallery-hero{min-height:460px!important}
  body.v8.v13.v14[data-page="gallery"] .gallery-hero-copy{padding-block:62px!important}
}

@media (max-width:380px){
  body.v8.v13.v14 .shell{width:calc(100% - 28px)!important}
  body.v8.v13.v14 .brand-copy strong{font-size:14px!important}
  body.v8.v13.v14 .hero-engineering-board{height:390px!important}
  body.v8.v13.v14 .engineering-depth .metric-card{grid-template-columns:1fr!important;min-height:190px!important}
}
