/* The Anson Flying Club — homepage (index.html) styles.
   Depends on base.css for design tokens, reset, and base typography. */
body{background:var(--white);overflow-x:hidden}

/* ─── NAV ─── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:var(--white);
  border-bottom:3px solid var(--navy);
  box-shadow:0 2px 20px rgba(0,0,0,.12);
}
.nav-inner{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;
  padding:.7rem 2rem;gap:2rem;
}
.nav-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;flex-shrink:0}
.nav-brand img{height:52px;width:52px;object-fit:contain}
.nav-brand-text{}
.nav-brand-name{font-family:'Nunito',sans-serif;font-size:1.25rem;font-weight:700;color:var(--navy);line-height:1.1;letter-spacing:.02em}
.nav-brand-loc{font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.nav-links{display:flex;gap:.25rem;list-style:none;margin-left:auto;align-items:center}
.nav-links a{
  font-family:'Nunito',sans-serif;
  font-size:.92rem;font-weight:700;letter-spacing:.01em;text-transform:none;
  color:var(--navy);text-decoration:none;padding:.4rem .75rem;border-radius:var(--r);
  transition:background .2s,color .2s;
}
.nav-links a:hover,.nav-links a.active{background:var(--navy);color:var(--white)}
.nav-login{
  display:flex;align-items:center;gap:.4rem;
  padding:.45rem 1.1rem;background:var(--navy);color:var(--white);
  font-family:'Nunito',sans-serif;font-size:.9rem;font-weight:700;
  letter-spacing:.02em;text-transform:none;
  border-radius:var(--r);text-decoration:none;margin-left:.5rem;
  transition:background .2s,transform .15s;
}
.nav-login:hover{background:var(--sky);transform:translateY(-1px)}

/* ─── HERO ─── */
#hero{
  margin-top:75px;
  position:relative;min-height:90vh;
  display:flex;align-items:flex-end;overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  /* Sky gradient simulating golden hour over an airfield */
  background:
    linear-gradient(180deg,
      #1a3a5c 0%,
      #2d6a9f 25%,
      #e8a030 55%,
      #c45a1a 72%,
      #2a1a0a 100%
    );
}
/* Simulated runway / airfield silhouette */
.hero-scene{
  position:absolute;inset:0;
  display:flex;align-items:flex-end;
  overflow:hidden;
}
/* Cloud layers */
.hero-clouds{
  position:absolute;top:5%;left:0;right:0;height:45%;
  background:
    radial-gradient(ellipse 300px 80px at 15% 30%,rgba(255,255,255,.18) 0%,transparent 70%),
    radial-gradient(ellipse 400px 100px at 65% 20%,rgba(255,255,255,.12) 0%,transparent 70%),
    radial-gradient(ellipse 250px 70px at 85% 45%,rgba(255,255,255,.1) 0%,transparent 70%),
    radial-gradient(ellipse 200px 60px at 40% 55%,rgba(255,255,255,.08) 0%,transparent 70%);
}
/* Sun glow */
.hero-sun{
  position:absolute;
  bottom:38%;left:52%;transform:translateX(-50%);
  width:120px;height:120px;
  background:radial-gradient(circle,rgba(255,220,80,.95) 0%,rgba(240,160,30,.6) 40%,transparent 70%);
  filter:blur(8px);
}
/* Ground / tarmac */
.hero-ground{
  position:absolute;bottom:0;left:0;right:0;height:38%;
  background:linear-gradient(180deg,#1a0f06 0%,#0d0a06 100%);
}
/* Runway centerline */
.hero-runway{
  position:absolute;bottom:0;left:48%;right:48%;
  height:38%;
  background:repeating-linear-gradient(
    180deg,
    rgba(255,255,180,.4) 0px,
    rgba(255,255,180,.4) 20px,
    transparent 20px,
    transparent 44px
  );
}
/* Tree line silhouette */
.hero-trees{
  position:absolute;bottom:36%;left:0;right:0;height:8%;
  background:
    radial-gradient(ellipse 60px 50px at 5% 100%,#0d1a0a 0%,transparent 70%),
    radial-gradient(ellipse 80px 60px at 10% 100%,#0a1508 0%,transparent 70%),
    radial-gradient(ellipse 50px 40px at 15% 100%,#0d1a0a 0%,transparent 70%),
    radial-gradient(ellipse 70px 55px at 20% 100%,#0a1508 0%,transparent 70%),
    radial-gradient(ellipse 60px 45px at 25% 100%,#0d1a0a 0%,transparent 70%),
    radial-gradient(ellipse 40px 35px at 30% 100%,#0a1508 0%,transparent 70%),
    radial-gradient(ellipse 55px 42px at 70% 100%,#0d1a0a 0%,transparent 70%),
    radial-gradient(ellipse 75px 58px at 76% 100%,#0a1508 0%,transparent 70%),
    radial-gradient(ellipse 50px 40px at 82% 100%,#0d1a0a 0%,transparent 70%),
    radial-gradient(ellipse 65px 50px at 88% 100%,#0a1508 0%,transparent 70%),
    radial-gradient(ellipse 45px 38px at 94% 100%,#0d1a0a 0%,transparent 70%),
    radial-gradient(ellipse 70px 55px at 99% 100%,#0a1508 0%,transparent 70%);
}
/* Water tower silhouette */
.hero-watertower{
  position:absolute;bottom:36%;left:49.5%;
  width:18px;height:55px;
  background:#0d1208;
}
.hero-watertower::before{
  content:'';position:absolute;top:-20px;left:-14px;
  width:46px;height:24px;
  background:#0d1208;
  clip-path:polygon(15% 100%,85% 100%,100% 0%,0% 0%);
}
/* Plane silhouettes */
.hero-plane1{
  position:absolute;
  bottom:38%;left:18%;
  width:200px;height:60px;
  animation:planefloat1 8s ease-in-out infinite;
}
.hero-plane1 svg,.hero-plane2 svg{fill:#1a2840;opacity:.85;width:100%;height:100%}
.hero-plane2{
  position:absolute;
  bottom:38.5%;right:20%;
  width:160px;height:48px;
  animation:planefloat2 10s ease-in-out infinite;
}
/* Gradient overlay for text legibility */
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(
    to right,
    rgba(10,20,40,.78) 0%,
    rgba(10,20,40,.4) 55%,
    rgba(10,20,40,.1) 100%
  );
}
.hero-content{
  position:relative;z-index:2;
  max-width:1200px;margin:0 auto;width:100%;
  padding:0 2rem 5rem;
  animation:fadeUp .9s ease both;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Nunito',sans-serif;
  font-size:.8rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1rem;
}
.hero-eyebrow::before{content:'';width:32px;height:2px;background:var(--gold)}
.hero-title{
  font-family:'Nunito',sans-serif;
  font-size:clamp(4rem,9vw,7.5rem);
  font-weight:800;line-height:.95;
  color:var(--white);
  text-transform:none;
  letter-spacing:-.02em;
  text-shadow:0 4px 40px rgba(0,0,0,.5);
  margin-bottom:1rem;
}
.hero-title span{color:var(--gold);display:block}
.hero-sub{
  font-size:1.15rem;font-weight:300;line-height:1.7;
  color:rgba(255,255,255,.75);
  max-width:460px;margin-bottom:2.5rem;
}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.btn-red{
  padding:.85rem 2.2rem;background:var(--red);color:var(--white);
  font-family:'Nunito',sans-serif;font-size:1rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r);
  text-decoration:none;border:none;cursor:pointer;
  transition:background .2s,transform .15s;
  box-shadow:0 4px 20px rgba(192,57,43,.4);
}
.btn-red:hover{background:var(--red2);transform:translateY(-2px)}
.btn-wht{
  padding:.85rem 2.2rem;background:transparent;color:var(--white);
  font-family:'Nunito',sans-serif;font-size:1rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r);
  text-decoration:none;border:2px solid rgba(255,255,255,.5);
  transition:border-color .2s,background .2s,transform .15s;
}
.btn-wht:hover{border-color:var(--white);background:rgba(255,255,255,.1);transform:translateY(-2px)}

/* ─── STATS BAR ─── */
.stats-bar{
  background:var(--white);
  border-bottom:1px solid var(--border);
  box-shadow:0 4px 24px rgba(0,0,0,.08);
}
.stats-inner{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
}
.stat-item{
  padding:1.75rem 1.5rem;text-align:center;
  border-right:1px solid var(--border);
  display:flex;flex-direction:column;align-items:center;gap:.4rem;
}
.stat-item:last-child{border-right:none}
.stat-icon{font-size:1.8rem;line-height:1}
.stat-num{
  font-family:'Nunito',sans-serif;
  font-size:2.5rem;font-weight:800;color:var(--navy);line-height:1;
}
.stat-num.red{color:var(--red)}
.stat-label{font-family:'Nunito',sans-serif;font-size:1rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.05em}
.stat-sub{font-size:.75rem;font-weight:400;color:var(--muted)}

/* ─── SECTIONS SHARED ─── */
section.light{background:var(--white)}
section.grey{background:var(--cream)}
section.dark{background:var(--navy)}
.sec-wrap{max-width:1200px;margin:0 auto;padding:5.5rem 2rem}
.sec-header{text-align:center;margin-bottom:3.5rem}
.sec-rule{
  display:flex;align-items:center;gap:1.25rem;justify-content:center;
  margin-bottom:.75rem;
}
.sec-rule::before,.sec-rule::after{content:'';flex:1;max-width:80px;height:2px;background:var(--navy)}
.sec-rule.light-rule::before,.sec-rule.light-rule::after{background:rgba(255,255,255,.25)}
.sec-tag{font-family:'Nunito',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sky)}
.sec-title{font-family:'Nunito',sans-serif;font-size:clamp(2rem,4vw,2.9rem);font-weight:800;letter-spacing:-.01em;color:var(--navy);line-height:1.05}
.sec-title.white{color:var(--white)}
.sec-lead{font-size:1rem;font-weight:300;line-height:1.75;color:var(--muted);max-width:560px;margin:.75rem auto 0}
.sec-lead.white{color:rgba(255,255,255,.65)}

/* ─── AIRCRAFT ─── */
.fleet-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.plane-card{
  border:1px solid var(--border);border-radius:var(--r);
  overflow:hidden;background:var(--white);
  box-shadow:0 2px 16px rgba(0,0,0,.06);
  transition:transform .2s,box-shadow .2s;
}
.plane-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.12)}
.plane-photo{
  height:240px;overflow:hidden;position:relative;
  background:#1a2030;
}
.plane-photo-bg{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-size:8rem;opacity:.08;
}
.plane-tag{
  position:absolute;top:1rem;left:1rem;z-index:2;
  background:rgba(11,31,56,.82);backdrop-filter:blur(6px);color:var(--white);
  font-family:'Nunito',sans-serif;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;
  padding:.28rem .8rem;border-radius:20px;
}
.plane-avail-dot{
  position:absolute;top:1rem;right:1rem;z-index:2;
  display:flex;align-items:center;gap:.35rem;
  background:rgba(0,0,0,.55);backdrop-filter:blur(8px);
  color:#4ade80;font-size:.68rem;font-weight:700;
  padding:.25rem .7rem;border-radius:20px;
}
.plane-avail-dot::before{content:'●';font-size:.55rem;animation:blink 2s ease infinite}
.plane-name-big{
  font-family:'Nunito',sans-serif;
  font-size:3.5rem;font-weight:800;color:rgba(255,255,255,.15);
  text-transform:uppercase;letter-spacing:-.02em;
  line-height:1;position:absolute;bottom:.5rem;left:1rem;
}
.plane-body{padding:1.5rem}
.plane-name{font-family:'Nunito',sans-serif;font-size:1.6rem;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.03em}
.plane-cert{font-size:.75rem;font-weight:600;color:var(--sky);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem}
.plane-feats{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.4rem .5rem;margin-bottom:1.25rem}
.plane-feats li{
  font-size:.82rem;font-weight:500;color:var(--text);
  display:flex;align-items:center;gap:.4rem;
}
.plane-feats li::before{content:'✔';color:var(--sky);font-size:.7rem;flex-shrink:0}
.plane-rate-bar{
  background:var(--navy);
  margin:-1.5rem -1.5rem -1.5rem;
  margin-top:1rem;
  padding:1rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;
}
.plane-rate-num{font-family:'Nunito',sans-serif;font-size:1.8rem;font-weight:800;color:var(--white)}
.plane-rate-note{font-size:.72rem;color:rgba(255,255,255,.55);font-weight:300}

/* ─── MEMBERSHIP ─── */
.mem-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:start}
.mem-costs{
  display:grid;grid-template-columns:1fr 1fr;gap:2px;
  border-radius:var(--r);overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,.08);
}
.cost-card{
  background:var(--navy);
  padding:2rem 1.5rem;text-align:center;
}
.cost-card.accent{background:var(--sky)}
.cost-label{font-family:'Nunito',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:.5rem}
.cost-amount{font-family:'Nunito',sans-serif;font-size:3.8rem;font-weight:800;color:var(--red2);line-height:1;margin-bottom:.25rem}
.cost-amount.white{color:var(--white)}
.cost-note{font-size:.75rem;font-weight:300;color:rgba(255,255,255,.5)}
.cost-members{grid-column:1/-1;background:#0d1a2e;padding:1.5rem;text-align:center}
.cost-members-num{font-family:'Nunito',sans-serif;font-size:2.8rem;font-weight:800;color:var(--white)}
.cost-members-label{font-size:.8rem;font-weight:400;color:rgba(255,255,255,.55)}
.init-note{
  margin-top:1rem;
  background:rgba(192,57,43,.1);border-left:3px solid var(--red);
  padding:.75rem 1rem;border-radius:0 var(--r) var(--r) 0;
  font-size:.8rem;color:var(--red);font-weight:500;
}
.mem-reqs{margin-top:2rem}
.mem-reqs-title{font-family:'Nunito',sans-serif;font-size:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--navy);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--navy)}
.req-step{
  display:flex;gap:1rem;padding:.9rem 0;
  border-bottom:1px solid var(--border);align-items:flex-start;
}
.req-step:last-child{border-bottom:none}
.req-num{
  width:32px;height:32px;flex-shrink:0;
  background:var(--navy);color:var(--white);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:'Nunito',sans-serif;font-size:.95rem;font-weight:800;
}
.req-body{}
.req-title{font-size:.9rem;font-weight:600;color:var(--navy)}
.req-desc{font-size:.8rem;font-weight:300;color:var(--muted);line-height:1.55;margin-top:.15rem}
.mem-process-col{}
.what-included{background:var(--cream);border-radius:var(--r);padding:1.5rem;margin-top:2rem}
.inc-title{font-family:'Nunito',sans-serif;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--navy);margin-bottom:.75rem}
.inc-list{list-style:none;display:flex;flex-direction:column;gap:.45rem}
.inc-list li{font-size:.85rem;font-weight:400;color:var(--text);display:flex;align-items:center;gap:.5rem}
.inc-list li::before{content:'✔';color:var(--sky);font-size:.75rem;flex-shrink:0;font-weight:700}

/* ─── MEMBER RESOURCES ─── */
.resources-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.res-card{
  display:block;text-decoration:none;color:inherit;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r);padding:1.75rem 1.25rem;text-align:center;
  transition:background .25s,border-color .25s,transform .2s;
  cursor:pointer;
}
.res-card:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);transform:translateY(-3px)}
.res-card.locked{opacity:.7}
.res-icon{font-size:2.4rem;margin-bottom:.75rem;display:block}
.res-title{font-family:'Nunito',sans-serif;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--white);margin-bottom:.35rem}
.res-desc{font-size:.78rem;font-weight:300;color:rgba(255,255,255,.55);line-height:1.5;margin-bottom:1.1rem}
.res-btn{
  display:block;width:100%;padding:.55rem;
  font-family:'Nunito',sans-serif;font-size:.82rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r);
  text-decoration:none;cursor:pointer;border:none;
  transition:background .2s,color .2s;
}
.res-btn.navy-btn{background:var(--navy);color:var(--white)}
.res-btn.navy-btn:hover{background:#0a1628}
.res-btn.sky-btn{background:var(--sky);color:var(--white)}
.res-btn.sky-btn:hover{background:var(--sky2)}
.res-btn.lock-btn{background:rgba(255,255,255,.1);color:rgba(255,255,255,.5);cursor:default}
.lock-badge{
  font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(243,156,18,.15);color:var(--gold);border:1px solid rgba(243,156,18,.3);
  padding:.15rem .55rem;border-radius:20px;display:inline-block;margin-bottom:.5rem;
}
.docs-strip{
  margin-top:2rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r);padding:1.5rem 1.75rem;text-align:center;
}
.docs-title{
  font-family:'Nunito',sans-serif;font-size:1rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.08em;color:var(--white);margin-bottom:1rem;
}
.docs-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}
.docs-links a{
  font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;text-decoration:none;color:var(--white);
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  padding:.55rem 1rem;border-radius:var(--r);transition:background .2s,border-color .2s;
}
.docs-links a:hover{background:var(--sky);border-color:var(--sky)}

