.vfa-hero{min-height:calc(100svh - 82px);grid-template-columns:.9fr 1.1fr;gap:5vw;padding:52px 6vw;background:#d3f0d0;color:var(--ink);text-align:left}.vfa-hero>div{max-width:640px;margin:auto 0}.vfa-hero h1{font-size:clamp(72px,9.5vw,150px);line-height:.76;letter-spacing:-5px;margin:32px 0}.vfa-hero h1 em{color:#3062af}.vfa-hero .eyebrow{color:#3062af}.vfa-hero .case-intro{margin:32px 0 0;color:rgba(9,20,27,.76)}.vfa-hero figure{margin:0;align-self:stretch;min-height:460px;background:#10202c;display:flex;flex-direction:column}.vfa-hero figure img{width:100%;height:100%;min-height:0;object-fit:cover}.vfa-hero figcaption{padding:12px 14px;background:#10202c;color:rgba(247,251,255,.76);font:10px/1.45 "DM Mono",monospace;letter-spacing:.2px}.hero-meta{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:9px;margin-top:35px}.hero-meta span{border:1px solid rgba(9,20,27,.35);border-radius:99px;padding:6px 9px;font:10px "DM Mono",monospace;letter-spacing:.5px;text-transform:uppercase}.case-block{padding:120px 8vw}.case-block h2{font:normal clamp(45px,6vw,84px)/.88 "Instrument Serif",serif;letter-spacing:-3px;margin:18px 0 0}.section-label{font:500 11px "DM Mono",monospace;letter-spacing:1.1px;text-transform:uppercase;color:#3062af;margin:0}.lede{font-size:clamp(20px,2.1vw,30px);line-height:1.35;max-width:800px;margin:35px 0 0}.body-copy{font-size:16px;line-height:1.65;max-width:740px}.ink-section{background:#10202c;color:#f7fbff}.ink-section .section-label{color:var(--mint)}.brief,.calibration,.flowfield,.piv,.benchmark,.publication{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw}.calibration figure,.flowfield figure,.piv figure{margin:0}.calibration img,.flowfield img,.piv img{display:block;width:100%;background:#fff;object-fit:contain}.calibration figcaption,.flowfield figcaption,.piv figcaption{padding:12px 0;font:10px/1.45 "DM Mono",monospace;letter-spacing:.2px;color:rgba(9,20,27,.7)}.brief>div+div{padding-bottom:105px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:72px;padding-top:20px;border-top:1px solid var(--line)}.metrics strong{display:block;font:normal clamp(30px,3vw,46px) "Instrument Serif",serif;color:#3062af}.metrics span{font:10px/1.35 "DM Mono",monospace;letter-spacing:.7px;text-transform:uppercase;display:block;margin-top:7px}.architecture{position:relative;overflow:hidden}.architecture:after{content:"";position:absolute;inset:0;opacity:.09;background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);background-size:42px 42px}.architecture>*{position:relative;z-index:1}.flow{display:grid;grid-template-columns:repeat(8,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28)}.flow div{min-height:150px;padding:19px 15px;border-left:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;justify-content:space-between}.flow div:first-child{border-left:0}.flow span{font:10px "DM Mono",monospace;color:var(--mint)}.flow strong{font:normal clamp(22px,2.1vw,32px)/.9 "Instrument Serif",serif}.flow small{font-size:11px;color:rgba(247,251,255,.68)}.architecture-note{max-width:760px;font-size:17px;line-height:1.58;color:rgba(247,251,255,.8);margin:46px 0 0}.conditioning{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.conditioning-note{align-self:end;padding:30px;background:#f6d6cd}.conditioning-note span{font:10px "DM Mono",monospace;color:#3062af;letter-spacing:.8px;text-transform:uppercase}.conditioning-note strong{display:block;font:normal clamp(32px,4vw,56px)/.9 "Instrument Serif",serif;margin:28px 0}.conditioning-note p{font-size:15px;line-height:1.6;margin:0}.calibration{align-items:start}.calibration figure{margin-top:15px}.calibration img{aspect-ratio:16/9;object-fit:contain}.calibration-math{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:48px}.calibration-math span,.calibration-math strong{padding:10px 12px;background:#10202c;color:#f7fbff;font:10px "DM Mono",monospace;letter-spacing:.5px;text-transform:uppercase}.calibration-math b{color:var(--coral);font-size:23px}.calibration-math strong{background:#3062af}.flowfield .body-copy{color:rgba(247,251,255,.8)}.flowfield-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:45px}.flowfield img{aspect-ratio:3/2;object-fit:contain}.flowfield figcaption{color:rgba(247,251,255,.74)}.piv-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:45px}.piv img{aspect-ratio:1.5;object-fit:cover}.detail-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px}.detail-list div{padding:14px 0;border-top:1px solid var(--line)}.detail-list span{font:10px "DM Mono",monospace;letter-spacing:.8px;text-transform:uppercase;color:#3062af}.detail-list strong{display:block;font-size:14px;line-height:1.4;margin-top:9px}.publication{background:#f6d6cd}.publication .lede{margin-top:0}.citation{font-size:16px;line-height:1.65;max-width:670px;margin:35px 0}.doi-link{display:inline-block;border-bottom:1px solid #3062af;color:#3062af;padding-bottom:3px;font:500 12px "DM Mono",monospace;letter-spacing:.4px}.doi-link:hover{color:var(--coral);border-color:var(--coral)}
@media(max-width:850px){.metrics{grid-template-columns:repeat(3,1fr)}.flow{grid-template-columns:repeat(4,1fr)}.flow div:nth-child(5){border-left:0}.detail-list{grid-template-columns:1fr 1fr}}@media(max-width:700px){.vfa-hero{padding-bottom:50px}.case-block{padding:76px 6vw}.setup,.brief,.calibration,.flowfield,.piv,.benchmark,.publication,.conditioning{display:block}.setup figure,.calibration figure,.flowfield>div+div,.piv>div+div,.benchmark>div+div,.publication>div+div,.conditioning-note{margin-top:42px}.brief>div+div{padding-bottom:65px}.metrics{grid-template-columns:1fr 1fr;margin-top:45px}.flow{grid-template-columns:1fr 1fr;margin-top:42px}.flow div:nth-child(odd){border-left:0}.flow div{min-height:120px}.flowfield-grid,.piv-grid{grid-template-columns:1fr}.detail-list{grid-template-columns:1fr}.setup img{height:auto}.calibration img{aspect-ratio:auto}}

/* Restored VFa hero and system-overview treatment. */
.vfa-hero{min-height:calc(100svh - 82px);grid-template-columns:1fr;padding:72px 8vw 82px;background:#10202c;color:#f7fbff;text-align:center}.vfa-hero>div{width:min(100%,1120px);max-width:none;margin:auto}.vfa-hero h1{font-size:clamp(80px,12vw,180px);line-height:.76;letter-spacing:-5px;margin:32px 0}.vfa-hero h1 em{color:var(--mint)}.vfa-hero .eyebrow{color:var(--mint)}.vfa-hero .case-intro{margin:32px auto 0;color:rgba(247,251,255,.78)}.vfa-hero figure{display:none}.hero-meta{justify-content:center}.hero-meta span{border-color:rgba(247,251,255,.35)}.setup{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;background:#d3f0d0}.setup figure{margin:0}.setup img{display:block;width:100%;max-height:620px;background:#fff;object-fit:contain}.setup figcaption{padding:12px 0;font:10px/1.45 "DM Mono",monospace;letter-spacing:.2px;color:rgba(9,20,27,.7)}
@media(max-width:700px){.vfa-hero{padding-bottom:50px}.setup{display:block}.setup figure{margin-top:42px}}

/* Give each flowfield map enough width to keep its axes and legend fully legible. */
.flowfield-grid{grid-template-columns:1fr;gap:30px}
.flowfield img{aspect-ratio:auto;max-height:none}

.brief .metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,2vw,28px);justify-items:center}
.brief .metrics div{text-align:center}
@media(max-width:700px){.brief .metrics{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch}}

.conditioning h2{margin-top:18px;line-height:1.02}

.setup figcaption,.calibration figcaption,.piv figcaption{font-weight:600;font-size:12px;color:rgba(9,20,27,.82)}
.flowfield figcaption{font-weight:600;font-size:12px;color:rgba(247,251,255,.9)}
