:root{
  --navy:#07182d; --navy2:#0d2746; --gold:#c99321; --gold2:#e2aa2f;
  --red:#d71f2b; --blue:#2367c9; --ink:#102039; --muted:#647186; --paper:#f8fbff; --white:#fff;
  --shadow:0 18px 45px rgba(6,22,42,.12); --radius:18px; --max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{font-size:.76rem;letter-spacing:.19em;text-transform:uppercase;color:var(--gold);font-weight:800}.eyebrow:before{content:"";display:inline-block;width:28px;height:2px;background:linear-gradient(90deg,var(--red),var(--blue));vertical-align:middle;margin-right:10px}.section{padding:78px 0}.section-tight{padding:52px 0}.section-title{font-size:clamp(2rem,4vw,4rem);line-height:.97;letter-spacing:-.045em;margin:.45rem 0 1rem;font-weight:900;text-transform:uppercase;color:var(--navy)}.lede{font-size:1.08rem;color:var(--muted);max-width:760px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:14px 21px;border-radius:5px;font-weight:850;letter-spacing:.02em;border:1px solid transparent;cursor:pointer;transition:.2s transform,.2s box-shadow,.2s background}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.14)}.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#111}.btn-outline{border-color:var(--gold);color:#fff;background:transparent}.btn-red{background:var(--red);color:#fff}.btn-light{background:#fff;border-color:#dbe2eb;color:var(--navy)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e6ebf2}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;min-width:210px}.brand-mark{width:44px;height:44px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--navy);font-weight:900;position:relative}.brand-mark:before,.brand-mark:after{content:"";position:absolute;width:22px;height:2px;background:var(--red);transform:rotate(35deg)}.brand-mark:after{background:var(--blue);transform:rotate(-35deg)}.brand-text strong{font-size:1.08rem;display:block;line-height:1}.brand-text span{font-size:.65rem;letter-spacing:.14em}.nav-links{display:flex;align-items:center;gap:27px;font-size:.8rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.nav-links a{padding:28px 0 24px;position:relative}.nav-links a.active:after,.nav-links a:hover:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:linear-gradient(90deg,var(--red) 48%,var(--blue) 48%)}.nav-cta{white-space:nowrap}.menu-btn{display:none;background:none;border:0;font-size:1.6rem;color:var(--navy)}
