/* JetBridge Aviation - shared stylesheet
   Palette: midnight navy, aircraft white, aluminum, muted aviation blue,
   restrained brass. Typeface system unchanged from the original site. */

:root{
  --bg:#0b1428;          /* midnight navy */
  --bg-2:#101d38;
  --bg-3:#16294b;
  --cream:#f3f2ee;       /* warm aircraft white */
  --cream-dim:#b9bec7;   /* aluminum */
  --steel:#8b95a5;
  --blue:#5b86b8;        /* muted aviation blue */
  --blue-dim:#33507a;
  --gold:#c8a94f;        /* restrained brass */
  --gold-bright:#ddc275;
  --line:rgba(139,149,165,0.20);
  --line-gold:rgba(200,169,79,0.28);
}
*{margin:0;padding:0;box-sizing:border-box}
section[id],header[id]{scroll-margin-top:88px}
body{
  font-family:'Archivo',-apple-system,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--cream);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .3s}

h1,h2,h3,h4,h5{font-family:'Archivo Black',Arial Black,sans-serif;font-weight:900;letter-spacing:-.02em;color:var(--cream);text-transform:uppercase;line-height:.95}
h1{font-size:clamp(2.2rem,5.4vw,4.6rem)}
h2{font-size:clamp(1.9rem,4.6vw,3.5rem)}
h3{font-size:clamp(1.2rem,2vw,1.6rem)}
p{font-size:1.02rem;line-height:1.65;color:var(--cream-dim)}
p.lead{font-size:1.15rem;color:var(--cream)}

.eyebrow{font-family:'Archivo',sans-serif;font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;font-weight:700;color:var(--gold);display:inline-block;margin-bottom:1.25rem}
.italic-gold{color:var(--gold);font-style:italic}
.italic-blue{color:var(--blue);font-style:italic}
.container{max-width:1320px;margin:0 auto;padding:0 clamp(1.25rem,3vw,2.5rem)}
.section{padding:clamp(4rem,8vw,7rem) 0}
.narrow{max-width:820px}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:1.1rem 0;background:rgba(6,11,22,0);transition:background-color .3s,padding .3s}
.nav.scrolled{background:rgba(6,11,22,.95);backdrop-filter:blur(14px);padding:.8rem 0;border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.nav-brand{display:flex;align-items:center;gap:.75rem}
.nav-brand img{height:42px;transition:height .3s}
.nav.scrolled .nav-brand img{height:34px}
.nav-brand-text{font-family:'Archivo Black',sans-serif;font-size:1rem;letter-spacing:.02em;color:var(--cream);line-height:1}
.nav-brand-text small{display:block;font-family:'Archivo',sans-serif;font-weight:600;font-size:.5rem;letter-spacing:.4em;color:var(--gold);margin-top:3px}
.nav-links{display:flex;gap:1.5rem;align-items:center}
.nav-link{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--cream);position:relative}
.nav-link::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-link:hover::after{transform:scaleX(1)}
.nav-link.active{color:var(--gold)}
.nav-link.cta{padding:.62rem 1.1rem;background:var(--gold);color:var(--bg);font-size:.64rem;font-weight:800}
.nav-link.cta:hover{background:var(--gold-bright)}
.nav-link.cta::after{display:none}
.mobile-toggle{display:none;background:transparent;border:0;color:var(--gold);font-size:1.6rem;cursor:pointer;line-height:1}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:1.05rem 1.9rem;font-family:'Archivo',sans-serif;font-size:.76rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;border:none;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s}
.btn-gold{background:var(--gold);color:var(--bg)}
.btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px);box-shadow:0 14px 32px rgba(200,169,79,.28)}
.btn-outline{background:transparent;color:var(--cream);border:1px solid var(--steel)}
.btn-outline:hover{border-color:var(--blue);background:rgba(91,134,184,.14)}
.btn-arrow::after{content:'\2192';transition:transform .3s}
.btn-arrow:hover::after{transform:translateX(4px)}