/* ─── MESSAGES ─── */
.messages-section{margin-top:3rem}
.msg-board{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r);overflow:hidden;
}
.msg-board-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);
}
.msg-board-title{font-family:'Nunito',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.msg-board-badge{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);background:rgba(243,156,18,.12);border:1px solid rgba(243,156,18,.25);padding:.2rem .6rem;border-radius:20px}
.msg-row{
  display:grid;grid-template-columns:36px 1fr auto;
  gap:.75rem;align-items:start;
  padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.07);
}
.msg-row:last-of-type{border-bottom:none}
.msg-avatar{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Nunito',sans-serif;font-size:.85rem;font-weight:800;color:var(--white);
  flex-shrink:0;
}
.msg-main{}
.msg-name{font-size:.8rem;font-weight:600;color:var(--white)}
.msg-text{font-size:.8rem;font-weight:300;color:rgba(255,255,255,.5);line-height:1.5;margin-top:.1rem}
.msg-side{text-align:right}
.msg-date{font-size:.65rem;color:rgba(255,255,255,.3)}
.mtag{font-size:.6rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.12rem .45rem;border-radius:20px;display:inline-block;margin-top:.25rem}
.mtag.notice{background:rgba(243,156,18,.15);color:var(--gold)}
.mtag.fleet{background:rgba(41,128,185,.2);color:#7ec8f0}
.mtag.admin{background:rgba(46,204,113,.12);color:#7ddc9e}
.mtag.safety{background:rgba(231,76,60,.12);color:#f48f85}
.msg-locked-bar{
  padding:1.1rem 1.5rem;text-align:center;
  border-top:1px solid rgba(255,255,255,.07);
  font-size:.82rem;color:rgba(255,255,255,.3);
}
.msg-locked-bar a{color:var(--gold);text-decoration:none;font-weight:600}

/* ─── CONTACT ─── */
.contact-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:4rem;align-items:start}
.contact-lhs{}
.airport-badge{
  background:var(--navy);color:var(--white);
  border-radius:var(--r);padding:1.5rem;
  margin-bottom:1.5rem;
  border-left:4px solid var(--red);
}
.airport-name{font-family:'Nunito',sans-serif;font-size:1.3rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}
.airport-meta{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .75rem;margin-top:.75rem}
.airport-item{}
.airport-item-label{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.airport-item-val{font-size:.88rem;font-weight:600;color:var(--white)}
.contact-details{display:flex;flex-direction:column;gap:.85rem;margin-bottom:2rem}
.cdet{display:flex;align-items:flex-start;gap:.75rem;font-size:.88rem;color:var(--muted)}
.cdet-icon{font-size:1.1rem;flex-shrink:0;margin-top:.05rem}
.contact-form{display:flex;flex-direction:column;gap:.85rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.fg{display:flex;flex-direction:column;gap:.3rem}
.fg label{font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.fg input,.fg select,.fg textarea{
  padding:.75rem 1rem;
  background:var(--cream);border:1.5px solid var(--border);
  color:var(--text);font-family:'Nunito Sans',sans-serif;
  font-size:.9rem;font-weight:400;border-radius:var(--r);
  outline:none;resize:none;transition:border-color .2s;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--sky)}
.fg select option{background:var(--white)}
.fg input::placeholder,.fg textarea::placeholder{color:#aab8c4}

/* ─── FOOTER ─── */
footer{background:#070f1c;border-top:3px solid var(--navy)}
.footer-inner{
  max-width:1200px;margin:0 auto;
  padding:3rem 2rem 1.5rem;
  display:grid;grid-template-columns:2fr 1fr 1.2fr 1.2fr;gap:3rem;
}
.footer-brand{display:flex;flex-direction:column;gap:1rem}
.footer-logo{display:flex;align-items:center;gap:.65rem}
.footer-logo img{height:44px;width:44px;object-fit:contain;opacity:.85}
.footer-logo-name{font-family:'Nunito',sans-serif;font-size:1.1rem;font-weight:700;color:rgba(255,255,255,.7);line-height:1.15}
.footer-about{font-size:.8rem;font-weight:300;color:rgba(255,255,255,.35);line-height:1.7}
.footer-col-title{font-family:'Nunito',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:.9rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.45rem}
.footer-links a{font-size:.82rem;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:rgba(255,255,255,.8)}
.footer-info-item{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.7rem}
.footer-info-label{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3)}
.footer-info-val{font-size:.85rem;font-weight:500;color:rgba(255,255,255,.6)}
.footer-bottom{
  max-width:1200px;margin:0 auto;
  padding:.75rem 2rem 1.25rem;
  border-top:1px solid rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
}
.footer-copy{font-size:.72rem;color:rgba(255,255,255,.2)}
.footer-bottom-links{display:flex;gap:1.5rem}
.footer-bottom-links a{font-size:.72rem;color:rgba(255,255,255,.2);text-decoration:none}

/* ─── ANIMATIONS ─── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes planefloat1{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}
@keyframes planefloat2{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-14px) rotate(-1deg)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.fade-up{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* ─── RESPONSIVE ─── */
@media(max-width:960px){
  .nav-links{display:none}
  .fleet-grid,.mem-layout,.contact-wrap,.resources-grid,.footer-inner{grid-template-columns:1fr}
  .stats-inner{grid-template-columns:repeat(2,1fr)}
  .hero-plane1,.hero-plane2{display:none}
  .form-grid{grid-template-columns:1fr}
}

/* ─── HELPERS (replacing former inline style= attributes) ─── */
.stat-num.sm{font-size:1.6rem;padding-top:.3rem}
.plane-reg{font-size:.75rem;font-weight:400;color:var(--muted)}
.plane-avail-text{color:#4ade80;font-size:.75rem;font-weight:600}
.apply-cta{margin-top:1.5rem}
.btn-block{display:inline-block;text-align:center;width:100%}
.airport-sub{font-size:.72rem;color:rgba(255,255,255,.5);margin-top:.1rem}
.btn-submit{width:100%;font-size:1rem;padding:1rem}
.form-status{margin-top:1rem;font-size:.9rem;text-align:center;display:none}