.hero{min-height:870px;position:relative;overflow:hidden;background:#eef3f8}.hero-media{position:absolute;inset:0 0 39% 0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.02) 52%,rgba(7,24,45,.95) 100%)}.hero-content{position:relative;min-height:870px;display:flex;align-items:flex-end;padding-bottom:50px}.hero-panel{width:64%;color:#fff}.hero-panel .eyebrow{color:#062a52;text-shadow:none}.hero h1{font-size:clamp(4rem,8vw,7.2rem);line-height:.78;margin:.25rem 0 1.1rem;letter-spacing:-.055em;text-transform:uppercase}.hero h1 span{display:block;color:#e0a329}.hero-sub{font-size:1.35rem;font-weight:760}.hero-copy{font-size:1.05rem;max-width:650px;color:#e3eaf2}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin:26px 0 18px}.hero-models{font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;color:#cfd8e4}.hero-side{position:absolute;right:0;bottom:50px;width:29%;border-left:1px solid rgba(255,255,255,.4);padding-left:36px;color:#fff}.pillars{display:grid;gap:23px}.pillar{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:center}.pillar-icon{width:56px;height:56px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:1.5rem}.pillar strong{display:block;font-size:.95rem}.pillar small{color:#dbe4ef}
.documentary{background:linear-gradient(180deg,#eef8ff 0,#fff 100%)}.doc-top{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}.doc-photo{position:relative;min-height:360px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.doc-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.doc-quote{position:absolute;top:24px;right:24px;background:rgba(255,255,255,.88);padding:14px 16px;border-left:3px solid var(--gold);font-style:italic;max-width:220px;text-align:right}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}.card{position:relative;min-height:220px;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);background:#0e213a;color:#fff}.card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(5,15,28,.95) 100%)}.card-copy{position:absolute;z-index:2;left:16px;right:16px;bottom:14px}.card-copy strong{font-size:1.13rem;line-height:1.05;text-transform:uppercase;display:block}.card-copy span{font-size:.78rem;color:#dce5ef}.card a{position:absolute;inset:0;z-index:3}.card:hover img{transform:scale(1.03)}.card img{transition:.25s transform}
.band{background:var(--navy);color:white}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.feature{padding:28px 25px;border-right:1px solid rgba(255,255,255,.22);display:grid;grid-template-columns:54px 1fr;gap:14px}.feature:last-child{border-right:0}.feature .icon{width:50px;height:50px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:1.35rem}.feature strong{display:block}.feature span{font-size:.82rem;color:#d2dbea}
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.photo-frame{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#eef2f6}.photo-frame img{width:100%;height:100%;object-fit:cover}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}.service-item{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px;border:1px solid #e1e7ef;border-radius:10px;background:#fff}.service-item .icon{width:40px;height:40px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold)}.service-item strong{display:block;color:var(--navy)}.service-item span{font-size:.86rem;color:var(--muted)}
.about{background:#f7f9fc}.signature{font-family:"Brush Script MT",cursive;font-size:3rem;color:var(--navy);transform:rotate(-4deg);display:inline-block;margin:8px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.stat{padding:18px;border-radius:12px;background:#fff;border:1px solid #e5eaf1}.stat strong{font-size:1.5rem;color:var(--gold);display:block}.stat span{font-size:.8rem;color:var(--muted)}
.page-hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:white;padding:86px 0 70px}.page-hero h1{font-size:clamp(3rem,7vw,6rem);line-height:.9;text-transform:uppercase;margin:.35rem 0 1rem}.page-hero p{max-width:760px;color:#d6e0ec;font-size:1.08rem}.gallery-grid{columns:3 280px;column-gap:18px}.gallery-item{break-inside:avoid;margin-bottom:18px;border-radius:12px;overflow:hidden;cursor:zoom-in;box-shadow:var(--shadow);background:#eee}.gallery-item img{width:100%}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:90vh}.lightbox button{position:absolute;top:20px;right:20px;background:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:1.4rem;cursor:pointer}
.contact-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px}.contact-card{background:var(--navy);color:white;padding:34px;border-radius:var(--radius)}.contact-card p{color:#d7e1ec}.form{display:grid;gap:16px}.field{display:grid;gap:7px}.field label{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.field input,.field textarea{width:100%;padding:13px 14px;border:1px solid #ccd5df;border-radius:8px;background:white}.field textarea{min-height:150px;resize:vertical}.form-note{font-size:.82rem;color:var(--muted)}.status{min-height:22px;font-size:.88rem;font-weight:700}
.footer{background:#06162a;color:white;padding:34px 0}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-tag{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:#d5deea}.socials{display:flex;gap:10px}.socials a{width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;font-weight:900}.legal{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.75rem;color:#9fb0c4}
@media(max-width:900px){.nav-links,.nav-cta{display:none}.menu-btn{display:block}.nav-links.open{display:flex;position:absolute;top:74px;left:0;right:0;background:white;flex-direction:column;align-items:flex-start;padding:20px 28px;box-shadow:var(--shadow);gap:0}.nav-links.open a{padding:13px 0;width:100%}.hero{min-height:820px}.hero-media{inset:0 0 47% 0}.hero-content{min-height:820px}.hero-panel{width:100%}.hero-side{display:none}.hero h1{font-size:clamp(3.4rem,13vw,5.5rem)}.doc-top,.split,.contact-wrap{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.features{grid-template-columns:1fr 1fr}.feature:nth-child(2){border-right:0}.service-grid{grid-template-columns:1fr}.doc-photo{min-height:320px}}
@media(max-width:600px){.container{width:min(100% - 28px,var(--max))}.section{padding:56px 0}.hero{min-height:760px}.hero-content{min-height:760px;padding-bottom:32px}.hero-media{inset:0 0 52% 0}.hero-panel .eyebrow{font-size:.62rem}.hero h1{font-size:3.5rem}.hero-sub{font-size:1.05rem}.hero-copy{font-size:.92rem}.hero-actions .btn{width:100%}.cards,.features,.stats{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.gallery-grid{columns:1}.footer-row{align-items:flex-start;flex-direction:column}}

/* Gallery upgrade */
.gallery-hero{background:linear-gradient(135deg,#07182d 0%,#0d2746 72%,#153a64 100%)}
.gallery-section{background:linear-gradient(180deg,#f7fbff 0,#fff 28%)}
.gallery-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:end;margin-bottom:30px}
.gallery-title{font-size:clamp(2.35rem,5vw,4.8rem);margin-bottom:0}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px;padding-bottom:20px;border-bottom:1px solid #e3e9f1}
.gallery-filter{appearance:none;border:1px solid #cfd8e4;background:#fff;color:var(--navy);border-radius:999px;padding:10px 15px;font-weight:800;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:.2s ease}
.gallery-filter:hover,.gallery-filter.active{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-1px)}
.gallery-grid{columns:3 290px;column-gap:18px}
.gallery-item{position:relative;break-inside:avoid;margin:0 0 18px;border-radius:14px;overflow:hidden;cursor:zoom-in;box-shadow:var(--shadow);background:#e9eef4;transition:.22s transform,.22s box-shadow,.22s opacity}
.gallery-item:hover{transform:translateY(-3px);box-shadow:0 24px 55px rgba(6,22,42,.18)}
.gallery-item.is-hidden{display:none}
.gallery-item img{width:100%;height:auto;transition:.35s transform}
.gallery-item:hover img{transform:scale(1.015)}
.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 16px 15px;color:#fff;background:linear-gradient(transparent,rgba(5,15,28,.92));pointer-events:none}
.gallery-item figcaption strong{display:block;font-size:.9rem;letter-spacing:.02em}
.gallery-item figcaption span{display:block;color:#dce5ef;font-size:.72rem;margin-top:2px}
.gallery-cta-band{padding:54px 0}
.gallery-cta{display:flex;align-items:center;justify-content:space-between;gap:30px}
.gallery-cta h2{margin:.3rem 0 .35rem;font-size:clamp(1.75rem,3vw,2.7rem);text-transform:uppercase;line-height:1;color:#fff}
.gallery-cta p{margin:0;color:#cfdae7}
.gallery-cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.lightbox{flex-direction:column}
.lightbox-content{display:flex;flex-direction:column;align-items:center;max-width:92vw;max-height:92vh}
.lightbox-content img{max-width:92vw;max-height:82vh;border-radius:8px;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.lightbox-caption{color:#fff;text-align:center;margin-top:12px;font-size:.92rem;min-height:24px}
.lightbox-close{z-index:2}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.38);background:rgba(0,0,0,.35);color:#fff;font-size:2.2rem;line-height:1;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(8px)}
.lightbox-prev{left:22px}.lightbox-next{right:22px}
.lightbox-nav:hover{background:rgba(255,255,255,.18)}
@media(max-width:900px){.gallery-intro{grid-template-columns:1fr;gap:10px}.gallery-cta{align-items:flex-start;flex-direction:column}.gallery-grid{columns:2 260px}}
@media(max-width:600px){.gallery-grid{columns:1}.gallery-filters{gap:8px}.gallery-filter{font-size:.7rem;padding:9px 12px}.lightbox-nav{width:42px;height:42px;font-size:1.7rem}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-content img{max-width:96vw;max-height:78vh}.gallery-cta-actions .btn{width:100%}}



/* FWCF ALSF-2 FLOOR-ONLY — REALISTIC RUNWAY PERSPECTIVE */
.hero{isolation:isolate;min-height:900px;background:#050d15;position:relative;overflow:hidden}
.hero-media{inset:0;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,18,31,.02) 32%,rgba(5,15,25,.20) 49%,rgba(3,11,19,.72) 67%,rgba(2,8,14,.97) 100%);z-index:1}
.hero-content{min-height:900px;padding-bottom:70px;z-index:4}
.hero-panel{position:relative;z-index:5;text-shadow:0 2px 10px rgba(0,0,0,.96)}
.hero h1{position:relative;z-index:6;text-shadow:0 3px 15px rgba(0,0,0,.98)}
.hero h1 span{display:block;color:#f1b42d;background:rgba(3,13,24,.72);padding:.03em .14em .08em;width:max-content;max-width:100%;border-left:4px solid #f1b42d;border-radius:3px;box-shadow:0 5px 18px rgba(0,0,0,.32);text-shadow:0 2px 0 rgba(0,0,0,.95),0 0 2px rgba(0,0,0,.9);-webkit-text-stroke:.35px rgba(0,0,0,.7);paint-order:stroke fill}
.hero-sub,.hero-copy,.hero-models{position:relative;z-index:6;text-shadow:0 2px 9px rgba(0,0,0,.98)}
.hero-side{position:relative;z-index:5}

.approach-lighting{position:absolute;left:0;right:0;bottom:0;height:48%;z-index:2;pointer-events:none;overflow:hidden;perspective:1000px}
.alsf2-floor{position:absolute;left:50%;bottom:-5%;width:76%;height:112%;transform:translateX(-50%) perspective(900px) rotateX(54deg);transform-origin:center bottom;clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);filter:drop-shadow(0 0 7px rgba(255,255,255,.08))}
.alsf2-floor>div{position:absolute;inset:0}
.alsf2-center-flashers span,.alsf2-centerline i,.alsf2-crossbars b,.alsf2-red-bars em,.alsf2-green-threshold u{position:absolute;display:block;border-radius:50%;box-sizing:border-box}

/* Far-to-near centerline sequenced flashers: only on the floor */
.alsf2-center-flashers span{width:7px;height:7px;left:50%;background:#fff;opacity:.05;box-shadow:none;animation:alsf2RealSequence 3.2s steps(1,end) infinite}
.alsf2-center-flashers span:nth-child(1){top:7%;animation-delay:0s}.alsf2-center-flashers span:nth-child(2){top:15%;animation-delay:.38s}.alsf2-center-flashers span:nth-child(3){top:23%;animation-delay:.76s}.alsf2-center-flashers span:nth-child(4){top:31%;animation-delay:1.14s}.alsf2-center-flashers span:nth-child(5){top:39%;animation-delay:1.52s}.alsf2-center-flashers span:nth-child(6){top:47%;animation-delay:1.90s}.alsf2-center-flashers span:nth-child(7){top:55%;animation-delay:2.28s}.alsf2-center-flashers span:nth-child(8){top:63%;animation-delay:2.66s}.alsf2-center-flashers span:nth-child(9){top:71%;animation-delay:3.04s}

.alsf2-centerline i{left:50%;width:6px;height:6px;background:#fff;opacity:.48;box-shadow:0 0 4px rgba(255,255,255,.35)}
.alsf2-centerline i:nth-child(1){top:10%}.alsf2-centerline i:nth-child(2){top:18%}.alsf2-centerline i:nth-child(3){top:26%}.alsf2-centerline i:nth-child(4){top:34%}.alsf2-centerline i:nth-child(5){top:42%}.alsf2-centerline i:nth-child(6){top:50%}.alsf2-centerline i:nth-child(7){top:58%}.alsf2-centerline i:nth-child(8){top:66%}.alsf2-centerline i:nth-child(9){top:74%}.alsf2-centerline i:nth-child(10){top:82%}.alsf2-centerline i:nth-child(11){top:90%}

/* White ALSF-2 crossbars */
.alsf2-crossbars b{width:5px;height:5px;background:#fff;opacity:.58;box-shadow:0 0 4px rgba(255,255,255,.25)}
.alsf2-crossbars b:nth-child(-n+12){top:28%}.alsf2-crossbars b:nth-child(n+13):nth-child(-n+24){top:48%}.alsf2-crossbars b:nth-child(n+25):nth-child(-n+36){top:67%}.alsf2-crossbars b:nth-child(n+37){top:84%}
.alsf2-crossbars b:nth-child(1){left:35%}.alsf2-crossbars b:nth-child(2){left:37.5%}.alsf2-crossbars b:nth-child(3){left:40%}.alsf2-crossbars b:nth-child(4){left:42.5%}.alsf2-crossbars b:nth-child(5){left:45%}.alsf2-crossbars b:nth-child(6){left:47.5%}.alsf2-crossbars b:nth-child(7){left:52.5%}.alsf2-crossbars b:nth-child(8){left:55%}.alsf2-crossbars b:nth-child(9){left:57.5%}.alsf2-crossbars b:nth-child(10){left:60%}.alsf2-crossbars b:nth-child(11){left:62.5%}.alsf2-crossbars b:nth-child(12){left:65%}
.alsf2-crossbars b:nth-child(13){left:29%}.alsf2-crossbars b:nth-child(14){left:33%}.alsf2-crossbars b:nth-child(15){left:37%}.alsf2-crossbars b:nth-child(16){left:41%}.alsf2-crossbars b:nth-child(17){left:45%}.alsf2-crossbars b:nth-child(18){left:55%}.alsf2-crossbars b:nth-child(19){left:59%}.alsf2-crossbars b:nth-child(20){left:63%}.alsf2-crossbars b:nth-child(21){left:67%}.alsf2-crossbars b:nth-child(22){left:71%}.alsf2-crossbars b:nth-child(23){left:75%}.alsf2-crossbars b:nth-child(24){left:79%}
.alsf2-crossbars b:nth-child(25){left:23%}.alsf2-crossbars b:nth-child(26){left:28%}.alsf2-crossbars b:nth-child(27){left:33%}.alsf2-crossbars b:nth-child(28){left:38%}.alsf2-crossbars b:nth-child(29){left:43%}.alsf2-crossbars b:nth-child(30){left:57%}.alsf2-crossbars b:nth-child(31){left:62%}.alsf2-crossbars b:nth-child(32){left:67%}.alsf2-crossbars b:nth-child(33){left:72%}.alsf2-crossbars b:nth-child(34){left:77%}.alsf2-crossbars b:nth-child(35){left:82%}.alsf2-crossbars b:nth-child(36){left:87%}
.alsf2-crossbars b:nth-child(37){left:15%}.alsf2-crossbars b:nth-child(38){left:23%}.alsf2-crossbars b:nth-child(39){left:31%}.alsf2-crossbars b:nth-child(40){left:39%}.alsf2-crossbars b:nth-child(41){left:46%}.alsf2-crossbars b:nth-child(42){left:54%}.alsf2-crossbars b:nth-child(43){left:61%}.alsf2-crossbars b:nth-child(44){left:69%}.alsf2-crossbars b:nth-child(45){left:77%}.alsf2-crossbars b:nth-child(46){left:85%}.alsf2-crossbars b:nth-child(47){left:91%}.alsf2-crossbars b:nth-child(48){left:96%}

/* Red side bars, concentrated near the runway/threshold end */
.alsf2-red-bars em{width:7px;height:7px;background:#d74a45;opacity:.48;box-shadow:0 0 5px rgba(215,74,69,.32)}
.alsf2-red-bars em:nth-child(-n+9){top:70%}.alsf2-red-bars em:nth-child(n+10){top:78%}
.alsf2-red-bars em:nth-child(1){left:34%}.alsf2-red-bars em:nth-child(2){left:37%}.alsf2-red-bars em:nth-child(3){left:40%}.alsf2-red-bars em:nth-child(4){left:43%}.alsf2-red-bars em:nth-child(5){left:46%}.alsf2-red-bars em:nth-child(6){left:54%}.alsf2-red-bars em:nth-child(7){left:57%}.alsf2-red-bars em:nth-child(8){left:60%}.alsf2-red-bars em:nth-child(9){left:63%}.alsf2-red-bars em:nth-child(10){left:31%}.alsf2-red-bars em:nth-child(11){left:35%}.alsf2-red-bars em:nth-child(12){left:39%}.alsf2-red-bars em:nth-child(13){left:43%}.alsf2-red-bars em:nth-child(14){left:57%}.alsf2-red-bars em:nth-child(15){left:61%}.alsf2-red-bars em:nth-child(16){left:65%}.alsf2-red-bars em:nth-child(17){left:69%}.alsf2-red-bars em:nth-child(18){left:73%}

/* Green threshold lights near the bottom */
.alsf2-green-threshold u{width:7px;height:7px;background:#54c58a;opacity:.52;box-shadow:0 0 5px rgba(84,197,138,.35)}
.alsf2-green-threshold u:nth-child(1){left:38%;top:91%}.alsf2-green-threshold u:nth-child(2){left:42%;top:91%}.alsf2-green-threshold u:nth-child(3){left:46%;top:91%}.alsf2-green-threshold u:nth-child(4){left:54%;top:91%}.alsf2-green-threshold u:nth-child(5){left:58%;top:91%}.alsf2-green-threshold u:nth-child(6){left:62%;top:91%}

/* Low-intensity edge rows — runway perspective */
.alsf2-edge-left:before,.alsf2-edge-right:before{content:"";position:absolute;top:5%;bottom:5%;width:4px;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.50) 0 5px,transparent 5px 18px);filter:drop-shadow(0 0 3px rgba(255,255,255,.18))}
.alsf2-edge-left:before{left:17%}.alsf2-edge-right:before{right:17%}

@keyframes alsf2RealSequence{0%,10%{opacity:.04;box-shadow:none}11%,23%{opacity:.72;box-shadow:0 0 6px 2px rgba(255,255,255,.48),0 0 12px 2px rgba(255,255,255,.12)}24%,100%{opacity:.04;box-shadow:none}}
@media(max-width:900px){.hero{min-height:820px}.hero-media{inset:0}.hero-content{min-height:820px}.approach-lighting{height:43%}.alsf2-floor{width:94%}.alsf2-center-flashers span{width:6px;height:6px}.alsf2-centerline i,.alsf2-crossbars b{width:5px;height:5px}.alsf2-red-bars em,.alsf2-green-threshold u{width:6px;height:6px}.mission-callout{display:none}}
@media(max-width:600px){.hero{min-height:900px;background:#050d15}.hero-media{inset:0 0 49% 0}.hero-media img{object-position:center center}.hero-content{min-height:900px;padding-bottom:30px;align-items:flex-end}.hero-panel{width:100%;position:relative;z-index:6}.hero h1{font-size:clamp(2.85rem,14vw,4.1rem);line-height:.84;margin:.25rem 0 .9rem}.hero-sub{font-size:1rem}.hero-copy{font-size:.88rem;line-height:1.45;max-width:100%}.hero-actions{margin:18px 0 14px;gap:10px}.hero-actions .btn{width:100%}.hero-models{font-size:.64rem;line-height:1.5}.approach-lighting{height:52%;bottom:0;z-index:3;overflow:visible;display:block}.alsf2-floor{width:118%;height:92%;bottom:-2%;transform:translateX(-50%) perspective(650px) rotateX(58deg);transform-origin:center bottom;clip-path:polygon(42% 0,58% 0,100% 100%,0 100%)}.alsf2-center-flashers span{opacity:.10}.alsf2-centerline i{opacity:.62}.alsf2-crossbars b{opacity:.68}.alsf2-red-bars em{opacity:.56}.alsf2-green-threshold u{opacity:.62}.alsf2-edge-left:before,.alsf2-edge-right:before{display:none}.hero-media:after{background:linear-gradient(to bottom,rgba(5,18,31,.02) 30%,rgba(3,11,19,.16) 52%,rgba(2,8,14,.56) 72%,rgba(2,8,14,.94) 100%)}}
@media(prefers-reduced-motion:reduce){.alsf2-center-flashers span{animation:none;opacity:.22}}


/* ===== FWCF HOMEPAGE REFRESH — SEPT 2026 ===== */
/* Approved Flying With Captain Frank logo */
.brand-logo{min-width:220px;display:flex;align-items:center;line-height:0}
.brand-logo img{display:block;width:210px;height:auto;max-height:66px;object-fit:contain}
.footer .brand-logo img{width:205px}

/* Keep the hero photograph visible. The old dark rectangle behind CAPTAIN FRANK is removed. */
.hero-panel{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important}
.hero h1 span{background:transparent!important;border-left:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;color:#f3b52e!important;width:auto!important;max-width:none!important;text-shadow:0 3px 4px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.70)!important;-webkit-text-stroke:.25px rgba(0,0,0,.55)}
.hero-panel:before{content:"";position:absolute;z-index:-1;left:-6vw;top:-55px;width:min(820px,72vw);height:calc(100% + 110px);pointer-events:none;background:radial-gradient(ellipse at 30% 55%,rgba(2,11,20,.58) 0%,rgba(2,11,20,.34) 40%,rgba(2,11,20,.12) 63%,rgba(2,11,20,0) 78%);filter:blur(2px)}

/* More realistic ALSF-2 floor perspective: narrow far end, broad near end, with a subdued floor sheen. */
.approach-lighting{height:50%;perspective:1250px;mix-blend-mode:screen}
.alsf2-floor{width:80%;height:118%;bottom:-8%;transform:translateX(-50%) perspective(1050px) rotateX(57deg);clip-path:polygon(46.5% 0,53.5% 0,99% 100%,1% 100%);filter:drop-shadow(0 0 5px rgba(255,255,255,.08))}
.alsf2-floor:after{content:"";position:absolute;left:24%;right:24%;bottom:1%;height:52%;background:linear-gradient(to top,rgba(255,255,255,.035),rgba(255,255,255,0));clip-path:polygon(0 100%,100% 100%,62% 0,38% 0);pointer-events:none}

/* Sequenced flashing 'rabbit' — brighter at the instant of flash, dim between pulses. */
.alsf2-center-flashers span{width:8px;height:8px;background:#fff;opacity:.025;box-shadow:none;animation:fwcfRabbit 3.15s steps(1,end) infinite}
.alsf2-center-flashers span:nth-child(1){animation-delay:0s}.alsf2-center-flashers span:nth-child(2){animation-delay:.35s}.alsf2-center-flashers span:nth-child(3){animation-delay:.70s}.alsf2-center-flashers span:nth-child(4){animation-delay:1.05s}.alsf2-center-flashers span:nth-child(5){animation-delay:1.40s}.alsf2-center-flashers span:nth-child(6){animation-delay:1.75s}.alsf2-center-flashers span:nth-child(7){animation-delay:2.10s}.alsf2-center-flashers span:nth-child(8){animation-delay:2.45s}.alsf2-center-flashers span:nth-child(9){animation-delay:2.80s}
@keyframes fwcfRabbit{0%,8%{opacity:.025;box-shadow:none}9%,18%{opacity:1;box-shadow:0 0 7px 3px rgba(255,255,255,.88),0 0 18px 6px rgba(220,238,255,.32)}19%,100%{opacity:.025;box-shadow:none}}

/* Steady lights stay present but do not compete with Frank or the copy. */
.alsf2-centerline i{opacity:.54;box-shadow:0 0 5px rgba(255,255,255,.45)}
.alsf2-crossbars b{opacity:.63;box-shadow:0 0 4px rgba(255,255,255,.35)}
.alsf2-red-bars em{background:#e04b46;opacity:.56;box-shadow:0 0 5px rgba(224,75,70,.45)}
.alsf2-green-threshold u{background:#49d391;opacity:.62;box-shadow:0 0 6px rgba(73,211,145,.50)}

/* Mobile: keep Frank's face/photo clear and put copy below the visual focal area. */
@media(max-width:900px){
  .brand-logo{min-width:0}.brand-logo img{width:178px;max-height:58px}
  .hero-media img{object-position:center 34%}
  .hero-panel:before{left:-28px;right:-28px;top:-28px;width:auto;height:calc(100% + 56px);background:linear-gradient(to bottom,rgba(2,10,18,0),rgba(2,10,18,.62) 26%,rgba(2,10,18,.88) 78%,rgba(2,10,18,.96));filter:none}
  .approach-lighting{height:45%;mix-blend-mode:screen}
  .alsf2-floor{width:104%;height:100%;bottom:-5%;transform:translateX(-50%) perspective(760px) rotateX(60deg);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%)}
}
@media(max-width:600px){
  .site-header .nav{height:70px}.brand-logo img{width:158px;max-height:54px}
  .hero{min-height:940px}
  .hero-media{inset:0 0 50% 0}
  .hero-media img{object-position:57% center}
  .hero-content{min-height:940px;padding-bottom:28px}
  .hero-panel{margin-top:auto}
  .hero-panel:before{top:-36px;height:calc(100% + 64px)}
  .hero h1{font-size:clamp(2.7rem,13.3vw,3.8rem)}
  .approach-lighting{height:49%;bottom:0;overflow:hidden}
  .alsf2-floor{width:125%;height:96%;bottom:-3%;transform:translateX(-50%) perspective(610px) rotateX(61deg);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%)}
  .alsf2-center-flashers span{width:7px;height:7px}
}

/* 2026-09-07 approved homepage visual */
.site-header .brand.brand-logo{min-width:280px;display:flex;align-items:center;padding:4px 0}
.site-header .brand.brand-logo img{width:260px;max-height:64px;object-fit:contain;object-position:left center}
.hero-approved{position:relative;min-height:860px;overflow:hidden;background:#07182d}
.hero-approved:before,.hero-approved:after{display:none!important}
.hero-approved-bg{position:absolute;inset:0;background-image:url('../images/homepage-hero-approved.png');background-size:cover;background-position:center top;background-repeat:no-repeat;z-index:0}
.hero-light-animation{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-light-animation span{position:absolute;left:50%;width:7px;height:7px;border-radius:50%;background:rgba(255,244,190,.86);box-shadow:0 0 5px rgba(255,244,190,.55),0 0 11px rgba(255,191,75,.32);opacity:.18;animation:fwcfRabbit 2.4s linear infinite}
.hero-light-animation span:nth-child(1){bottom:8%;transform:translateX(-50%) scale(1.08);animation-delay:0s}
.hero-light-animation span:nth-child(2){bottom:16%;transform:translateX(-50%) scale(.96);animation-delay:.22s}
.hero-light-animation span:nth-child(3){bottom:25%;transform:translateX(-50%) scale(.84);animation-delay:.44s}
.hero-light-animation span:nth-child(4){bottom:34%;transform:translateX(-50%) scale(.72);animation-delay:.66s}
.hero-light-animation span:nth-child(5){bottom:43%;transform:translateX(-50%) scale(.62);animation-delay:.88s}
@keyframes fwcfRabbit{0%,12%,100%{opacity:.14}3%,7%{opacity:.48;box-shadow:0 0 6px rgba(255,255,240,.65),0 0 15px rgba(255,191,75,.38)}}
.hero-hotspot{position:absolute;z-index:3;display:block;background:transparent}
.hero-hotspot-contact{left:4.1%;top:55.6%;width:20.2%;height:6.1%}
.hero-hotspot-services{left:25.4%;top:55.6%;width:15.5%;height:6.1%}
.hero-hotspot:focus-visible{outline:2px solid #e2aa2f;outline-offset:2px}
@media(max-width:900px){
  .site-header .brand.brand-logo{min-width:190px}.site-header .brand.brand-logo img{width:185px;max-height:56px}
  .hero-approved{min-height:760px}.hero-approved-bg{background-position:57% top}
  .hero-light-animation span{opacity:.12}
}
@media(max-width:600px){
  .hero-approved{min-height:690px}
  .hero-approved-bg{background-size:auto 100%;background-position:54% top}
  .hero-hotspot{display:none}
  .hero-light-animation span{width:5px;height:5px}
}
@media(prefers-reduced-motion:reduce){.hero-light-animation span{animation:none;opacity:.25}}

/* FINAL FLOOR-LIGHTS BUILD — 2026-09-07
   The hero artwork is static. Only separate floor-level light elements animate.
   No animated light is allowed over Captain Frank's body. */
body.home-final .site-header{display:none}
body.home-final .hero-approved{min-height:0;height:auto;aspect-ratio:3/2;background:#07182d;overflow:hidden}
body.home-final .hero-approved-bg{background-size:100% 100%;background-position:center;background-repeat:no-repeat}
body.home-final .hero-light-animation{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
body.home-final .hero-light-animation span{display:none}
/* Soft animated floor lights only. These sit below Frank's shoes or well to either side of his legs. */
body.home-final .floor-pulse{position:absolute;display:block;border-radius:50%;opacity:.10;animation:floorPulse 2.8s ease-in-out infinite;filter:blur(.15px)}
body.home-final .floor-pulse.white{width:7px;height:7px;background:#fff4c7;box-shadow:0 0 5px 2px rgba(255,238,170,.30)}
body.home-final .floor-pulse.red{width:7px;height:7px;background:#ff4a43;box-shadow:0 0 5px 2px rgba(255,74,67,.26)}
body.home-final .floor-pulse.green{width:7px;height:7px;background:#43e89a;box-shadow:0 0 5px 2px rgba(67,232,154,.24)}
@keyframes floorPulse{0%,100%{opacity:.08;transform:scale(.88)}45%{opacity:.26;transform:scale(1.08)}65%{opacity:.13;transform:scale(.96)}}
/* centerline flashes only BELOW the shoes */
body.home-final .fp1{left:50%;top:93.2%;animation-delay:0s}
body.home-final .fp2{left:50%;top:96.0%;animation-delay:.45s}
/* side floor lights — outside Frank's silhouette */
body.home-final .fp3{left:32.4%;top:87.4%;animation-delay:.25s}
body.home-final .fp4{left:67.2%;top:87.4%;animation-delay:.65s}
body.home-final .fp5{left:36.2%;top:80.6%;animation-delay:.95s}
body.home-final .fp6{left:63.8%;top:80.6%;animation-delay:1.35s}
body.home-final .fp7{left:29.0%;top:93.2%;animation-delay:.5s}
body.home-final .fp8{left:71.0%;top:93.2%;animation-delay:1.0s}
body.home-final .fp9{left:27.0%;top:96.0%;animation-delay:.75s}
body.home-final .fp10{left:73.0%;top:96.0%;animation-delay:1.25s}
/* clickable regions matching the approved artwork */
body.home-final .hero-hotspot{z-index:4}
body.home-final .hero-hotspot-contact{left:4.0%;top:57.8%;width:20.2%;height:6.0%}
body.home-final .hero-hotspot-services{left:25.4%;top:57.8%;width:15.4%;height:6.0%}
body.home-final .hot-home{left:28.7%;top:3.0%;width:4.2%;height:5.0%}
body.home-final .hot-docs{left:34.5%;top:3.0%;width:9.0%;height:5.0%}
body.home-final .hot-gallery{left:44.5%;top:3.0%;width:5.8%;height:5.0%}
body.home-final .hot-services{left:51.2%;top:3.0%;width:9.0%;height:5.0%}
body.home-final .hot-about{left:61.0%;top:3.0%;width:5.2%;height:5.0%}
body.home-final .hot-contact{left:67.0%;top:3.0%;width:6.0%;height:5.0%}
body.home-final .hot-contact-top{left:77.0%;top:2.8%;width:18.0%;height:5.3%}
@media(max-width:900px){body.home-final .hero-approved{aspect-ratio:3/2}body.home-final .hero-approved-bg{background-size:100% 100%;background-position:center}body.home-final .hero-hotspot{display:block}}
@media(max-width:600px){body.home-final .hero-approved{aspect-ratio:3/2;min-height:0}body.home-final .hero-approved-bg{background-size:100% 100%;background-position:center}body.home-final .floor-pulse{display:none}}
@media(prefers-reduced-motion:reduce){body.home-final .floor-pulse{animation:none;opacity:.12}}


/* FLOOR LIGHT ANIMATION V4 — visible motion, floor only, never across Frank */
body.home-final .hero-light-animation{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
body.home-final .runway-flash{position:absolute;display:block;width:9px;height:9px;border-radius:50%;background:#fff0b8;opacity:.08;box-shadow:0 0 5px 2px rgba(255,224,130,.25);animation:runwayChase 2.2s linear infinite}
@keyframes runwayChase{0%,18%,100%{opacity:.06;transform:scale(.75)}5%,11%{opacity:.52;transform:scale(1.18);box-shadow:0 0 7px 3px rgba(255,224,130,.34)}}
/* Left and right floor lanes only. Coordinates intentionally avoid Frank's silhouette. */
body.home-final .rf1{left:31.5%;top:87.5%;animation-delay:0s} body.home-final .rf2{left:68.5%;top:87.5%;animation-delay:0s}
body.home-final .rf3{left:34.5%;top:82.0%;animation-delay:.28s} body.home-final .rf4{left:65.5%;top:82.0%;animation-delay:.28s}
body.home-final .rf5{left:37.0%;top:76.8%;animation-delay:.56s} body.home-final .rf6{left:63.0%;top:76.8%;animation-delay:.56s}
body.home-final .rf7{left:39.2%;top:72.0%;animation-delay:.84s} body.home-final .rf8{left:60.8%;top:72.0%;animation-delay:.84s}
/* Near threshold/floor: safely below Frank's shoes. */
body.home-final .rf9{left:35.0%;top:93.2%;animation-delay:1.12s} body.home-final .rf10{left:65.0%;top:93.2%;animation-delay:1.12s}
body.home-final .rf11{left:42.0%;top:96.0%;animation-delay:1.40s} body.home-final .rf12{left:58.0%;top:96.0%;animation-delay:1.40s}
@media(max-width:600px){body.home-final .runway-flash{width:6px;height:6px;opacity:.06}}
@media(prefers-reduced-motion:reduce){body.home-final .runway-flash{animation:none;opacity:.10}}