/* HERO */
.hero{min-height:auto;display:flex;align-items:center;padding:9.5rem 0 4.5rem;position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 20%,rgba(91,134,184,.16) 0%,transparent 58%),var(--bg)}
.hero.tall{padding:11rem 0 6rem}
.hero::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.85'/></filter><rect width='200' height='200' filter='url(%23n)' opacity='1'/></svg>");opacity:.035;pointer-events:none}
.hero-inner{position:relative;z-index:2;max-width:1180px}
.hero-label{display:flex;align-items:center;gap:1rem;margin-bottom:2.25rem}
.hl-line{width:60px;height:1px;background:var(--gold);flex-shrink:0}
.hl-text{font-family:'Archivo',sans-serif;font-size:.68rem;letter-spacing:.4em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.hero-mega{font-family:'Archivo Black',sans-serif;font-size:clamp(2.3rem,5.6vw,4.9rem);line-height:1.0;letter-spacing:-.03em;margin-bottom:2.25rem;text-transform:uppercase;color:var(--cream);max-width:19ch}
.hero-mega.wide{max-width:24ch}
.h-gold{color:var(--gold)}
.h-blue{color:var(--blue)}
.hero-statement{max-width:700px;margin:0 0 2.5rem;padding:1.75rem 0 0;border-top:1px solid var(--line);position:relative}
.hero-statement::before{content:'';position:absolute;top:-1px;left:0;width:80px;height:2px;background:var(--gold)}
.hero-statement p{font-size:clamp(1.04rem,1.4vw,1.16rem);color:var(--cream);line-height:1.65;font-weight:400}
.hero-statement strong{color:var(--gold);font-weight:700}
.hero-cta-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
.hero-badge{display:flex;align-items:center;gap:1rem;font-family:'Archivo',sans-serif;font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--steel);font-weight:700}
.hb-sep{width:4px;height:4px;background:var(--gold);transform:rotate(45deg)}
@media (max-width:760px){.hero-badge{display:none}}

/* TICKER */
.ticker{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;overflow:hidden;color:var(--steel);font-weight:700;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase}
.ticker-track{display:flex;gap:3.5rem;white-space:nowrap;animation:tkr 60s linear infinite}
.ticker-track span::before{content:'\25C6 ';color:var(--gold);margin-right:.5rem}
@keyframes tkr{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* STATS */
.stats-wrap{padding:4rem 0 2.25rem;border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.stat{border-left:2px solid var(--gold);padding:.3rem 0 .3rem 1.25rem}
.stat-num{font-family:'Archivo Black',sans-serif;font-size:clamp(2.1rem,4vw,3.2rem);color:var(--cream);line-height:.95}
.stat-label{font-size:.74rem;letter-spacing:.06em;text-transform:none;color:var(--cream);margin-top:.75rem;font-weight:600;line-height:1.5;max-width:34ch}
.stat-src{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:.6rem;font-weight:800}
.stats-sources{margin-top:2.25rem;font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--steel);font-weight:700}

/* GENERIC SECTIONS */
.sec-dark{background:var(--bg);padding:clamp(3.5rem,7vw,6rem) 0}
.sec-mid{background:var(--bg-2);padding:clamp(3.5rem,7vw,6rem) 0}
.sec-deep{background:var(--bg-3);padding:clamp(3.5rem,7vw,6rem) 0}
.split{display:grid;grid-template-columns:1fr 1.25fr;gap:3.5rem;align-items:start}
.split-title h2{max-width:14ch}
.split-body p{font-size:1.06rem;line-height:1.72;margin-bottom:1.15rem;color:var(--cream)}
.split-body p:last-child{margin-bottom:0;color:var(--cream-dim)}

/* PILLAR / SERVICE CARDS */
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:2.75rem}
.card-grid.three{grid-template-columns:repeat(3,1fr)}
.card-grid.two{grid-template-columns:repeat(2,1fr)}
.card{background:var(--bg);padding:2.1rem 1.8rem;border:1px solid var(--line);border-top:3px solid var(--gold);transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;flex-direction:column}
.sec-dark .card{background:var(--bg-2)}
.card:hover{transform:translateY(-5px);border-top-color:var(--blue);box-shadow:0 20px 40px rgba(0,0,0,.45)}
.card-num{font-size:.68rem;font-weight:800;letter-spacing:.3em;color:var(--gold);margin-bottom:.75rem}
.card h3{margin-bottom:.7rem;color:var(--cream);font-size:1.18rem}
.card p{font-size:.94rem;line-height:1.6;margin-bottom:1rem}
.card-tag{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--steel);font-weight:800;padding-top:.75rem;border-top:1px solid var(--line);margin-top:auto}

