.gv-video-showcase { padding: 72px 0 32px; background: #fff; }
.gv-video-panel { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(24px,4vw,52px); padding: clamp(24px,3vw,38px); background: #081b2c; color: #fff; }
.gv-video-heading { display: flex; flex-direction: column; justify-content: center; padding: clamp(12px,2vw,30px); }
.gv-video-heading .gv-eyebrow { color: #71c7f2; }
.gv-video-heading h2 { margin: 14px 0 18px; max-width: 470px; font-size: clamp(2.35rem,3.5vw,3.8rem); }
.gv-video-heading > p { margin: 0; color: #b9d0df; }
.gv-video-states { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 28px; padding-top: 22px; border-top: 1px solid #365265; }
.gv-video-states span { display: flex; align-items: center; gap: 8px; color: #dceaf2; font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.gv-video-states i { width: 8px; height: 8px; border-radius: 50%; background: #58b9e8; box-shadow: 0 0 0 4px rgba(88,185,232,.12); }
.gv-video-states span:last-child i { background: #fff; }
.gv-video-frame { position: relative; background: #081b2c; overflow: hidden; }
.gv-video-frame video { display: block; width: 100%; height: auto; aspect-ratio: 81 / 46; object-fit: cover; background: #081b2c; }
.gv-video-showcase .gv-video-frame { align-self: center; border: 1px solid #365265; box-shadow: 0 22px 46px rgba(0,0,0,.22); }
.gv-project-video { background: #eef4f7; }
.gv-project-video-grid { display: grid; grid-template-columns: minmax(300px,.62fr) minmax(0,1.38fr); gap: 64px; align-items: center; }
.gv-project-video-copy h2 { font-size: clamp(2.3rem,4vw,4rem); }
.gv-project-video-copy > p:not(.gv-eyebrow) { color: #536b7d; margin-bottom: 28px; }
.gv-video-frame-light { border: 1px solid #cbd7df; box-shadow: 0 22px 54px rgba(8,27,44,.12); }
.gv-video-frame-light video { aspect-ratio: 16 / 9; background: #dfe8ed; }
@media (max-width: 760px) {
	.gv-video-showcase { padding-top: 48px; }
	.gv-video-panel, .gv-project-video-grid { grid-template-columns: 1fr; }
	.gv-video-panel { gap: 22px; padding: 22px; }
	.gv-video-heading { padding: 16px 6px 2px; }
	.gv-video-heading h2 { font-size: clamp(2.2rem,8vw,3.25rem); }
	.gv-project-video-grid { gap: 32px; }
}
@media (min-width: 761px) and (max-width: 1000px) {
	.gv-video-panel { grid-template-columns: .9fr 1.1fr; gap: 22px; padding: 24px; }
	.gv-video-heading h2 { font-size: clamp(2.15rem,3.4vw,3rem); }
	.gv-project-video-grid { grid-template-columns: 1fr; }
}
