/* ==========================================================================
   AEROVENTA AVIATION — Premium Aviation Supply Corporate Theme
   Colors extracted directly from the official brand logo:
   Navy  #0A1C40  |  Red  #D80305
   ========================================================================== */

:root{
  /* ---- Brand (from logo) ---- */
  --av-navy:        #0A1C40;
  --av-navy-900:    #060F24;
  --av-navy-800:    #0A1C40;
  --av-navy-700:    #142A57;
  --av-navy-600:    #1E3A6E;
  --av-navy-500:    #2B4B85;

  --av-red:         #D80305;
  --av-red-600:     #B60204;
  --av-red-400:     #EC3336;
  --av-red-soft:    rgba(216,3,5,.10);

  /* ---- Neutrals / metallic ---- */
  --av-white:       #FFFFFF;
  --av-light:       #F4F6F9;
  --av-grey-100:    #EDF0F5;
  --av-grey-200:    #DDE2EB;
  --av-grey-300:    #C6CDDA;
  --av-steel:       #8A95A9;
  --av-slate:       #5A6579;
  --av-ink:         #16203A;

  --av-metal:       linear-gradient(135deg,#EEF1F6 0%,#D7DDE8 45%,#F6F8FB 100%);
  --av-grad-navy:   linear-gradient(135deg,#0A1C40 0%,#142A57 55%,#1E3A6E 100%);
  --av-grad-red:    linear-gradient(135deg,#D80305 0%,#EC3336 100%);

  /* ---- Elevation ---- */
  --sh-sm: 0 2px 10px rgba(10,28,64,.06);
  --sh-md: 0 10px 30px rgba(10,28,64,.10);
  --sh-lg: 0 22px 60px rgba(10,28,64,.16);
  --sh-red:0 12px 30px rgba(216,3,5,.28);

  --radius:   14px;
  --radius-sm:10px;

  --ff: 'Roboto', -apple-system, "Segoe UI", Arial, sans-serif;
  --header-h: 86px;
}

/* ==========================================================================
   BASE
   ========================================================================== */
*{ -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; scroll-padding-top:120px; }

body{
  font-family:var(--ff);
  color:var(--av-slate);
  background:var(--av-white);
  font-size:16px;
  line-height:1.75;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--ff);
  color:var(--av-navy);
  font-weight:700;
  line-height:1.22;
  letter-spacing:-.02em;
}
h1{ font-size:clamp(2.1rem,4.6vw,3.65rem); font-weight:800; }
h2{ font-size:clamp(1.75rem,3.1vw,2.6rem); }
h3{ font-size:clamp(1.15rem,1.8vw,1.4rem); }

a{ text-decoration:none; color:var(--av-navy); transition:.3s ease; }
a:hover{ color:var(--av-red); }
img{ max-width:100%; height:auto; }
p{ margin-bottom:1rem; }

::selection{ background:var(--av-red); color:#fff; }

/* Scrollbar */
::-webkit-scrollbar{ width:10px; }
::-webkit-scrollbar-track{ background:var(--av-grey-100); }
::-webkit-scrollbar-thumb{ background:var(--av-navy-600); border-radius:20px; }
::-webkit-scrollbar-thumb:hover{ background:var(--av-red); }

.section{ padding:100px 0; position:relative; }
.section-sm{ padding:72px 0; }
.bg-light-av{ background:var(--av-light); }
.bg-navy-av{ background:var(--av-grad-navy); color:rgba(255,255,255,.78); }
.bg-navy-av h2,.bg-navy-av h3,.bg-navy-av h4{ color:#fff; }

/* ==========================================================================
   SECTION HEADINGS
   ========================================================================== */
.sec-head{ margin-bottom:54px; }
.sec-tag{
  display:inline-flex; align-items:center; gap:10px;
  font-size:.75rem; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--av-red); margin-bottom:16px;
}
.sec-tag::before{
  content:""; width:30px; height:2px; background:var(--av-red); display:block;
}
.sec-tag.center-tag::after{
  content:""; width:30px; height:2px; background:var(--av-red); display:block;
}
.bg-navy-av .sec-tag{ color:#FF6B6D; }
.bg-navy-av .sec-tag::before,.bg-navy-av .sec-tag::after{ background:#FF6B6D; }

.sec-title{ margin-bottom:16px; }
.sec-sub{ max-width:640px; margin-bottom:0; }
.text-center .sec-sub{ margin-left:auto; margin-right:auto; }
.text-center .sec-tag{ justify-content:center; }

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.btn{
  font-weight:600; font-size:.94rem; letter-spacing:.01em;
  padding:14px 30px; border-radius:8px; border:1.5px solid transparent;
  transition:all .32s cubic-bezier(.4,0,.2,1);
  display:inline-flex; align-items:center; gap:10px; position:relative; overflow:hidden;
}
.btn i{ transition:transform .32s ease; font-size:.88em; }
.btn:hover i.fa-arrow-right{ transform:translateX(5px); }

.btn-av{
  background:var(--av-grad-red); color:#fff; box-shadow:var(--sh-red);
}
.btn-av:hover{ color:#fff; transform:translateY(-3px); box-shadow:0 18px 40px rgba(216,3,5,.38); }

.btn-av-navy{ background:var(--av-navy); color:#fff; }
.btn-av-navy:hover{ background:var(--av-navy-600); color:#fff; transform:translateY(-3px); box-shadow:var(--sh-md); }

.btn-av-outline{
  background:rgba(255,255,255,.06); color:#fff; border-color:rgba(255,255,255,.45);
  backdrop-filter:blur(10px);
}
.btn-av-outline:hover{ background:#fff; color:var(--av-navy); border-color:#fff; transform:translateY(-3px); }

.btn-av-ghost{ background:transparent; color:var(--av-navy); border-color:var(--av-grey-300); }
.btn-av-ghost:hover{ background:var(--av-navy); color:#fff; border-color:var(--av-navy); }

.btn-sm-av{ padding:10px 22px; font-size:.85rem; }
.btn-lg-av{ padding:17px 40px; font-size:1rem; }

/* ==========================================================================
   HEADER
   ========================================================================== */
.topbar{
  background:var(--av-navy-900);
  color:rgba(255,255,255,.72);
  font-size:.82rem;
  padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.topbar a{ color:rgba(255,255,255,.78); }
.topbar a:hover{ color:#fff; }
.topbar-tag{ display:inline-flex; align-items:center; gap:9px; }
.topbar-tag .dot{
  width:7px; height:7px; border-radius:50%; background:var(--av-red);
  box-shadow:0 0 0 4px rgba(216,3,5,.22); flex:none;
}
.topbar-pill{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.10);
  padding:5px 14px; border-radius:30px; font-weight:500;
}
.topbar-pill i{ color:var(--av-red-400); font-size:.78rem; }
.topbar-pill:hover{ background:rgba(255,255,255,.13); }
.topbar-social{
  width:31px; height:31px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10);
  font-size:.82rem;
}
.topbar-social:hover{ background:var(--av-red); border-color:var(--av-red); color:#fff; transform:translateY(-2px); }
.topbar-div{ width:1px; height:20px; background:rgba(255,255,255,.16); }

.main-header{
  background:#fff;
  box-shadow:0 1px 0 rgba(10,28,64,.08);
  transition:box-shadow .3s ease, padding .3s ease;
  z-index:1030;
}
.main-header.is-sticky{
  position:fixed; top:0; left:0; right:0;
  box-shadow:0 8px 30px rgba(10,28,64,.12);
  animation:slideDown .45s ease forwards;
}
@keyframes slideDown{ from{ transform:translateY(-100%);} to{ transform:translateY(0);} }

.navbar{ padding:0; }
.navbar-brand{ padding:15px 0; }
.navbar-brand img{ height:54px; width:auto; transition:height .3s ease; }
.is-sticky .navbar-brand img{ height:46px; }

.navbar-nav .nav-link{
  font-weight:500; font-size:.94rem; color:var(--av-navy);
  padding:31px 17px !important; position:relative;
}
.navbar-nav .nav-link::after{
  content:""; position:absolute; left:17px; right:17px; bottom:24px;
  height:2.5px; background:var(--av-red); transform:scaleX(0);
  transform-origin:left; transition:transform .32s ease; border-radius:2px;
}
.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after{ transform:scaleX(1); }
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{ color:var(--av-red); }

.header-cta{ display:flex; align-items:center; gap:16px; }
.header-phone{
  width:44px; height:44px; border-radius:50%; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--av-light); color:var(--av-navy); font-size:1rem;
}
.header-phone:hover{ background:var(--av-navy); color:#fff; }

.navbar-toggler{ border:none; padding:6px 10px; box-shadow:none !important; }
.navbar-toggler i{ font-size:1.5rem; color:var(--av-navy); }

/* ==========================================================================
   HERO CAROUSEL
   ========================================================================== */
.hero{ position:relative; overflow:hidden; background:var(--av-navy-900); }
.hero .swiper{ height:clamp(560px,84vh,850px); }
.hero-slide{ position:relative; height:100%; display:flex; align-items:center; }
.hero-bg{
  position:absolute; inset:-6% 0; background-size:cover; background-position:center;
  transform:scale(1.12); transition:transform 8s cubic-bezier(.2,0,.2,1);
  will-change:transform;
}
.swiper-slide-active .hero-bg{ transform:scale(1); }
.hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(6,15,36,.94) 0%, rgba(10,28,64,.86) 42%, rgba(10,28,64,.42) 75%, rgba(10,28,64,.30) 100%),
    linear-gradient(180deg, rgba(6,15,36,.55) 0%, transparent 35%, rgba(6,15,36,.55) 100%);
}
.hero-overlay::after{
  content:""; position:absolute; inset:0;
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.028) 0 1px, transparent 1px 78px);
}
.hero-content{ position:relative; z-index:3; color:#fff; max-width:770px; }
.hero-tag{
  display:inline-flex; align-items:center; gap:12px;
  font-size:.76rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:#fff; margin-bottom:22px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(14px); padding:9px 20px; border-radius:40px;
}
.hero-tag .dot{
  width:8px; height:8px; border-radius:50%; background:var(--av-red);
  box-shadow:0 0 0 5px rgba(216,3,5,.28);
}
.hero h1{ color:#fff; margin-bottom:22px; text-shadow:0 4px 30px rgba(0,0,0,.35); }
.hero h1 .accent{ position:relative; color:#fff; display:inline-block; }
.hero h1 .accent::after{
  content:""; position:absolute; left:0; right:0; bottom:.04em; height:5px;
  background:var(--av-grad-red); border-radius:4px;
}
.hero-desc{
  font-size:clamp(1rem,1.35vw,1.13rem); color:rgba(255,255,255,.85);
  max-width:610px; margin-bottom:34px;
}
.hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:30px; }
.hero-direct{ font-size:.92rem; color:rgba(255,255,255,.72); display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.hero-direct a{ color:#fff; font-weight:600; display:inline-flex; align-items:center; gap:8px; }
.hero-direct a i{ color:var(--av-red-400); }
.hero-direct a:hover{ color:var(--av-red-400); }

/* Swiper controls */
.hero .swiper-pagination{
  right:34px !important; left:auto !important; width:auto !important;
  display:flex; flex-direction:column; gap:11px; align-items:center;
}
.hero .swiper-pagination-bullet{
  width:4px; height:26px; border-radius:4px; background:rgba(255,255,255,.35); opacity:1;
  transition:.3s ease; margin:0 !important;
}
.hero .swiper-pagination-bullet-active{ background:var(--av-red); height:44px; }
.hero-nav{
  position:absolute; z-index:5; bottom:42px; left:auto; right:34px;
  display:flex; gap:10px;
}
.hero-btn{
  width:50px; height:50px; border-radius:10px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(12px); color:#fff; font-size:.95rem; transition:.3s ease;
}
.hero-btn:hover{ background:var(--av-red); border-color:var(--av-red); }

/* Hero feature strip */
.hero-strip{
  position:relative; z-index:6; margin-top:-72px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(22px);
  border:1px solid rgba(255,255,255,.7);
  border-radius:var(--radius);
  box-shadow:var(--sh-lg);
  padding:8px 0;
}
.hero-strip .strip-item{
  display:flex; align-items:center; gap:15px; padding:20px 22px;
  border-right:1px solid var(--av-grey-100);
}
.hero-strip .col-strip:last-child .strip-item{ border-right:none; }
.strip-ico{
  width:44px; height:44px; border-radius:50%; flex:none;
  display:flex; align-items:center; justify-content:center;
  background:var(--av-navy); color:#fff; font-size:.95rem;
  transition:.32s ease;
}
.strip-item:hover .strip-ico{ background:var(--av-red); transform:rotateY(180deg); }
.strip-item h6{ font-size:.83rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin:0 0 2px; }
.strip-item span{ font-size:.83rem; color:var(--av-steel); }

/* ==========================================================================
   PAGE BANNER (inner pages)
   ========================================================================== */
.page-banner{
  position:relative; padding:110px 0 100px; overflow:hidden;
  background:var(--av-navy-900);
}
.page-banner .pb-bg{
  position:absolute; inset:0; background-size:cover; background-position:center; opacity:.42;
}
.page-banner::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(6,15,36,.94) 0%,rgba(10,28,64,.80) 55%,rgba(10,28,64,.55) 100%);
}
.page-banner .container{ position:relative; z-index:3; }
.page-banner h1{ color:#fff; margin-bottom:12px; }
.page-banner .breadcrumb{ margin:0; }
.page-banner .breadcrumb-item,
.page-banner .breadcrumb-item a{ color:rgba(255,255,255,.72); font-size:.9rem; }
.page-banner .breadcrumb-item a:hover{ color:#fff; }
.page-banner .breadcrumb-item.active{ color:var(--av-red-400); }
.page-banner .breadcrumb-item+.breadcrumb-item::before{ color:rgba(255,255,255,.4); }

/* ==========================================================================
   ABOUT
   ========================================================================== */
.about-visual{ position:relative; }
.about-visual .img-main{
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--sh-lg);
}
.about-visual .img-main img{ width:100%; display:block; aspect-ratio:4/4.3; object-fit:cover; }
.about-visual .img-sub{
  position:absolute; right:-18px; bottom:58px; width:52%;
  border-radius:var(--radius); overflow:hidden;
  border:7px solid #fff; box-shadow:var(--sh-lg);
}
.about-visual .img-sub img{ width:100%; display:block; aspect-ratio:4/3; object-fit:cover; }
.exp-badge{
  position:absolute; left:-16px; top:34px; z-index:3;
  background:var(--av-grad-red); color:#fff; border-radius:var(--radius);
  padding:20px 26px; box-shadow:var(--sh-red); text-align:center;
}
.exp-badge .num{ font-size:2.4rem; font-weight:800; line-height:1; display:block; }
.exp-badge .lbl{ font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; opacity:.92; }

.about-list{ list-style:none; padding:0; margin:26px 0 30px; }
.about-list li{
  display:flex; gap:13px; align-items:flex-start; margin-bottom:13px; font-size:.96rem;
}
.about-list li i{
  color:var(--av-red); margin-top:6px; font-size:.82rem; flex:none;
}
.about-list li strong{ color:var(--av-navy); font-weight:600; }

/* Counters */
.counter-box{
  background:#fff; border:1px solid var(--av-grey-100); border-radius:var(--radius);
  padding:30px 22px; text-align:center; height:100%;
  transition:.35s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden;
}
.counter-box::before{
  content:""; position:absolute; left:0; top:0; height:3px; width:100%;
  background:var(--av-grad-red); transform:scaleX(0); transform-origin:left; transition:.35s ease;
}
.counter-box:hover{ transform:translateY(-8px); box-shadow:var(--sh-md); border-color:transparent; }
.counter-box:hover::before{ transform:scaleX(1); }
.counter-box .c-ico{ color:var(--av-red); font-size:1.5rem; margin-bottom:12px; }
.counter-box .c-num{
  font-size:2.3rem; font-weight:800; color:var(--av-navy); line-height:1; margin-bottom:6px;
}
.counter-box .c-lbl{ font-size:.85rem; font-weight:500; color:var(--av-steel); letter-spacing:.04em; }

/* ==========================================================================
   PRODUCT CARDS
   ========================================================================== */
.prod-card{
  background:#fff; border:1px solid var(--av-grey-100); border-radius:var(--radius);
  overflow:hidden; height:100%; display:flex; flex-direction:column;
  transition:.4s cubic-bezier(.4,0,.2,1);
}
.prod-card:hover{ transform:translateY(-10px); box-shadow:var(--sh-lg); border-color:transparent; }
.prod-media{ position:relative; overflow:hidden; aspect-ratio:16/11; background:var(--av-grey-100); }
.prod-media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .8s cubic-bezier(.2,0,.2,1);
}
.prod-card:hover .prod-media img{ transform:scale(1.10); }
.prod-media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(10,28,64,0) 40%,rgba(10,28,64,.55) 100%);
  opacity:0; transition:.4s ease;
}
.prod-card:hover .prod-media::after{ opacity:1; }
.prod-badge{
  position:absolute; top:14px; left:14px; z-index:2;
  background:rgba(255,255,255,.94); backdrop-filter:blur(10px);
  color:var(--av-navy); font-size:.68rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; padding:6px 13px; border-radius:6px;
}
.prod-body{ padding:24px 24px 26px; flex:1 1 auto; display:flex; flex-direction:column; }
.prod-body h3{ font-size:1.12rem; margin-bottom:10px; transition:.3s ease; }
.prod-card:hover .prod-body h3{ color:var(--av-red); }
.prod-body p{ font-size:.9rem; color:var(--av-steel); margin-bottom:18px; flex:1 1 auto; }
.prod-link{
  font-size:.84rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--av-navy); display:inline-flex; align-items:center; gap:9px; align-self:flex-start;
}
.prod-link i{ transition:transform .3s ease; font-size:.78em; }
.prod-link:hover{ color:var(--av-red); }
.prod-link:hover i{ transform:translateX(5px); }

/* Swiper generic nav for product slider */
.slider-nav{ display:flex; gap:10px; }
.slider-btn{
  width:46px; height:46px; border-radius:9px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  border:1.5px solid var(--av-grey-200); background:#fff;
  color:var(--av-navy); transition:.3s ease; font-size:.9rem;
}
.slider-btn:hover{ background:var(--av-navy); color:#fff; border-color:var(--av-navy); }
.slider-btn.swiper-button-disabled{ opacity:.4; cursor:default; }
.slider-btn.swiper-button-disabled:hover{ background:#fff; color:var(--av-navy); border-color:var(--av-grey-200); }
.prod-swiper{ padding-bottom:8px; }

/* ==========================================================================
   WHY CHOOSE US
   ========================================================================== */
.why-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(16px);
  border-radius:var(--radius); padding:32px 26px; height:100%;
  transition:.38s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden;
}
.why-card::before{
  content:""; position:absolute; inset:0;
  background:var(--av-grad-red); opacity:0; transition:.38s ease; z-index:-1;
}
.why-card:hover{ transform:translateY(-8px); background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.24); }
.why-ico{
  width:56px; height:56px; border-radius:12px; margin-bottom:20px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(216,3,5,.16); border:1px solid rgba(216,3,5,.30);
  color:#FF6B6D; font-size:1.25rem; transition:.38s ease;
}
.why-card:hover .why-ico{ background:var(--av-red); border-color:var(--av-red); color:#fff; }
.why-card h3{ font-size:1.06rem; color:#fff; margin-bottom:10px; }
.why-card p{ font-size:.89rem; color:rgba(255,255,255,.66); margin:0; }

/* ==========================================================================
   INDUSTRIES
   ========================================================================== */
.ind-card{
  background:#fff; border:1px solid var(--av-grey-100); border-radius:var(--radius);
  padding:34px 22px; text-align:center; height:100%;
  transition:.38s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden;
}
.ind-card::after{
  content:""; position:absolute; left:50%; bottom:0; width:0; height:3px;
  background:var(--av-grad-red); transform:translateX(-50%); transition:.38s ease;
}
.ind-card:hover{ transform:translateY(-8px); box-shadow:var(--sh-md); border-color:transparent; }
.ind-card:hover::after{ width:60%; }
.ind-ico{
  width:70px; height:70px; border-radius:50%; margin:0 auto 18px;
  display:flex; align-items:center; justify-content:center;
  background:var(--av-light); color:var(--av-navy); font-size:1.5rem;
  transition:.38s cubic-bezier(.4,0,.2,1);
}
.ind-card:hover .ind-ico{ background:var(--av-navy); color:#fff; transform:translateY(-4px); }
.ind-card h3{ font-size:1rem; margin-bottom:8px; }
.ind-card p{ font-size:.85rem; color:var(--av-steel); margin:0; }

/* ==========================================================================
   PROCESS TIMELINE
   ========================================================================== */
.process-wrap{ position:relative; }
.process-wrap::before{
  content:""; position:absolute; left:50%; top:20px; bottom:20px; width:2px;
  background:linear-gradient(180deg,transparent,var(--av-grey-200) 8%,var(--av-grey-200) 92%,transparent);
  transform:translateX(-50%);
}
.p-row{ position:relative; display:flex; align-items:center; margin-bottom:34px; }
.p-row:last-child{ margin-bottom:0; }
.p-row:nth-child(even){ flex-direction:row-reverse; }
.p-side{ width:50%; padding:0 52px; }
.p-row:nth-child(odd) .p-side{ text-align:right; }
.p-node{
  position:absolute; left:50%; transform:translateX(-50%); z-index:3;
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#fff; border:2px solid var(--av-grey-200);
  color:var(--av-navy); font-weight:800; font-size:1.02rem;
  box-shadow:0 0 0 8px #fff; transition:.38s cubic-bezier(.4,0,.2,1);
}
.p-row:hover .p-node{ background:var(--av-grad-red); border-color:var(--av-red); color:#fff; box-shadow:0 0 0 8px #fff, var(--sh-red); }
.p-card{
  background:#fff; border:1px solid var(--av-grey-100); border-radius:var(--radius);
  padding:26px 28px; transition:.38s cubic-bezier(.4,0,.2,1);
}
.p-row:hover .p-card{ transform:translateY(-5px); box-shadow:var(--sh-md); border-color:transparent; }
.p-card .p-step{
  font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--av-red); display:block; margin-bottom:7px;
}
.p-card h3{ font-size:1.06rem; margin-bottom:8px; }
.p-card p{ font-size:.89rem; color:var(--av-steel); margin:0; }

/* ==========================================================================
   FORMS / CONTACT
   ========================================================================== */
.form-panel{
  background:#fff; border-radius:var(--radius); box-shadow:var(--sh-lg);
  padding:44px 42px; border:1px solid var(--av-grey-100);
}
.form-label{
  font-size:.82rem; font-weight:600; color:var(--av-navy);
  letter-spacing:.03em; margin-bottom:7px;
}
.form-label .req{ color:var(--av-red); }
.form-control,.form-select{
  border:1.5px solid var(--av-grey-200); border-radius:8px;
  padding:13px 16px; font-size:.93rem; color:var(--av-ink);
  background:var(--av-white); transition:.28s ease;
}
.form-control::placeholder{ color:var(--av-grey-300); }
.form-control:focus,.form-select:focus{
  border-color:var(--av-navy-600); box-shadow:0 0 0 4px rgba(30,58,110,.10);
}
textarea.form-control{ resize:vertical; min-height:130px; }

.contact-info-card{
  background:var(--av-grad-navy); border-radius:var(--radius); padding:42px 38px;
  color:rgba(255,255,255,.76); position:relative; overflow:hidden;
}
.contact-info-card::after{
  content:"\f072"; font-family:"Font Awesome 6 Free"; font-weight:900;
  position:absolute; right:-24px; bottom:-30px; font-size:12rem;
  color:rgba(255,255,255,.035); transform:rotate(-18deg); pointer-events:none;
}
.ci-item{ display:flex; gap:16px; margin-bottom:26px; position:relative; z-index:2; }
.ci-item:last-child{ margin-bottom:0; }
.ci-ico{
  width:46px; height:46px; border-radius:10px; flex:none;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.14);
  color:#FF6B6D; font-size:1rem; transition:.32s ease;
}
.ci-item:hover .ci-ico{ background:var(--av-red); border-color:var(--av-red); color:#fff; }
.ci-item h6{ font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.55); margin:0 0 5px; }
.ci-item p,.ci-item a{ color:#fff; font-size:.96rem; margin:0; font-weight:500; line-height:1.6; }
.ci-item a:hover{ color:#FF6B6D; }

.map-frame{
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--sh-md); line-height:0;
  border:1px solid var(--av-grey-100);
}
.map-frame iframe{ width:100%; height:400px; border:0; display:block; filter:grayscale(.25); }

/* ==========================================================================
   CTA STRIP
   ========================================================================== */
.cta-strip{
  position:relative; overflow:hidden; border-radius:var(--radius);
  background:var(--av-grad-navy); padding:56px 54px; color:rgba(255,255,255,.78);
}
.cta-strip::after{
  content:""; position:absolute; right:-60px; top:-60px; width:320px; height:320px;
  border-radius:50%; background:radial-gradient(circle,rgba(216,3,5,.28),transparent 68%);
}
.cta-strip h2{ color:#fff; margin-bottom:10px; }
.cta-strip p{ margin:0; }
.cta-strip .cta-inner{ position:relative; z-index:2; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{
  background:#04101F; color:rgba(255,255,255,.60); position:relative; overflow:hidden;
  padding-top:78px;
}
.site-footer::before{
  content:"AEROVENTA"; position:absolute; left:50%; bottom:88px;
  transform:translateX(-50%); font-size:13rem; font-weight:800; letter-spacing:.04em;
  color:rgba(255,255,255,.018); white-space:nowrap; pointer-events:none; line-height:1;
}
.site-footer .container{ position:relative; z-index:2; }
.footer-logo{ height:52px; width:auto; margin-bottom:22px; }
.footer-about{ font-size:.92rem; line-height:1.85; max-width:330px; }
.f-head{
  display:inline-flex; align-items:center; gap:9px;
  font-size:.76rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:#fff; margin-bottom:24px;
}
.f-head::before{ content:""; width:16px; height:2px; background:rgba(255,255,255,.35); }
.f-head::after{ content:""; width:6px; height:6px; border-radius:50%; background:var(--av-red); }
.f-links{ list-style:none; padding:0; margin:0; }
.f-links li{ margin-bottom:13px; }
.f-links a{ color:rgba(255,255,255,.60); font-size:.93rem; display:inline-block; }
.f-links a:hover{ color:#fff; transform:translateX(5px); }

.f-contact{ list-style:none; padding:0; margin:0; }
.f-contact li{ display:flex; gap:14px; margin-bottom:17px; font-size:.93rem; align-items:flex-start; }
.f-contact li i{
  width:34px; height:34px; border-radius:8px; flex:none; margin-top:2px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09);
  color:#FF6B6D; font-size:.82rem;
}
.f-contact li a{ color:rgba(255,255,255,.60); }
.f-contact li a:hover{ color:#fff; }
.f-btns{ display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.f-btn{
  display:inline-flex; align-items:center; gap:8px; font-size:.83rem; font-weight:600;
  padding:9px 17px; border-radius:8px; color:#fff;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.11); transition:.3s ease;
}
.f-btn:hover{ background:var(--av-red); border-color:var(--av-red); color:#fff; transform:translateY(-2px); }
.f-btn.wa:hover{ background:#25D366; border-color:#25D366; }
.f-btn i{ font-size:.9em; }

.footer-bottom{
  margin-top:56px; border-top:1px solid rgba(255,255,255,.08); padding:22px 0;
  font-size:.86rem;
}
.footer-bottom a{ color:rgba(255,255,255,.60); }
.footer-bottom a:hover{ color:#fff; }
.footer-bottom .dev a{ color:#fff; font-weight:600; }
.fb-links{ display:flex; gap:22px; flex-wrap:wrap; }
.footer-disclaimer{
  border-top:1px solid rgba(255,255,255,.06); padding:18px 0 26px;
  font-size:.79rem; font-style:italic; color:rgba(255,255,255,.34); line-height:1.85;
}

/* ==========================================================================
   FLOAT ACTIONS
   ========================================================================== */
.float-wa{
  position:fixed; right:22px; bottom:22px; z-index:1040;
  width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#25D366; color:#fff; font-size:1.5rem;
  box-shadow:0 10px 28px rgba(37,211,102,.42);
  animation:waPulse 2.6s infinite;
}
.float-wa:hover{ color:#fff; transform:scale(1.08); }
@keyframes waPulse{
  0%{ box-shadow:0 10px 28px rgba(37,211,102,.42), 0 0 0 0 rgba(37,211,102,.5); }
  70%{ box-shadow:0 10px 28px rgba(37,211,102,.42), 0 0 0 18px rgba(37,211,102,0); }
  100%{ box-shadow:0 10px 28px rgba(37,211,102,.42), 0 0 0 0 rgba(37,211,102,0); }
}
.to-top{
  position:fixed; right:22px; bottom:88px; z-index:1039;
  width:46px; height:46px; border-radius:50%; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  background:var(--av-navy); color:#fff; border:none; font-size:.9rem;
  opacity:0; visibility:hidden; transform:translateY(12px); transition:.35s ease;
}
.to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.to-top:hover{ background:var(--av-red); }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1199.98px){
  .navbar-nav .nav-link{ padding:28px 12px !important; font-size:.9rem; }
  .navbar-nav .nav-link::after{ left:12px; right:12px; }
  .site-footer::before{ font-size:9rem; }
}

@media (max-width:991.98px){
  .section{ padding:74px 0; }
  .navbar-collapse{
    background:#fff; margin-top:6px; padding:12px 4px 18px;
    border-top:1px solid var(--av-grey-100); max-height:72vh; overflow-y:auto;
  }
  .navbar-nav .nav-link{ padding:12px 6px !important; }
  .navbar-nav .nav-link::after{ display:none; }
  .navbar-collapse .header-cta{ padding:14px 6px 0; }
  .hero .swiper{ height:auto; min-height:600px; }
  .hero-slide{ padding:120px 0 100px; }
  .hero-content{ max-width:100%; }
  .hero .swiper-pagination{ flex-direction:row; right:auto !important; left:0 !important; width:100% !important; bottom:22px; }
  .hero .swiper-pagination-bullet{ width:22px; height:4px; }
  .hero .swiper-pagination-bullet-active{ width:38px; height:4px; }
  .hero-nav{ display:none; }
  .hero-strip{ margin-top:-40px; }
  .hero-strip .strip-item{ border-right:none; border-bottom:1px solid var(--av-grey-100); }
  .hero-strip .col-strip:last-child .strip-item{ border-bottom:none; }
  .about-visual{ margin-bottom:44px; }
  .about-visual .img-sub{ right:0; width:46%; }
  .process-wrap::before{ left:27px; }
  .p-row,.p-row:nth-child(even){ flex-direction:row; }
  .p-side{ width:100%; padding:0 0 0 76px; }
  .p-row:nth-child(odd) .p-side{ text-align:left; }
  .p-side.p-empty{ display:none; }
  .p-node{ left:27px; }
  .form-panel{ padding:34px 26px; }
  .cta-strip{ padding:42px 30px; text-align:center; }
  .site-footer::before{ display:none; }
  .footer-bottom{ text-align:center; }
  .fb-links{ justify-content:center; margin-top:10px; }
}

@media (max-width:767.98px){
  .section{ padding:60px 0; }
  .sec-head{ margin-bottom:38px; }
  .hero-slide{ padding:100px 0 90px; }
  .hero-actions .btn{ width:100%; justify-content:center; }
  .contact-info-card{ padding:32px 26px; }
  .map-frame iframe{ height:300px; }
  .exp-badge{ left:0; padding:16px 20px; }
  .exp-badge .num{ font-size:1.9rem; }
  .about-visual .img-sub{ position:static; width:100%; margin-top:16px; border-width:0; }
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
  html{ scroll-behavior:auto; }
  .hero-bg{ transform:scale(1); }
}