/* FLYWHEEL */
.flywheel{margin-top:3rem;display:grid;gap:0}
.fw-step{display:grid;grid-template-columns:5.5rem 1fr;gap:1.75rem;padding:1.6rem 0;border-top:1px solid var(--line);align-items:start}
.fw-step:last-of-type{border-bottom:1px solid var(--line)}
.fw-num{font-family:'Archivo Black',sans-serif;font-size:1.9rem;color:var(--gold);line-height:1;padding-top:.1rem}
.fw-body h4{font-size:1.02rem;margin-bottom:.5rem;color:var(--cream);letter-spacing:.06em}
.fw-body p{font-size:.95rem;line-height:1.6;margin:0}
.fw-loop{margin-top:1.75rem;padding:1.4rem 1.6rem;border:1px solid var(--line-gold);background:rgba(200,169,79,.06);display:flex;gap:1rem;align-items:center}
.fw-loop-mark{color:var(--gold);font-size:1.4rem;line-height:1}
.fw-loop p{margin:0;color:var(--cream);font-size:.98rem;font-weight:500}

/* RETENTION TIMELINE */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:2.75rem}
.tl{padding-top:1.9rem;position:relative}
.tl::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--line)}
.tl::after{content:'';position:absolute;top:0;left:0;width:42px;height:2px;background:var(--gold)}
.tl-day{font-family:'Archivo Black',sans-serif;font-size:1.5rem;color:var(--gold);margin-bottom:.55rem;line-height:1}
.tl h4{font-size:1rem;margin-bottom:.5rem;color:var(--cream)}
.tl p{font-size:.92rem;line-height:1.58}

/* PROCESS STEPS */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.75rem}
.step{padding-top:1.9rem;position:relative}
.step::before{content:'';position:absolute;top:0;left:0;width:48px;height:3px;background:var(--gold)}
.step-num{font-size:.66rem;font-weight:800;letter-spacing:.3em;color:var(--gold);margin-bottom:.6rem}
.step h4{font-size:1.08rem;margin-bottom:.55rem;color:var(--cream)}
.step p{font-size:.92rem;line-height:1.58}

/* LIST BLOCKS */
.tick-list{list-style:none;margin-top:1.5rem}
.tick-list li{font-size:.98rem;color:var(--cream);padding:.85rem 0;border-bottom:1px solid var(--line);display:flex;gap:.85rem;line-height:1.6}
.tick-list li::before{content:'\25C6';color:var(--gold);flex-shrink:0;font-size:.7rem;padding-top:.35rem}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:.85fr 1.4fr;gap:3.5rem;align-items:center}
.about-photo{overflow:hidden;border:1px solid var(--line-gold);box-shadow:18px 18px 0 rgba(200,169,79,.16);width:min(100%,340px);justify-self:center}
.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 42%}
.about-content p{margin-bottom:1.1rem;font-size:1.04rem;color:var(--cream);line-height:1.72}
.about-sig{margin-top:1.4rem;font-style:italic;color:var(--gold);font-size:1.06rem;font-weight:600}

