/* =========================================================
   UNITED AVIATION — Design tokens
   Palette:
     --navy-deep   #0A1B33   primary dark bg
     --navy-mid    #122A4D   secondary dark bg / cards
     --navy-line   #1E3A63   hairlines on dark
     --sky         #2F7FE8   primary accent (matches brand mark)
     --sky-bright  #6FB0FF   hover / highlight
     --gold        #C9A24B   premium accent (Hajj & Umrah, CTAs)
     --ice         #F5F8FC   light bg
     --cloud       #93A8C9   muted text on dark
     --ink         #0A1B33   text on light
   Type:
     Display  — 'Big Shoulders Display' (tall, condensed, airport-signage)
     Body     — 'Inter'
     Utility  — 'Space Mono' (flight numbers / departure-board digits)
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@600;700;800&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

:root{
  --navy-deep:#0A1B33;
  --navy-mid:#122A4D;
  --navy-line:#1E3A63;
  --sky:#2F7FE8;
  --sky-bright:#6FB0FF;
  --gold:#C9A24B;
  --gold-bright:#E0BE6C;
  --ice:#F5F8FC;
  --ink:#0A1B33;
  --cloud:#93A8C9;
  --max:1180px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  background:var(--ice);
  color:var(--ink);
  line-height:1.6;
  overflow-x:hidden;
}

img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}

.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}

h1,h2,h3,h4{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  letter-spacing:.01em;
  line-height:1.05;
  text-transform:uppercase;
}

.eyebrow{
  font-family:'Space Mono', monospace;
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--gold);
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:26px; height:1px;
  background:var(--gold);
  display:inline-block;
}

.mono{font-family:'Space Mono', monospace;}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

/* ---------------- Header ---------------- */
header.site{
  position:sticky; top:0; z-index:500;
  background:rgba(10,27,51,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--navy-line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 28px;
  max-width:var(--max); margin:0 auto;
}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{width:46px; height:46px; border-radius:50%;}
.brand .name{
  font-family:'Big Shoulders Display', sans-serif;
  font-weight:800;
  font-size:1.28rem;
  color:#fff;
  letter-spacing:.03em;
  line-height:1;
}
.brand .tag{
  font-family:'Space Mono', monospace;
  font-size:.62rem;
  letter-spacing:.18em;
  color:var(--gold);
  text-transform:uppercase;
}
nav.links{display:flex; gap:34px; align-items:center;}
nav.links a{
  color:var(--cloud);
  font-size:.86rem;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
  position:relative;
  padding:6px 0;
  transition:color .2s;
}
nav.links a::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:0; height:2px; background:var(--sky-bright);
  transition:width .25s;
}
nav.links a:hover, nav.links a.active{color:#fff;}
nav.links a:hover::after, nav.links a.active::after{width:100%;}
.nav-cta{
  background:var(--gold);
  color:var(--navy-deep) !important;
  padding:10px 20px;
  border-radius:3px;
  font-weight:700 !important;
  font-size:.82rem !important;
  letter-spacing:.04em;
}
.nav-cta::after{display:none;}
.nav-cta:hover{background:var(--gold-bright);}

.burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px;}
.burger span{width:24px; height:2px; background:#fff; display:block;}

@media (max-width:860px){
  nav.links{
    position:fixed; inset:66px 0 0 0;
    background:var(--navy-deep);
    flex-direction:column; justify-content:flex-start;
    padding:34px 28px; gap:26px;
    transform:translateX(100%);
    transition:transform .3s ease;
  }
  nav.links.open{transform:translateX(0);}
  .burger{display:flex;}
}

/* ---------------- Buttons ---------------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 30px;
  font-weight:700; font-size:.86rem;
  letter-spacing:.05em; text-transform:uppercase;
  border-radius:3px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .2s, box-shadow .2s, background .2s, color .2s;
}
.btn-primary{background:var(--gold); color:var(--navy-deep);}
.btn-primary:hover{background:var(--gold-bright); transform:translateY(-2px); box-shadow:0 10px 24px rgba(201,162,75,.35);}
.btn-outline{border-color:rgba(255,255,255,.35); color:#fff;}
.btn-outline:hover{border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-2px);}
.btn-dark{background:var(--navy-deep); color:#fff;}
.btn-dark:hover{background:var(--navy-mid); transform:translateY(-2px);}

/* ---------------- Hero (shared dark section) ---------------- */
.hero{
  position:relative;
  background:radial-gradient(ellipse at 20% -10%, #1a3a68 0%, var(--navy-deep) 55%), var(--navy-deep);
  color:#fff;
  overflow:hidden;
  padding:86px 0 60px;
}
.hero .wrap{position:relative; z-index:3;}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center;}
@media (max-width:940px){.hero-grid{grid-template-columns:1fr;}}

.hero h1{color:#fff; font-size:clamp(2.4rem,5.4vw,4.1rem);}
.hero h1 em{font-style:normal; color:var(--gold);}
.hero p.lead{color:var(--cloud); font-size:1.06rem; max-width:520px; margin-top:18px;}
.hero-ctas{display:flex; gap:16px; margin-top:32px; flex-wrap:wrap;}

/* stars / dotted sky */
.stars{position:absolute; inset:0; z-index:1; opacity:.5;
  background-image:radial-gradient(1px 1px at 20px 30px, #fff 100%, transparent),
                    radial-gradient(1px 1px at 120px 80px, #fff 100%, transparent),
                    radial-gradient(1px 1px at 210px 40px, #fff 100%, transparent),
                    radial-gradient(1px 1px at 300px 120px, #fff 100%, transparent),
                    radial-gradient(1px 1px at 400px 20px, #fff 100%, transparent),
                    radial-gradient(1px 1px at 480px 90px, #fff 100%, transparent);
  background-repeat:repeat; background-size:520px 160px;
}

/* ---------------- Departure board (split-flap) ---------------- */
.board{
  background:var(--navy-mid);
  border:1px solid var(--navy-line);
  border-radius:6px;
  padding:20px 22px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.55);
}
.board-head{
  display:flex; justify-content:space-between; align-items:center;
  font-family:'Space Mono', monospace;
  font-size:.68rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold); border-bottom:1px solid var(--navy-line);
  padding-bottom:12px; margin-bottom:12px;
}
.board-head .dot{width:7px; height:7px; border-radius:50%; background:#38d97a; display:inline-block; margin-right:6px; box-shadow:0 0 8px #38d97a;}
.board-row{
  display:grid;
  grid-template-columns:1.3fr 2fr 1fr 1fr;
  gap:10px;
  padding:10px 0;
  border-bottom:1px dashed rgba(255,255,255,.08);
  font-family:'Space Mono', monospace;
  font-size:.78rem;
  color:#dbe6f5;
  align-items:center;
}
.board-row:last-child{border-bottom:none;}
.board-row .status{
  color:#38d97a; letter-spacing:.06em; font-weight:700; font-size:.68rem;
  animation:flicker 3.2s infinite;
}
.board-row .dest{color:#fff; font-weight:700; letter-spacing:.02em;}
@keyframes flicker{0%,100%{opacity:1;} 50%{opacity:.55;}}

/* flap letter animation on load */
.flap{display:inline-block; overflow:hidden; height:1em; vertical-align:bottom;}
.flap span{display:block; animation:flapdown .5s steps(6) 1 both;}
@keyframes flapdown{
  0%{transform:translateY(-100%); opacity:0;}
  100%{transform:translateY(0); opacity:1;}
}

/* ---------------- 3D Globe (pure CSS) ---------------- */
.globe-wrap{
  position:relative;
  width:100%; max-width:340px; aspect-ratio:1/1; margin:0 auto;
  perspective:900px;
}
.globe{
  position:absolute; inset:8%;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%, #6fb0ff 0%, #2f7fe8 38%, #143c72 72%, #0a1b33 100%);
  box-shadow:
    inset -18px -18px 50px rgba(0,0,0,.55),
    inset 12px 10px 40px rgba(255,255,255,.15),
    0 30px 70px -10px rgba(47,127,232,.45);
  animation:spin 22s linear infinite;
  transform-style:preserve-3d;
}
.globe::before, .globe::after{
  content:"";
  position:absolute; inset:0;
  border-radius:50%;
  background-image:
    repeating-linear-gradient(90deg, rgba(255,255,255,.14) 0 2px, transparent 2px 42px);
  mix-blend-mode:overlay;
}
.globe::after{
  background-image:repeating-linear-gradient(0deg, rgba(255,255,255,.1) 0 2px, transparent 2px 36px);
}
@keyframes spin{ from{background-position:0 0;} to{background-position:340px 0;} }

.orbit{
  position:absolute; inset:-4%;
  border:1px dashed rgba(111,176,255,.35);
  border-radius:50%;
  animation:orbitspin 14s linear infinite;
}
.orbit .plane{
  position:absolute; top:-9px; left:50%;
  width:22px; height:22px; margin-left:-11px;
  color:var(--gold);
  filter:drop-shadow(0 0 6px rgba(201,162,75,.7));
}
@keyframes orbitspin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }

.orbit2{
  position:absolute; inset:8%;
  border:1px dashed rgba(201,162,75,.25);
  border-radius:50%;
  animation:orbitspin 22s linear infinite reverse;
}

/* ---------------- Route map ---------------- */
.route-map{width:100%; height:auto;}
.route-map .land{fill:#152f56;}
.route-map .route{
  fill:none; stroke:var(--gold); stroke-width:1.6; stroke-dasharray:5 6;
  animation:dash 3.5s linear infinite;
}
@keyframes dash{ to{ stroke-dashoffset:-100; } }
.route-map .hub{fill:#fff; stroke:var(--gold); stroke-width:1.5;}
.route-map .plane-icon{ offset-rotate:auto; }

/* ---------------- Sections (light) ---------------- */
section{padding:96px 0;}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head h2{font-size:clamp(1.9rem,4vw,2.7rem); color:var(--navy-deep); margin-top:10px;}
.section-head p{color:#4a5b78; margin-top:14px; font-size:1.02rem;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

.bg-navy{background:var(--navy-deep); color:#fff;}
.bg-navy .section-head p{color:var(--cloud);}
.bg-navy .section-head h2{color:#fff;}

/* Reveal-on-scroll */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* ---------------- Stat strip ---------------- */
.stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--navy-line);
  border-top:1px solid var(--navy-line); border-bottom:1px solid var(--navy-line);
}
.stat{background:var(--navy-deep); padding:34px 24px; text-align:center;}
.stat .num{font-family:'Space Mono',monospace; font-size:2.1rem; color:var(--gold); font-weight:700;}
.stat .lbl{font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cloud); margin-top:6px;}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,1fr);}}

/* ---------------- Service cards ---------------- */
.grid-services{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:940px){.grid-services{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.grid-services{grid-template-columns:1fr;}}

.card{
  background:#fff;
  border:1px solid #e3e9f2;
  border-radius:6px;
  padding:30px 26px;
  position:relative;
  overflow:hidden;
  transform-style:preserve-3d;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
}
.card:hover{
  transform:translateY(-8px) rotateX(3deg) rotateY(-3deg);
  box-shadow:0 26px 50px -18px rgba(10,27,51,.28);
}
.card .icon{
  width:52px; height:52px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--sky), #1a4fa8);
  color:#fff; margin-bottom:18px;
  box-shadow:0 12px 22px -8px rgba(47,127,232,.55);
}
.card h3{font-size:1.18rem; color:var(--navy-deep); text-transform:none; letter-spacing:0;}
.card p{color:#556380; margin-top:10px; font-size:.93rem;}
.card .stamp{
  position:absolute; top:20px; right:20px;
  font-family:'Space Mono',monospace; font-size:.62rem;
  letter-spacing:.12em; color:var(--gold);
  border:1px solid var(--gold); border-radius:20px;
  padding:3px 10px; opacity:.85;
}

/* ---------------- Destination chips ---------------- */
.chip-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px;}
.chip{
  font-family:'Space Mono',monospace; font-size:.76rem; letter-spacing:.05em;
  border:1px solid var(--navy-line); color:var(--cloud);
  padding:8px 16px; border-radius:20px;
}

/* ---------------- Two column feature ---------------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
@media (max-width:900px){.split{grid-template-columns:1fr; gap:36px;}}
.split ul.checks li{
  display:flex; gap:12px; align-items:flex-start;
  margin-top:16px; color:#3d4c68; font-size:.98rem;
}
.split ul.checks li svg{flex:none; margin-top:3px; color:var(--sky);}

/* ---------------- Boarding pass panel ---------------- */
.pass{
  background:#fff; border:1px solid #e3e9f2; border-radius:10px;
  display:grid; grid-template-columns:1fr auto;
  box-shadow:0 30px 60px -30px rgba(10,27,51,.35);
  overflow:hidden;
}
.pass-main{padding:30px 30px;}
.pass-main .route{
  display:flex; align-items:center; gap:16px;
  font-family:'Big Shoulders Display'; font-weight:800; font-size:1.6rem; color:var(--navy-deep);
}
.pass-main .route svg{color:var(--gold);}
.pass-main .grid4{
  display:grid; grid-template-columns:repeat(4,auto); gap:26px; margin-top:20px;
}
.pass-main .grid4 div span{display:block; font-size:.64rem; letter-spacing:.14em; color:#8391ad; text-transform:uppercase; margin-bottom:4px;}
.pass-main .grid4 div b{font-family:'Space Mono',monospace; font-size:.92rem; color:var(--navy-deep);}
.pass-stub{
  background:var(--navy-deep); color:#fff; padding:26px 22px;
  display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px;
  border-left:2px dashed #cfd9e8; min-width:150px;
}
.pass-stub .mono{font-size:.68rem; letter-spacing:.12em; color:var(--gold);}

/* ---------------- Testimonials ---------------- */
.testi{
  background:#fff; border:1px solid #e3e9f2; border-radius:6px; padding:28px;
}
.testi .stars-row{color:var(--gold); font-size:.9rem; letter-spacing:2px;}
.testi p{margin-top:14px; color:#3d4c68; font-size:.95rem;}
.testi .who{margin-top:16px; font-weight:700; font-size:.86rem; color:var(--navy-deep);}
.testi .who span{display:block; font-weight:400; color:#8391ad; font-size:.78rem;}

/* ---------------- CTA banner ---------------- */
.cta-banner{
  background:linear-gradient(120deg, var(--navy-deep) 0%, #12305c 100%);
  color:#fff; border-radius:10px; padding:50px 44px;
  display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap;
  position:relative; overflow:hidden;
}
.cta-banner h3{font-size:clamp(1.5rem,3vw,2.2rem); max-width:560px;}
.cta-banner p{color:var(--cloud); margin-top:8px;}

/* ---------------- Footer ---------------- */
footer.site{background:var(--navy-deep); color:var(--cloud); padding:64px 0 26px;}
.foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1.2fr; gap:40px;}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;}}
footer.site h4{color:#fff; font-size:.82rem; letter-spacing:.1em; margin-bottom:16px; text-transform:uppercase;}
footer.site .brand{margin-bottom:14px;}
footer.site p.small{font-size:.86rem; color:var(--cloud); max-width:280px;}
footer.site ul li{margin-bottom:10px; font-size:.88rem;}
footer.site ul li a:hover{color:#fff;}
.foot-bottom{
  border-top:1px solid var(--navy-line); margin-top:50px; padding-top:22px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-size:.78rem; color:#5c729c;
}
.social-row{display:flex; gap:12px; margin-top:16px;}
.social-row a{
  width:36px; height:36px; border:1px solid var(--navy-line); border-radius:50%;
  display:flex; align-items:center; justify-content:center; transition:all .2s;
}
.social-row a:hover{background:var(--sky); border-color:var(--sky); color:#fff;}

/* ---------------- Page hero (inner pages) ---------------- */
.page-hero{padding:70px 0 56px;}
.page-hero .eyebrow{color:var(--gold);}
.page-hero h1{color:#fff; font-size:clamp(2.1rem,4.6vw,3.3rem); margin-top:10px;}
.breadcrumb{font-family:'Space Mono',monospace; font-size:.7rem; color:var(--cloud); letter-spacing:.06em; margin-top:14px;}
.breadcrumb span{color:var(--gold);}

/* ---------------- Value / about blocks ---------------- */
.values{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
@media (max-width:940px){.values{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.values{grid-template-columns:1fr;}}
.value-card{padding:26px 22px; border:1px solid #e3e9f2; border-radius:6px; text-align:left;}
.value-card .num{font-family:'Space Mono',monospace; color:var(--gold); font-size:.8rem;}
.value-card h4{margin-top:10px; font-size:1.02rem; color:var(--navy-deep); text-transform:none;}
.value-card p{margin-top:8px; font-size:.88rem; color:#556380;}

/* ---------------- Timeline ---------------- */
.timeline{position:relative; margin-top:10px; padding-left:34px; border-left:2px solid #dfe6f0;}
.t-item{position:relative; padding-bottom:36px;}
.t-item::before{
  content:""; position:absolute; left:-41px; top:2px;
  width:14px; height:14px; border-radius:50%; background:var(--sky);
  border:3px solid #fff; box-shadow:0 0 0 2px var(--sky);
}
.t-item .yr{font-family:'Space Mono',monospace; color:var(--gold); font-size:.78rem;}
.t-item h4{margin-top:4px; font-size:1.05rem; color:var(--navy-deep); text-transform:none;}
.t-item p{margin-top:6px; color:#556380; font-size:.9rem;}

/* ---------------- Services detail ---------------- */
.service-block{
  display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center;
  padding:56px 0; border-bottom:1px solid #e3e9f2;
}
.service-block:last-child{border-bottom:none;}
.service-block.reverse{grid-template-columns:1.1fr .9fr;}
.service-block.reverse .visual{order:2;}
@media (max-width:900px){
  .service-block, .service-block.reverse{grid-template-columns:1fr;}
  .service-block.reverse .visual{order:0;}
}
.service-block .tagnum{
  font-family:'Space Mono',monospace; font-size:.7rem; color:var(--gold);
  letter-spacing:.14em; text-transform:uppercase;
}
.service-block h3{font-size:1.7rem; color:var(--navy-deep); margin-top:8px; text-transform:none;}
.service-block p.desc{color:#4a5b78; margin-top:14px;}
.service-block ul{margin-top:18px;}
.service-block ul li{
  font-size:.9rem; color:#3d4c68; padding:8px 0; border-bottom:1px dashed #e3e9f2;
  display:flex; justify-content:space-between;
}
.service-block .visual{
  background:var(--navy-deep); border-radius:10px; padding:36px;
  display:flex; align-items:center; justify-content:center; min-height:230px;
  position:relative; overflow:hidden;
}
.service-block .visual .icon-lg{color:var(--gold); width:88px; height:88px;}

/* ---------------- Contact page ---------------- */
.contact-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:50px;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-info .item{display:flex; gap:16px; margin-bottom:26px;}
.contact-info .item .ic{
  width:44px; height:44px; border-radius:8px; background:rgba(201,162,75,.12);
  color:var(--gold); display:flex; align-items:center; justify-content:center; flex:none;
}
.contact-info .item h4{font-size:.9rem; text-transform:none; color:var(--navy-deep);}
.contact-info .item p, .contact-info .item a{font-size:.9rem; color:#556380;}

.form-panel{background:#fff; border:1px solid #e3e9f2; border-radius:8px; padding:36px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media (max-width:560px){.form-row{grid-template-columns:1fr;}}
.field{margin-bottom:18px;}
.field label{display:block; font-size:.76rem; letter-spacing:.06em; text-transform:uppercase; color:#5c6c8a; margin-bottom:8px;}
.field input, .field select, .field textarea{
  width:100%; border:1px solid #d7deea; border-radius:5px; padding:12px 14px;
  font-family:'Inter'; font-size:.92rem; color:var(--ink); background:#fbfcfe;
  transition:border-color .2s, box-shadow .2s;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--sky); box-shadow:0 0 0 3px rgba(47,127,232,.15);
}
.field textarea{resize:vertical; min-height:110px;}
.form-msg{margin-top:16px; font-size:.86rem; padding:12px 16px; border-radius:5px; display:none;}
.form-msg.show{display:block;}
.form-msg.ok{background:rgba(56,217,122,.12); color:#1f9153; border:1px solid rgba(56,217,122,.35);}

.map-embed{border-radius:8px; overflow:hidden; border:1px solid #e3e9f2; margin-top:26px; height:260px;}
.map-embed iframe{width:100%; height:100%; border:0;}

/* FAQ */
.faq-item{border-bottom:1px solid #e3e9f2;}
.faq-q{
  display:flex; justify-content:space-between; align-items:center;
  padding:20px 0; cursor:pointer; font-weight:600; color:var(--navy-deep);
}
.faq-q .plus{font-family:'Space Mono',monospace; color:var(--gold); font-size:1.2rem; transition:transform .25s;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease; color:#556380; font-size:.9rem;}
.faq-item.open .faq-a{padding-bottom:18px;}

/* Focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--sky-bright); outline-offset:2px;
}

/* Marquee strip (destinations ticker) */
.ticker{
  background:var(--navy-mid); border-top:1px solid var(--navy-line); border-bottom:1px solid var(--navy-line);
  overflow:hidden; white-space:nowrap; padding:14px 0;
}
.ticker-track{display:inline-flex; gap:46px; animation:ticker 26s linear infinite;}
.ticker-track span{
  font-family:'Space Mono',monospace; font-size:.78rem; letter-spacing:.1em; color:var(--cloud); text-transform:uppercase;
}
.ticker-track span b{color:var(--gold);}
@keyframes ticker{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
