/* =========================================================
   AeroLink International Travels — Design Tokens
   Palette (light, soft-professional theme):
     --navy      #12233F  headings, primary text, footer bg
     --blue      #2F6FED  primary accent (buttons, links, icons)
     --blue-dark #1E54C4  accent hover
     --ice       #F5F9FF  page background (light blue-white)
     --white     #FFFFFF
     --gray-100  #EEF2F7  alt card background
     --slate     #45505E  body text
     --whatsapp  #25D366  functional brand color
   Type:
     Display: 'Poppins' (headings) — clean, geometric, modern
     Body:    'Inter'   (paragraphs, UI)
   ========================================================= */

:root{
  --navy:#0A1F44;
  --nav-gradient:linear-gradient(100deg, #062A45 0%, #0A4D68 52%, #103A60 100%);
  --navy-deep:#061530;
  --blue:#2F6FED;
  --blue-dark:#1E54C4;
  --gold:#D4A72C;
  --gold-deep:#A97F22;
  --ice:#E3EFFC;
  --ice-dim:#D3E5FA;
  --white:#FFFFFF;
  --gray-100:#EEF2F7;
  --slate:#42506B;
  --slate-soft:#6B7684;
  --whatsapp:#25D366;
  --line:rgba(10,31,68,.10);
  --line-light:rgba(255,255,255,.28);
  --radius:16px;
  --radius-sm:10px;
  --shadow-sm:0 4px 16px rgba(10,31,68,.08);
  --shadow-md:0 18px 40px rgba(10,31,68,.14);
  --container:1180px;
  --font-display:'Poppins', system-ui, sans-serif;
  --font-body:'Inter', system-ui, -apple-system, Segoe UI, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{overflow-x:hidden; scroll-behavior:smooth; scroll-padding-top:92px;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--slate);
  background:var(--ice);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none; margin:0; padding:0;}
h1,h2,h3,h4{font-family:var(--font-display); color:var(--navy); line-height:1.2; margin:0 0 .5em; font-weight:700;}
p{margin:0 0 1em;}
button{font:inherit; cursor:pointer;}

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

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--navy); color:#fff;
  padding:12px 18px; z-index:1000; border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}
:focus-visible{outline:3px solid var(--blue); outline-offset:2px;}

/* ---------- Eyebrow ---------- */
.eyebrow{
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold-deep);
  margin:0 0 .7em;
  display:inline-block;
}
.eyebrow-light{color:var(--gold);}