/* CROSS-LINK BAND */
.band{background:var(--bg-3);padding:4.5rem 0;text-align:center;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold)}
.band-marks{color:var(--gold);letter-spacing:1em;font-size:.7rem;margin-bottom:1rem}
.band h2{margin-bottom:1.25rem}
.band p{max-width:640px;margin:0 auto 2rem;font-size:1.06rem;color:var(--cream)}
.band-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* FORMS */
.form-sec{background:var(--bg-2);padding:clamp(3.5rem,7vw,6rem) 0}
.form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}
.form-intro p{color:var(--cream);font-size:1.04rem}
form.jbf{display:grid;gap:1rem}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}
.ff label{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem;font-weight:800}
.ff .hint{display:block;font-size:.72rem;letter-spacing:0;text-transform:none;color:var(--steel);font-weight:500;margin-top:.4rem}
.ff input,.ff select,.ff textarea{width:100%;padding:.9rem 1rem;background:var(--bg-3);border:1px solid var(--line);color:var(--cream);font-family:'Archivo',sans-serif;font-size:1rem;font-weight:500}
.ff input:focus,.ff select:focus,.ff textarea:focus{outline:none;border-color:var(--gold);background:var(--bg)}
.ff input::placeholder,.ff textarea::placeholder{color:rgba(243,242,238,.32)}
.ff textarea{resize:vertical;min-height:110px}
.ff input[type=file]{padding:.75rem;font-size:.88rem;color:var(--cream-dim)}
.ff input[type=file]::file-selector-button{background:var(--bg-2);color:var(--gold);border:1px solid var(--line-gold);padding:.5rem .9rem;font-family:'Archivo',sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;margin-right:.9rem}
.ff select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23c8a94f' stroke-width='2' fill='none'/></svg>");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}
.ff select option{background:var(--bg-3);color:var(--cream)}
.fieldset-label{font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--steel);font-weight:800;padding-bottom:.65rem;border-bottom:1px solid var(--line);margin-top:1.1rem}
.form-sub{width:100%;padding:1.2rem;background:var(--gold);color:var(--bg);border:0;font-family:'Archivo',sans-serif;font-size:.8rem;font-weight:800;letter-spacing:.26em;text-transform:uppercase;cursor:pointer;transition:background-color .3s,transform .3s,box-shadow .3s;margin-top:.5rem}
.form-sub:hover{background:var(--gold-bright);transform:translateY(-2px);box-shadow:0 14px 28px rgba(200,169,79,.26)}
.form-note{font-size:.78rem;color:var(--steel);line-height:1.6;margin-top:.25rem}
.form-note a{color:var(--gold)}

/* NEWSLETTER */
.news{background:var(--bg);padding:3.5rem 0;border-top:1px solid var(--line)}
.news-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:center}
.news h3{margin-bottom:.5rem}
.news p{font-size:.96rem}
.news form{display:flex;gap:.5rem}
.news input{flex:1;padding:.9rem 1rem;background:var(--bg-3);border:1px solid var(--line-gold);color:var(--cream);font-family:'Archivo',sans-serif}
.news input:focus{outline:none;background:var(--bg-2)}
.news button{padding:0 1.65rem;background:var(--gold);color:var(--bg);border:0;font-family:'Archivo',sans-serif;font-weight:800;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;cursor:pointer}
.news button:hover{background:var(--gold-bright)}

/* INSIGHTS */
.insight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:2.75rem}
.insight{background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--blue);padding:1.9rem 1.7rem}
.insight-meta{font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:800;margin-bottom:.75rem}
.insight h3{font-size:1.12rem;margin-bottom:.65rem}
.insight p{font-size:.94rem;line-height:1.6}
.insight-status{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--steel);font-weight:800;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line)}

