/* Flight Review is a product bridge: it uses the shared site system, then
   tightens that vocabulary around one actual replay instead of a generic
   feature list. This sheet intentionally belongs only to flight-review.html. */
.flight-review-page { --fr-blue: #8ec4ed; --fr-panel: #0b171f; }
.fr-hero { overflow: hidden; border-bottom: 1px solid var(--rule); background: radial-gradient(circle at 78% 42%, rgba(52, 105, 141, .22), transparent 34rem); }
.fr-hero-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(26rem, 1.12fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: center; padding-block: clamp(3.5rem, 8vw, 7.5rem); }
.fr-hero-copy h1 { max-width: 9.2ch; margin-bottom: 1.35rem; font-size: clamp(2.5rem, 4.9vw, 4.65rem); line-height: .96; }
.fr-hero-copy .lede { margin-bottom: 1.8rem; }
.fr-replay-window { position: relative; display: block; overflow: hidden; color: inherit; text-decoration: none; border: 1px solid #3b6682; background: var(--fr-panel); box-shadow: 1.3rem 1.3rem 0 rgba(26, 55, 75, .25); }
.fr-window-bar { display: flex; justify-content: space-between; gap: 1rem; padding: .62rem .8rem; border-bottom: 1px solid rgba(142, 196, 237, .35); color: var(--fr-blue); font: 600 .64rem/1 var(--f-mono); letter-spacing: .12em; }
.fr-window-bar span:last-child { color: #b8d8ed; }
.fr-replay-window video { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center; opacity: .92; transition: opacity .2s, transform .3s; }
.fr-window-action { position: absolute; right: 0; bottom: 0; padding: .75rem .9rem; background: rgba(10, 13, 17, .94); border-top: 1px solid rgba(142, 196, 237, .35); border-left: 1px solid rgba(142, 196, 237, .35); color: #dce9f1; font: 600 .67rem/1 var(--f-mono); letter-spacing: .07em; text-transform: uppercase; }
.fr-replay-window:hover video { opacity: 1; transform: scale(1.015); }.fr-replay-window:hover .fr-window-action { color: var(--fr-blue); }
.fr-intro { display: grid; grid-template-columns: minmax(11rem, .7fr) minmax(0, 1.3fr); gap: clamp(2rem, 8vw, 8rem); padding-block: clamp(4rem, 9vw, 8rem); }
.fr-intro .eyebrow { margin-top: .55rem; }.fr-intro h2, .fr-section-head h2, .fr-close h2 { margin: 0; font: 650 clamp(1.8rem, 3.3vw, 3rem)/1.02 var(--f-display); letter-spacing: -.035em; text-transform: uppercase; }.fr-intro p:not(.eyebrow), .fr-close p:not(.eyebrow) { max-width: 46rem; margin: 1.3rem 0 0; color: var(--ink-2); font-size: 1.05rem; }
.fr-sequence { padding-bottom: clamp(4rem, 9vw, 8rem); }.fr-section-head { display: grid; grid-template-columns: minmax(11rem, .7fr) minmax(0, 1.3fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; padding-bottom: 1.8rem; }.fr-section-head .eyebrow { margin-top: .55rem; }
.fr-sequence ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 1px; list-style: none; border: 1px solid var(--rule); background: var(--rule); }.fr-sequence li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 1rem; min-height: 13.5rem; padding: 1.5rem; background: var(--paper-2); }.fr-sequence li > span { color: var(--fr-blue); font: 600 .7rem/1 var(--f-mono); letter-spacing: .1em; }.fr-sequence h3 { margin: 3.4rem 0 .7rem; font: 650 1.25rem/1.05 var(--f-display); text-transform: uppercase; }.fr-sequence p { margin: 0; color: var(--ink-2); font-size: .92rem; }
.fr-close { border-top: 1px solid var(--rule); background: linear-gradient(110deg, var(--paper-2), #10202c); }.fr-close-in { display: flex; justify-content: space-between; align-items: end; gap: 3rem; padding-block: clamp(3.5rem, 7vw, 6rem); }.fr-close h2 { max-width: 11ch; }.fr-close-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 1.1rem; flex: none; }.fr-close .text-link { color: var(--fr-blue); }
@media (max-width: 54rem) { .fr-hero-grid, .fr-intro, .fr-section-head { grid-template-columns: 1fr; gap: 1.7rem; }.fr-hero-copy h1 { max-width: 11ch; }.fr-sequence ol { grid-template-columns: 1fr; }.fr-close-in { align-items: flex-start; flex-direction: column; gap: 2rem; } }
@media (max-width: 32rem) { .fr-hero-grid { padding-block: 3rem 4rem; }.fr-hero-copy h1 { font-size: clamp(2.35rem, 11vw, 3rem); }.fr-window-bar { font-size: .56rem; }.fr-window-action { padding: .58rem .64rem; font-size: .57rem; }.fr-sequence li { min-height: auto; }.fr-sequence h3 { margin-top: 2.3rem; } }
