html { scroll-behavior: smooth; }
  body { font-family: 'Inter', sans-serif; background:#F7F6F3; }
  .font-display { font-family: 'Barlow Condensed', sans-serif; }
  .font-mono { font-family: 'JetBrains Mono', monospace; }

  /* diagonal cut signature — echoes the flyer's diagonal photo collage */
  .cut-b { clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%); }
  .cut-t { clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 100%); }
  @media (min-width:768px){
    .cut-b { clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%); }
    .cut-t { clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 100%); }
  }

  .diag-card { clip-path: polygon(0 0, 100% 0, 100% 100%, 36px 100%, 0 calc(100% - 36px)); }

  /* blueprint grid texture */
  .blueprint {
    background-image:
      linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
    background-size: 42px 42px;
  }

  .noise::after{
    content:"";
    position:absolute; inset:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
    pointer-events:none;
  }

  /* hero scene crossfade */
  .scene { opacity:0; transition:opacity 1.6s ease; }
  .scene.active { opacity:1; }

  .reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.in { opacity:1; transform:translateY(0); }

  ::-webkit-scrollbar{ height:8px; width:8px; }
  ::-webkit-scrollbar-thumb{ background:#c4c1b8; border-radius:4px; }

  .no-scrollbar::-webkit-scrollbar{ display:none; }
  .no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none; }

  .badge-ring{ animation: spin 34s linear infinite; }
  @keyframes spin{ to{ transform: rotate(360deg); } }

  .marquee-track{ animation: marquee 28s linear infinite; }
  @keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

  .underline-swipe{ position:relative; }
  .underline-swipe::after{
    content:""; position:absolute; left:0; bottom:-6px; height:2px; width:0;
    background:#C41E2A; transition:width .35s ease;
  }
  .underline-swipe:hover::after{ width:100%; }

  /* brand glow on primary CTAs — small "lit" accent instead of a flat color swap */
  .bg-brand.hover\:bg-brandd{ transition: background-color .3s ease, box-shadow .3s ease, transform .2s ease; }
  .bg-brand.hover\:bg-brandd:hover{ box-shadow: 0 8px 28px -6px rgba(196,30,42,.55); transform: translateY(-2px); }

  /* ambient light sweep across the hero, echoes an aircraft beacon */
  .light-sweep{
    position:absolute; inset:0; z-index:1; pointer-events:none; mix-blend-mode:screen; opacity:.5;
    background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,.08) 45%, rgba(196,30,42,.12) 50%, transparent 65%);
    background-size: 250% 100%;
    animation: sweep 9s ease-in-out infinite;
  }
  @keyframes sweep{
    0%,100%{ background-position: 120% 0; }
    50%{ background-position: -20% 0; }
  }
  @media (prefers-reduced-motion: reduce){ .light-sweep{ animation:none; opacity:.15; } }

  /* accessible focus states — visible on keyboard nav, silent on mouse click */
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
    outline: 2px solid #C41E2A;
    outline-offset: 3px;
    border-radius: 2px;
  }

  .skip-link{
    position:absolute; left:-9999px; top:0; z-index:100;
    background:#C41E2A; color:#fff; padding:.75rem 1.25rem;
    font-family:'JetBrains Mono',monospace; font-size:.8rem; text-transform:uppercase; letter-spacing:.1em;
  }
  .skip-link:focus{ left:1rem; top:1rem; }

  @media (prefers-reduced-motion: reduce){
    .scene, .reveal, .badge-ring, .marquee-track, .animate-bounce{ animation:none !important; transition:none !important; }
    .reveal{ opacity:1 !important; transform:none !important; }
    .scene{ opacity:0; }
    .scene.active{ opacity:1; }
  }

.cert-item{
    font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:.04em;
    color:rgba(255,255,255,.8); font-size:1.15rem; display:flex; align-items:center; gap:.5rem;
    white-space:nowrap;
  }
  .cert-item::before{
    content:""; width:6px; height:6px; border-radius:999px; background:#B8860B; display:inline-block;
  }