/* FOOTER */
.footer{background:var(--bg);padding:3.5rem 0 1.75rem;border-top:1px solid var(--gold)}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}
.f-brand{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.f-brand img{height:52px}
.f-desc{color:var(--cream-dim);font-size:.9rem;line-height:1.65;max-width:360px}
.f-gold{color:var(--gold);font-style:italic;margin-top:1rem;font-size:.9rem}
.footer h5{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;font-weight:800}
.footer ul{list-style:none}
.footer li{font-size:.86rem;color:var(--cream);padding:.36rem 0}
.footer a:hover{color:var(--gold)}
.f-bot{border-top:1px solid var(--line);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.7rem;letter-spacing:.1em;color:var(--steel)}
.f-sources{font-size:.64rem;color:var(--steel);opacity:.8;width:100%;margin-top:.4rem;letter-spacing:.04em;line-height:1.6}

/* RESPONSIVE */
@media (max-width:1080px){
  .nav-links{gap:1.1rem}
  .nav-link{font-size:.62rem;letter-spacing:.15em}
}
@media (max-width:900px){
  .stats-grid{grid-template-columns:1fr;gap:2rem}
  .card-grid,.card-grid.three,.card-grid.two{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:1.5rem}
  .timeline{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .about-grid{grid-template-columns:1fr;gap:2.5rem}
  .about-photo{box-shadow:12px 12px 0 rgba(200,169,79,.16)}
  .form-grid{grid-template-columns:1fr}
  .fr,.fr3{grid-template-columns:1fr}
  .news-grid{grid-template-columns:1fr}
  .insight-grid{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .f-bot{flex-direction:column;text-align:center}
  .mobile-toggle{display:block}
  .nav-links{position:fixed;top:0;right:-100%;width:82%;max-width:340px;height:100vh;background:var(--bg);flex-direction:column;justify-content:center;align-items:flex-start;padding:2rem;gap:1.4rem;transition:right .4s;border-left:1px solid var(--gold);overflow-y:auto}
  .nav-links.open{right:0}
  .nav-links .nav-link{font-size:.78rem;letter-spacing:.2em}
  .fw-step{grid-template-columns:3.5rem 1fr;gap:1.1rem}
}
@media (max-width:560px){
  .timeline,.steps{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr}
  .hero-ctas{flex-direction:column;width:100%}
  .hero-ctas .btn{width:100%;justify-content:center}
  .band-ctas{flex-direction:column}
  .band-ctas .btn{width:100%;justify-content:center}
  .news form{flex-direction:column}
  .news button{padding:1rem}
}

/* ---------------------------------------------------------------
   PHOTOGRAPHY
   Real hangar photography sits behind a heavy navy scrim so type
   stays legible. If an image file is missing the block still reads
   as an intentional gradient panel.
   --------------------------------------------------------------- */
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.38}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,var(--bg) 0%,rgba(11,20,40,.94) 38%,rgba(11,20,40,.62) 78%,rgba(11,20,40,.42) 100%)}
.hero .container{position:relative;z-index:2}

.photo-band{position:relative;overflow:hidden;padding:clamp(3.5rem,7vw,5.5rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-3)}
.photo-band img.pb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:.34;z-index:0}
.photo-band::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,20,40,.95) 0%,rgba(11,20,40,.78) 55%,rgba(11,20,40,.5) 100%);z-index:1}
.photo-band .container{position:relative;z-index:2}
.photo-band h2{max-width:16ch}
.photo-band p{max-width:640px;margin-top:1.25rem;color:var(--cream);font-size:1.06rem}
.photo-caption{margin-top:2rem;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--steel);font-weight:800}

@media (max-width:900px){
  .hero-bg img{opacity:.26;object-position:center 40%}
  .photo-band img.pb-img{opacity:.24}
  .photo-band::after{background:linear-gradient(180deg,rgba(11,20,40,.88) 0%,rgba(11,20,40,.94) 100%)}
}

/* Narrow phones: Archivo Black cannot break a long word like TECHNICIANS,
   so step the hero display size down rather than let it clip. */