.section-head{max-width:640px; margin:0 0 44px;}
.section-head h2{position:relative; padding-bottom:.5em;}
.section-head h2::after{
  content:""; position:absolute; left:0; bottom:0; width:52px; height:3px; border-radius:2px;
  background:linear-gradient(90deg, var(--gold), var(--blue));
}
.section-head.center h2::after{left:50%; transform:translateX(-50%);}
.section-head.center{max-width:640px; margin-left:auto; margin-right:auto; text-align:center;}
.section-sub{color:var(--slate-soft); font-size:1.02rem;}
.verify-tag{font-style:italic; color:var(--blue-dark); font-size:.8rem; display:block; margin-top:.4em;}
.verify-tag.verified{color:#1E8E3E; font-style:normal; font-weight:600;}
.verify-tag.coming-soon{color:var(--gold-deep); font-style:normal; font-weight:600;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.55em;
  padding:.9em 1.7em;
  border-radius:999px;
  font-weight:600;
  font-size:.95rem;
  border:1.5px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  white-space:nowrap;
  font-family:var(--font-body);
}
.btn-primary{background:var(--gold); color:var(--navy-deep); box-shadow:0 10px 24px rgba(212,175,55,.32);}
.btn-primary:hover{background:var(--gold-deep); transform:translateY(-2px);}
.btn:active{transform:translateY(0) scale(.97);}
.btn-outline{border-color:var(--blue); color:var(--blue); background:#fff;}
.btn-outline:hover{background:var(--ice-dim); transform:translateY(-2px);}
.btn-outline-light{border-color:var(--line-light); color:#fff;}
.btn-outline-light:hover{background:rgba(255,255,255,.12); transform:translateY(-2px);}
.btn-whatsapp{background:var(--whatsapp); color:#fff;}
.btn-whatsapp:hover{background:#1EBE59; transform:translateY(-2px);}
.btn-sm{padding:.6em 1.3em; font-size:.85rem;}
.btn-block{width:100%; justify-content:center;}
.btn-spinner{display:none; width:16px; height:16px; border-radius:50%; border:2px solid rgba(18,35,63,.25); border-top-color:var(--navy-deep); animation:spin .7s linear infinite;}
.is-submitting .btn-label{opacity:.6;}
.is-submitting .btn-spinner{display:inline-block;}
@keyframes spin{to{transform:rotate(360deg);}}

.link-arrow{
  font-weight:600; color:var(--blue); display:inline-flex; align-items:center; gap:.5em;
  transition:gap .18s ease;
}
.link-arrow:hover{gap:.8em; color:var(--blue-dark);}

/* ---------- Header ---------- */
.site-header{
  position:fixed; top:0; left:0; right:0; width:100%; z-index:500;
  background:var(--nav-gradient);
  backdrop-filter:blur(16px) saturate(115%);
  -webkit-backdrop-filter:blur(16px) saturate(115%);
  border-bottom:1.5px solid rgba(212,175,55,.45);
  box-shadow:0 8px 28px rgba(6,16,32,.18);
}
/* Keep the navbar visually consistent while scrolling. */
.site-header.scrolled{
  background:var(--nav-gradient);
  border-bottom:1.5px solid rgba(212,175,55,.45);
  box-shadow:0 8px 28px rgba(6,16,32,.22);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; height:82px; gap:20px;}
.brand{display:flex; align-items:center; gap:.65em; color:#fff; flex-shrink:0;}
.brand-mark{
  color:#fff; background:#FFFFFF; width:48px; height:48px; border-radius:10px;
  display:flex; align-items:center; justify-content:center; font-size:1.05rem; flex-shrink:0; overflow:hidden;
  padding:4px; box-shadow:0 3px 10px rgba(0,0,0,.18);
  transition:transform .3s ease, filter .3s ease;
}
.brand-mark img{width:100%; height:100%; object-fit:contain; object-position:center;}
.brand:hover .brand-mark{transform:scale(1.08); filter:drop-shadow(0 5px 12px rgba(10,31,68,.3));}
.brand:active .brand-mark{transform:scale(1.03);}
.brand-word{display:flex; flex-direction:column; line-height:1.1;}
.brand-name{font-family:var(--font-display); font-weight:700; font-size:1.3rem; color:#fff;}
.brand-sub{font-size:.68rem; letter-spacing:.06em; color:rgba(255,255,255,.72); font-weight:600;}

.main-nav ul{display:flex; gap:.25rem;}
.nav-link{
  font-weight:600; font-size:.94rem; color:rgba(255,255,255,.9); position:relative;
  padding:.62em .9em; border-radius:6px;
  transition:color .22s ease, background-color .22s ease;
}
.nav-link::after{
  content:""; position:absolute; left:.9em; right:.9em; bottom:.28em; height:2px;
  background:var(--gold); border-radius:2px; transform:scaleX(0); transform-origin:center;
  transition:transform .22s ease;
}
.nav-link:hover{
  color:#fff;
  background:rgba(255,255,255,.07);
}
.nav-link:hover::after{transform:scaleX(1);}
.nav-link.active-link{
  color:#fff;
  font-weight:700;
  background:rgba(255,255,255,.06);
}
.nav-link.active-link::after{transform:scaleX(1);}
/* Mobile menu stays light/opaque. */
.main-nav.open .nav-link{color:var(--slate); background:transparent;}
.main-nav.open .nav-link:hover{color:var(--navy-deep); background:var(--ice);}
.main-nav.open .nav-link.active-link{color:var(--navy-deep); background:var(--ice);}

.header-actions{display:flex; align-items:center; gap:.7rem;}
.nav-toggle{display:none; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; border:none; background:none; border-radius:8px;}
.nav-toggle span{width:22px; height:2px; background:#fff; margin:0 auto; transition:.25s ease;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- Hero ---------- */
.hero{position:relative; overflow:hidden; padding-top:56px; min-height:640px; display:flex; align-items:center;}
.hero-video-wrap{position:absolute; inset:0; width:100%; height:100%; z-index:0; background:var(--navy);}
.hero-video{width:100%; height:100%; object-fit:cover; object-position:center 65%; display:block; filter:blur(1.5px) brightness(.9) saturate(1.05);}
.hero-video-scrim{
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(6,16,32,.72) 0%, rgba(9,24,50,.68) 45%, rgba(11,33,72,.6) 75%, rgba(11,33,72,.48) 100%),
             linear-gradient(0deg, rgba(6,16,32,.5) 0%, rgba(6,16,32,0) 42%),
             linear-gradient(0deg, var(--ice) 0%, rgba(227,239,252,0) 9%);
}
.hero-inner{
  position:relative; z-index:1;
  padding:120px 24px 150px;
  width:100%;
}
.hero-copy{
  max-width:660px; animation:heroFadeUp .9s ease both;
  background:rgba(6,16,32,.28); backdrop-filter:blur(18px) saturate(140%); -webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgba(255,255,255,.12); border-radius:24px;
  padding:2.4rem 2.6rem;
}
.hero-title-light{font-size:clamp(2.3rem,4.6vw,3.6rem); color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.35);}
.hero-lead-light{max-width:46ch; font-size:1.08rem; color:rgba(255,255,255,.88);}
.hero-actions{display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.8rem; animation:heroFadeUp 1.1s ease .15s both;}
@keyframes heroFadeUp{from{opacity:0; transform:translateY(18px);} to{opacity:1; transform:translateY(0);}}

.hero-stats-wrap{position:relative; z-index:2; margin-top:-64px;}
.hero-stats-card{
  background:rgba(255,255,255,.34); backdrop-filter:blur(24px) saturate(160%); -webkit-backdrop-filter:blur(24px) saturate(160%);
  border-radius:var(--radius); box-shadow:var(--shadow-md); border:1px solid rgba(255,255,255,.5);
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px;
  padding:28px 34px; margin:0;
}
.hero-stats-card > div{display:flex; align-items:center; gap:.9rem; flex:1 1 180px; min-width:0;}
.stat-icon{
  width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,.55); color:var(--blue);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0;
}
.hero-stats-card dt{font-family:var(--font-display); font-size:1.3rem; color:var(--navy); margin:0; font-weight:700; text-shadow:0 1px 2px rgba(255,255,255,.4);}
.hero-stats-card dd{margin:0; font-size:.82rem; color:#2E3B4E; font-weight:500;}

/* ---------- About ---------- */
/* Hero phone quick-link */
.hero-phone{color:#fff; font-weight:700; display:inline-flex; align-items:center; gap:.5em; font-size:1rem; padding:.5em 0;}
.hero-phone i{color:var(--gold);}

.about{padding:120px 0 100px;}
.about-grid{display:grid; grid-template-columns:.85fr minmax(0,1fr); gap:64px; align-items:center;}
.about-media{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-md);}
.about-media img{aspect-ratio:7/8; object-fit:cover; transition:transform .5s ease;}
.about-media:hover img{transform:scale(1.04);}
.about-copy h2{font-family:var(--font-display); font-size:clamp(1.75rem,3vw,2.3rem); line-height:1.18; letter-spacing:-.02em; font-weight:700; color:var(--navy);}
.about-copy p{color:var(--slate-soft);}
.about-points{margin:1.4rem 0 1.8rem; display:flex; flex-direction:column; gap:.7rem;}
.about-points li{display:flex; gap:.7em; align-items:flex-start; font-weight:500; color:var(--slate);}
.about-points i{color:var(--blue); margin-top:.2em;}

/* ---------- Card grid base ---------- */
.card-grid{display:grid; gap:28px;}

/* ---------- Services ---------- */
.services{padding:100px 0; background:#fff;}
.services-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
.service-card{background:#fff; border-radius:var(--radius); padding:1.9rem 1.5rem; border:1px solid var(--line); border-top:3px solid transparent; background-image:linear-gradient(#fff,#fff), linear-gradient(90deg, var(--blue), var(--gold)); background-origin:border-box; background-clip:padding-box, border-box; box-shadow:var(--shadow-sm); transition:transform .22s ease, box-shadow .22s ease;}
.service-card:hover{box-shadow:var(--shadow-md);}
.service-icon{width:52px; height:52px; border-radius:12px; background:linear-gradient(135deg, var(--blue), var(--blue-dark)); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem; font-size:1.2rem; box-shadow:0 8px 18px rgba(47,111,237,.28);}
.service-card h3{font-size:1.05rem;}
.service-card p{color:var(--slate-soft); font-size:.92rem; margin:0;}

/* ---------- Team ---------- */
.team{padding:100px 0;}
.team-grid{grid-template-columns:repeat(5, minmax(0,1fr));}
.team-card{
  background:#fff; border-radius:var(--radius); padding:2rem 1.4rem; text-align:center;
  border:1px solid var(--line); transition:transform .22s ease, box-shadow .22s ease;
}
.team-card:hover{box-shadow:var(--shadow-md);}
.team-card img{
  width:96px; height:96px; border-radius:50%; object-fit:cover; margin:0 auto 1rem;
  border:3px solid var(--ice-dim);
}
.team-card h3{font-size:1.02rem; margin-bottom:.15em;}
.team-card .role{color:var(--blue); font-weight:600; font-size:.85rem; margin-bottom:.5em;}
.team-card .bio{color:var(--slate-soft); font-size:.85rem; margin-bottom:1rem; min-height:2.6em;}
.social-icons{display:flex; justify-content:center; gap:.6rem;}
.social-icons a{
  width:32px; height:32px; border-radius:50%; background:var(--ice-dim); color:var(--blue);
  display:flex; align-items:center; justify-content:center; font-size:.82rem;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
.social-icons a:hover{background:var(--blue); color:#fff; transform:translateY(-2px);}

/* ---------- Why Choose Us ---------- */
.why-us{padding:100px 0; background:#fff; position:relative; overflow:hidden;}
.why-us::before{
  content:""; position:absolute; inset:0; opacity:.35; pointer-events:none;
  background:radial-gradient(circle at 15% 20%, rgba(212,175,55,.06) 0%, transparent 40%),
             radial-gradient(circle at 85% 80%, rgba(47,111,237,.07) 0%, transparent 45%);
}
.why-us .eyebrow{color:var(--blue);}
.why-us .section-head h2{color:var(--navy);}
.why-us .section-sub{color:var(--slate-soft);}
.why-grid{grid-template-columns:repeat(3, minmax(0,1fr)); position:relative; z-index:1;}
.why-card{
  background:#fff;
  border-radius:var(--radius); padding:2rem 1.7rem; border:1px solid var(--line); border-top:3px solid transparent;
  background-image:linear-gradient(#fff,#fff), linear-gradient(90deg, var(--gold), var(--blue));
  background-origin:border-box; background-clip:padding-box, border-box;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.why-card:hover{box-shadow:var(--shadow-md);}
.why-icon{width:52px; height:52px; border-radius:50%; background:var(--ice-dim); color:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem; font-size:1.25rem;}
.why-card h3{font-size:1.1rem; color:var(--navy);}
.why-card p{color:var(--slate-soft); font-size:.94rem; margin:0;}

/* ---------- CTA banner ---------- */
.cta-banner{background:linear-gradient(120deg, var(--navy) 0%, #0B1930 100%); color:#fff; padding:70px 0;}
.cta-inner{display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap;}
.cta-inner h2{color:#fff; font-size:clamp(1.5rem,3vw,2.1rem); max-width:18ch; margin:0;}
.cta-actions{display:flex; gap:1rem; flex-wrap:wrap;}

/* ---------- Contact ---------- */
.contact{padding:100px 0;}
.contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; margin-bottom:56px;}
.info-list{display:flex; flex-direction:column; gap:1.5rem;}
.info-list li{display:flex; gap:1rem; align-items:flex-start;}
.info-icon{width:42px; height:42px; flex-shrink:0; border-radius:10px; background:var(--ice-dim); color:var(--blue); display:flex; align-items:center; justify-content:center;}
.info-list strong{display:block; color:var(--navy); font-size:.98rem; margin-bottom:.2em;}
.info-list p{margin:0; color:var(--slate-soft); font-size:.95rem; overflow-wrap:anywhere;}
.info-list a:hover{color:var(--blue);}

.social-row{margin-top:2.2rem;}
.social-row > span{font-weight:600; font-size:.9rem; color:var(--slate-soft); display:block; margin-bottom:.8rem;}
.social-grid{display:flex; flex-wrap:wrap; gap:.7rem;}
.social-icon{
  width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.05rem; color:#fff; background:var(--navy); border:none; cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
  box-shadow:0 6px 16px rgba(10,31,68,.18);
}
.social-icon:hover{transform:translateY(-4px) scale(1.06); filter:brightness(1.08);}
.social-whatsapp{background:var(--whatsapp);}
.social-facebook{background:#1877F2;}
.social-viber{background:#7360F2;}
.social-email{background:linear-gradient(135deg, var(--blue), var(--blue-dark));}
.social-phone{background:linear-gradient(135deg, var(--gold), var(--gold-deep)); color:var(--navy-deep);}
.social-muted{background:var(--gray-100); color:var(--slate-soft); box-shadow:none; cursor:not-allowed; opacity:.7;}
.social-muted:hover{transform:none; filter:none;}
.social-note{font-size:.78rem; color:var(--slate-soft); margin:.8rem 0 0; max-width:34ch;}

.enquiry-form{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:2rem; box-shadow:var(--shadow-sm);}
.form-row{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.1rem;}
.field{margin-bottom:1.1rem;}
.field label{display:block; font-size:.85rem; font-weight:600; color:var(--navy); margin-bottom:.4em;}
.field input, .field select, .field textarea{width:100%; padding:.8em .9em; border-radius:var(--radius-sm); border:1.5px solid var(--line); font:inherit; color:var(--slate); background:var(--ice); transition:border-color .18s ease, background .18s ease;}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--blue); background:#fff;}
.field textarea{resize:vertical;}
.field.has-error input, .field.has-error select, .field.has-error textarea{border-color:#C0392B;}
.field-error{display:block; font-size:.78rem; color:#C0392B; min-height:1.1em; margin-top:.3em;}
.form-note{font-size:.9rem; font-weight:600; color:#1E8E3E; margin:.8rem 0 0;}
.form-fineprint{font-size:.76rem; color:var(--slate-soft); margin:.6rem 0 0;}

/* ---------- Enquiry form: dynamic service-specific fields ---------- */
.dynamic-fields{
  overflow:hidden; max-height:1200px; opacity:1; visibility:visible;
  transition:max-height .35s ease, opacity .3s ease, margin .35s ease, visibility 0s linear;
  margin-bottom:0;
}
.dynamic-fields[hidden]{display:block; max-height:0; opacity:0; margin:0; visibility:hidden; pointer-events:none;}
.req{color:#C0392B;}
.field-narrow{max-width:220px;}
@media (max-width:640px){
  .field-narrow{max-width:none;}
}

.map-wrap{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-sm); position:relative;}
.map-wrap iframe{width:100%; height:340px; border:0; display:block;}
.map-open-link{
  position:absolute; right:14px; bottom:14px; display:inline-flex; align-items:center; gap:.5em;
  background:#fff; color:var(--navy); padding:.6em 1.1em; border-radius:999px; font-size:.82rem; font-weight:600;
  box-shadow:var(--shadow-sm); transition:transform .18s ease, background .18s ease;
}
.map-open-link:hover{background:var(--gold); transform:translateY(-2px);}

/* ---------- Footer ---------- */
.site-footer{background:var(--nav-gradient); color:rgba(255,255,255,.78); padding:76px 0 0;}
.footer-grid{display:grid; grid-template-columns:1.4fr minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); gap:40px; padding-bottom:52px; border-bottom:1px solid var(--line-light);}
.footer-brand .brand{color:#fff;}
.footer-brand .brand-sub{color:rgba(255,255,255,.6);}
.footer-brand p{margin:1rem 0 1.2rem; font-size:.92rem; max-width:32ch;}
.footer-social{display:inline-flex; align-items:center; gap:.5em; background:rgba(255,255,255,.1); color:#fff; padding:.55em 1.1em; border-radius:999px; font-size:.78rem; font-weight:600; transition:background .2s ease, transform .2s ease; overflow-wrap:anywhere; max-width:100%;}
.footer-social:hover{background:var(--blue); transform:translateY(-2px);}
.footer-col h4{color:#fff; font-family:var(--font-body); font-size:.85rem; letter-spacing:.05em; text-transform:uppercase; margin-bottom:1.1rem;}
.footer-col ul{display:flex; flex-direction:column; gap:.65rem; font-size:.92rem;}
.footer-col a:hover{color:#BFD6FF;}
.footer-contact li{color:rgba(255,255,255,.78); display:flex; gap:.5em; align-items:flex-start;}
.footer-legal{margin-top:1.2rem; padding-top:1rem; border-top:1px solid var(--line-light); display:flex; flex-direction:column; gap:.5rem;}
.footer-legal a{font-size:.85rem; display:inline-flex; align-items:center; gap:.4em; overflow-wrap:anywhere;}
.legal-tag{font-size:.62rem; text-transform:uppercase; letter-spacing:.04em; color:rgba(255,255,255,.4); border:1px solid rgba(255,255,255,.25); padding:.05em .4em; border-radius:999px;}
.footer-bottom{display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:24px 0; font-size:.8rem; color:rgba(255,255,255,.55);}

/* ---------- Floating action buttons ---------- */
.fab-stack{position:fixed; right:20px; bottom:20px; display:flex; flex-direction:column; gap:12px; z-index:400;}
.fab{
  width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 20px rgba(10,31,68,.28); font-size:1.2rem; color:#fff;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease, filter .3s ease;
  opacity:0; transform:translateX(30px); animation:fabIn .5s ease forwards;
}
.fab:nth-child(1){animation-delay:.05s;}
.fab:nth-child(2){animation-delay:.15s;}
.fab:nth-child(3){animation-delay:.25s;}
.fab:nth-child(4){animation-delay:.35s;}
.fab:nth-child(5){animation-delay:.45s;}
@keyframes fabIn{to{opacity:1; transform:translateX(0);}}
.fab-whatsapp{background:var(--whatsapp);}
.fab-facebook{background:#1877F2;}
.fab-viber{background:#7360F2;}
.fab-email{background:linear-gradient(135deg, var(--blue), var(--blue-dark));}
.fab-call{background:linear-gradient(135deg, var(--gold), var(--gold-deep)); color:var(--navy-deep);}
.fab:hover{transform:translateY(-5px) scale(1.1); box-shadow:0 14px 30px rgba(10,31,68,.38); filter:brightness(1.08);}
.fab:active{transform:translateY(-2px) scale(1.02);}

/* ---------- 3D tilt (JS-driven, subtle) ---------- */
.tilt-card{transform-style:preserve-3d; will-change:transform; transition:transform .25s ease, box-shadow .25s ease;}
.no-js .tilt-card:hover, .tilt-card:hover{box-shadow:var(--shadow-md);}
.tilt-card-soft{transition:transform .35s ease; will-change:transform;}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in-view{opacity:1; transform:translateY(0);}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .services-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .why-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .team-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
  .about-grid{grid-template-columns:minmax(0,1fr); gap:40px;}
  .about-media img{aspect-ratio:16/9;}
  .contact-grid{grid-template-columns:minmax(0,1fr); gap:36px;}
  .hero-copy{text-align:center; margin:0 auto;}
  .hero-actions{justify-content:center;}
  .hero-lead-light{margin-left:auto; margin-right:auto;}
}

@media (max-width:840px){
  .main-nav{position:fixed; inset:82px 0 0 0; background:var(--white); transform:translateX(100%); opacity:0; visibility:hidden; transition:transform .32s ease, opacity .28s ease, visibility .32s; padding:2rem 24px; overflow-y:auto;}
  .main-nav.open{transform:translateX(0); opacity:1; visibility:visible;}
  .main-nav ul{flex-direction:column; gap:1.4rem; font-size:1.15rem;}
  .nav-toggle{display:flex;}
  .cta-inner{flex-direction:column; align-items:flex-start;}
  .hero-stats-card{flex-direction:column;}
}

@media (max-width:640px){
  .header-inner{height:68px;}
  .brand-sub{display:none;}
  .services-grid, .why-grid, .team-grid{grid-template-columns:minmax(0,1fr);}
  .form-row{grid-template-columns:minmax(0,1fr);}
  .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px;}
  .footer-brand{grid-column:1 / -1;}
  .hero-stats-wrap{margin-top:-40px;}
  .hero-stats-card{padding:22px;}
  .hero-copy{padding:1.6rem 1.4rem; border-radius:18px;}
  .hero{min-height:520px;}
  .hero-inner{padding:90px 20px 120px;}
}

@media (max-width:420px){
  .footer-grid{grid-template-columns:minmax(0,1fr);}
  .fab-stack{right:14px; bottom:14px;}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.01ms !important; transition-duration:.01ms !important;}
  .reveal{opacity:1; transform:none;}
}