.svc-flip{ perspective:1400px; height:240px; }
  .svc-flip-inner{
    position:relative; width:100%; height:100%; transform-style:preserve-3d;
    transition: transform .6s cubic-bezier(.4,.15,.2,1);
  }
  .svc-flip:hover .svc-flip-inner,
  .svc-flip.is-flipped .svc-flip-inner{ transform: rotateY(180deg); }
  .svc-face{
    position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden;
    border-radius:2px; padding:1.75rem; display:flex; flex-direction:column;
  }
  .svc-front{
    background:#fff; border:1px solid rgba(0,0,0,.06); justify-content:flex-start; align-items:flex-start;
    box-shadow:0 1px 2px rgba(18,18,18,.03);
  }
  .svc-back{
    background:linear-gradient(155deg, #1B1B1B, #121212 65%);
    transform: rotateY(180deg); justify-content:center; border:1px solid rgba(196,30,42,.35);
  }
  .svc-icon{ width:52px; height:52px; border-radius:999px; background:#C41E2A; display:flex; align-items:center; justify-content:center; }
  .svc-hint{ margin-top:auto; padding-top:1rem; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:rgba(74,79,85,.45); }
  .svc-cta{
    margin-top:1.1rem; display:inline-flex; align-items:center; gap:.4rem;
    font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.03em; font-weight:600;
    color:#fff; border-bottom:2px solid #C41E2A; padding-bottom:2px; width:fit-content; transition:color .25s ease, border-color .25s ease;
  }
  .svc-cta:hover{ color:#C41E2A; }
  @media (prefers-reduced-motion: reduce){
    .svc-flip-inner{ transition:none; }
  }

.ind-card{
    flex:0 0 auto; width:230px; min-height:190px; background:#1B1B1B; border:1px solid rgba(255,255,255,.08);
    border-radius:2px; padding:1.5rem; position:relative; overflow:hidden;
    transition: border-color .3s ease, transform .3s ease;
  }
  .ind-card:hover{ border-color:#C41E2A; transform:translateY(-3px); }
  .ind-tag{ font-family:'JetBrains Mono',monospace; font-size:11px; color:#B8860B; letter-spacing:.15em; }
  .ind-card h4{ font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase; color:#fff; font-size:1.3rem; margin-top:.6rem; line-height:1.05; }
  .ind-card p{ font-size:.8rem; color:rgba(255,255,255,.55); margin-top:.6rem; line-height:1.4; }

.proj-card{ background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:2px; overflow:hidden; transition:transform .35s ease, box-shadow .35s ease; }
  .proj-card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px -20px rgba(18,18,18,.25); }
  .proj-img{ height:180px; position:relative; clip-path: polygon(0 0,100% 0,100% 100%,0 92%); }
  .proj-status{
    position:absolute; top:14px; left:14px; background:rgba(255,255,255,.92); color:#121212;
    font-family:'JetBrains Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:.1em;
    padding:5px 10px; border-radius:2px;
  }
/* ============================================================
   SHARED SITE-WIDE ADDITIONS
   (accessibility, nav state, and components used across pages)
   ============================================================ */

/* accessible focus states — visible on keyboard nav, silent on mouse click */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid #C41E2A;
  outline-offset: 3px;
  border-radius: 2px;
}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:#C41E2A; color:#fff; padding:.75rem 1.25rem;
  font-family:'JetBrains Mono',monospace; font-size:.8rem; text-transform:uppercase; letter-spacing:.1em;
}
.skip-link:focus{ left:1rem; top:1rem; }

@media (prefers-reduced-motion: reduce){
  .scene, .reveal, .badge-ring, .marquee-track, .animate-bounce, .light-sweep, .svc-flip-inner{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
  .scene{ opacity:0; }
  .scene.active{ opacity:1; }
}

/* active nav item — consistent across every page instead of one-off inline styles */
#desktop-nav a[aria-current="page"],
#mobile-nav a[aria-current="page"]{ color:#C41E2A; }
#desktop-nav a[aria-current="page"]::after{ width:100%; }

/* ghost / outline CTA button — a permanent dark backdrop keeps white text
   legible whether it sits over a photo, a dark section, or a light seam */
.btn-ghost{
  position:relative; overflow:hidden;
  border:1px solid rgba(255,255,255,.4); color:#fff;
  backdrop-filter:blur(2px); background:rgba(0,0,0,.3);
  transition:background-color .3s ease, border-color .3s ease, transform .2s ease;
}
.btn-ghost:hover{ border-color:#C41E2A; background:rgba(196,30,42,.9); transform:translateY(-2px); }

/* ambient light sweep — reusable hero accent, echoes an aircraft beacon */
.light-sweep{
  position:absolute; inset:0; z-index:1; pointer-events:none; mix-blend-mode:screen; opacity:.5;
  background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,.08) 45%, rgba(196,30,42,.12) 50%, transparent 65%);
  background-size: 250% 100%;
  animation: sweep 9s ease-in-out infinite;
}
@keyframes sweep{ 0%,100%{ background-position: 120% 0; } 50%{ background-position: -20% 0; } }
@media (prefers-reduced-motion: reduce){ .light-sweep{ animation:none; opacity:.15; } }

/* spotlight-hover card — shared by Vision/Mission, Core Values, and Leadership cards */
.spot-card{
  position:relative; overflow:hidden; background:#fff; border:1px solid rgba(0,0,0,.06);
  border-radius:2px; padding:1.6rem; isolation:isolate;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.spot-card::before{
  content:""; position:absolute; inset:0; z-index:-1; opacity:0;
  background:radial-gradient(180px 180px at var(--mx,50%) var(--my,50%), rgba(196,30,42,.14), transparent 70%);
  transition:opacity .35s ease;
}
.spot-card:hover{ transform:translateY(-5px); box-shadow:0 22px 44px -22px rgba(18,18,18,.28); border-color:rgba(196,30,42,.3); }
.spot-card:hover::before{ opacity:1; }
.spot-icon{
  width:40px; height:40px; border-radius:999px; background:#C41E2A; display:flex; align-items:center; justify-content:center;
  transition:transform .35s ease;
}
.spot-card:hover .spot-icon{ transform:scale(1.1) rotate(-6deg); }
.spot-card .val-num{ font-family:'JetBrains Mono',monospace; font-size:11px; color:#B8860B; letter-spacing:.15em; }
.spot-card h4{ font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase; font-size:1.3rem; color:#121212; margin-top:.6rem; line-height:1.05; }
.spot-card p{ font-size:.83rem; color:#4A4F55; margin-top:.55rem; line-height:1.45; }

/* compliance / certification cards */
.cert-card{
  background:#1B1B1B; border:1px solid rgba(255,255,255,.08); border-radius:2px; padding:1.5rem;
  transition: border-color .3s ease, transform .3s ease;
}
.cert-card:hover{ border-color:#C41E2A; transform:translateY(-3px); }
.cert-card .cert-code{ font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.5rem; color:#fff; letter-spacing:.02em; }
.cert-card p{ font-size:.78rem; color:rgba(255,255,255,.55); margin-top:.5rem; line-height:1.4; }

/* leadership placeholder cards */
.lead-card{
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:2px; overflow:hidden;
  transition: transform .3s ease, box-shadow .3s ease;
}
.lead-card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px -22px rgba(18,18,18,.25); }
.lead-photo{
  aspect-ratio:4/3; background:linear-gradient(155deg, #1B1B1B, #4A4F55);
  display:flex; align-items:center; justify-content:center;
}

/* ============================================================
   SERVICES PAGE — sticky category tabs + alternating detail rows
   ============================================================ */
.svc-tabs{
  display:flex; flex-direction:column; gap:2px;
}
.svc-tab{
  display:flex; align-items:center; gap:.65rem;
  padding:.7rem .9rem; border-radius:2px; border-left:3px solid transparent;
  font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:.04em; text-transform:uppercase;
  color:#4A4F55; transition: background-color .2s ease, border-color .2s ease, color .2s ease;
  cursor:pointer;
}
.svc-tab:hover{ background:rgba(196,30,42,.06); }
.svc-tab.active{ border-left-color:#C41E2A; background:rgba(196,30,42,.08); color:#121212; font-weight:600; }
.svc-tab .svc-tab-num{ font-family:'JetBrains Mono',monospace; color:#B8860B; font-size:11px; }

/* mobile horizontal tab strip */
.svc-tabs-mobile{
  display:flex; gap:.5rem; overflow-x:auto; padding-bottom:.25rem;
}
.svc-tabs-mobile::-webkit-scrollbar{ display:none; }
.svc-tabs-mobile .svc-tab{
  flex:0 0 auto; border-left:none; border-bottom:2px solid transparent; white-space:nowrap;
}
.svc-tabs-mobile .svc-tab.active{ border-bottom-color:#C41E2A; }

.svc-row{
  scroll-margin-top: 6.5rem;
  padding: 3rem 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.svc-row:last-child{ border-bottom: none; }
.svc-row-icon{
  width:52px; height:52px; border-radius:999px; background:#C41E2A;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.svc-row-img{
  height:220px; border-radius:2px; background-size:cover; background-position:center;
  position:relative; overflow:hidden;
}
.svc-row-img::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(160deg, rgba(18,18,18,.35), rgba(196,30,42,.15));
}
.svc-bullet-list{
  display:grid; grid-template-columns:1fr; gap:.5rem;
}
@media (min-width:640px){ .svc-bullet-list{ grid-template-columns:1fr 1fr; } }
.svc-bullet-list li{
  display:flex; align-items:baseline; gap:.5rem; font-size:.85rem; color:#4A4F55; line-height:1.4;
}
.svc-bullet-list li::before{
  content:""; width:5px; height:5px; border-radius:999px; background:#C41E2A; flex-shrink:0;
  transform:translateY(-2px);
}
.svc-request{
  margin-top:1.25rem; display:inline-flex; align-items:center; gap:.4rem;
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.03em; font-weight:600;
  color:#121212; border-bottom:2px solid #C41E2A; padding-bottom:2px; width:fit-content;
  transition:color .25s ease;
}
.svc-request:hover{ color:#C41E2A; }