@media (max-width:430px){
  .hero-mega{font-size:clamp(1.75rem,8.4vw,2.35rem);letter-spacing:-.02em}
  h2{font-size:clamp(1.5rem,6.9vw,2.2rem)}
  .btn{padding:1rem 1.4rem;letter-spacing:.16em;font-size:.72rem}
}

/* Homepage headline. The box hugs its longest line so the accent line can be
   optically centred beneath it, and the display size is capped to what
   .hero-inner can actually hold on one line. */
.hero-mega.hero-wide{
  max-width:100%;
  width:fit-content;
  font-size:clamp(2.3rem,5.4vw,4.2rem);
}
/* Accent line: serif italic against the Archivo Black slab, centred. */
.h-accent{
  display:block;
  text-align:center;
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  font-style:italic;
  font-weight:700;
  color:var(--gold);
  text-transform:none;
  letter-spacing:0;
  font-size:1.16em;
  line-height:1.08;
  margin-top:.06em;
}
@media (max-width:430px){
  .hero-mega.hero-wide{font-size:clamp(1.75rem,8.4vw,2.35rem)}
  .h-accent{font-size:1.28em}
}

/* Phones: tighten vertical rhythm. Stacked single-column cards make the page
   far taller than the desktop layout implies. */
@media (max-width:600px){
  .sec-dark,.sec-mid,.sec-deep,.form-sec{padding:2.75rem 0}
  .hero{padding:7.5rem 0 3rem}
  .hero.tall{padding:8rem 0 3.25rem}
  .hero-label{margin-bottom:1.5rem}
  .hero-mega{margin-bottom:1.5rem}
  .hero-statement{padding-top:1.25rem;margin-bottom:1.75rem}
  .card{padding:1.5rem 1.35rem}
  .card-grid,.card-grid.three,.card-grid.two{gap:.85rem;margin-top:1.75rem}
  .band{padding:3rem 0}
  .photo-band{padding:3rem 0}
  .stats-wrap{padding:2.75rem 0 1.75rem}
  .stats-grid{gap:1.6rem}
  .timeline,.steps{gap:1.6rem;margin-top:1.75rem}
  .flywheel{margin-top:1.75rem}
  .fw-step{padding:1.15rem 0}
  .news{padding:2.5rem 0}
  .footer{padding:2.75rem 0 1.5rem}
  .f-grid{margin-bottom:1.75rem}
}

/* ---------------------------------------------------------------
   MOBILE SCROLL PERFORMANCE
   Two things carried over from the original site are the usual
   causes of scroll jank on a real phone:
   1. backdrop-filter on a position:fixed header. The blurred region
      has to be recomposited on every scroll frame, which is the
      single most common cause of a sticky-feeling header on iOS.
   2. An feTurbulence SVG noise overlay across the hero. The filter
      is expensive to rasterise on mobile GPUs.
   Both are decorative, so they are dropped on small screens and a
   flat colour is used instead. Desktop keeps them.
   --------------------------------------------------------------- */
@media (max-width:900px){
  .nav,
  .nav.scrolled{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .nav.scrolled{background:#070d1a}
  .hero::after{display:none}
  .ticker-track{animation:none;transform:none}
  .ticker{white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
  .ticker::-webkit-scrollbar{display:none}
}

/* Anyone who has asked their device to reduce motion gets no
   marquee and no animated anchor scrolling. */
@media (prefers-reduced-motion: reduce){
  .ticker-track{animation:none}
  *{transition-duration:.01ms !important}
}

/* Phones: hold the header at one size. Animating padding and image height on a
   position:fixed element forces a layout pass on the compositor thread every
   time the scroll threshold is crossed. */
@media (max-width:900px){
  .nav,.nav.scrolled{padding:.85rem 0;transition:background-color .25s}
  .nav-brand img,.nav.scrolled .nav-brand img{height:36px;transition:none}
}
