/* =========================================================
   Zenlogix - inner page styles
   (loads after style.css)
   ========================================================= */

/* ---------- page banner ---------- */
.page_banner{
  position:relative;
  min-height:400px;
  display:flex;
  align-items:center;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.page_banner::before{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(104,7,182,.62) 0%,rgba(104,7,182,.42) 50%,rgba(104,7,182,.72) 100%);
}
.page_banner .container{position:relative;z-index:2;padding-top:var(--head-h);}
.page_banner h1{
  font-family:var(--font-display);
  color:#fff;
  font-size:clamp(36px,4.6vw,64px);
  font-weight:800;
  text-transform:capitalize;
  margin-bottom:14px;
  text-shadow:0 6px 26px rgba(0,0,0,.3);
}
.page_banner .sub{
  color:#fff;
  font-size:20px;
  font-weight:300;
  max-width:760px;
  margin-bottom:28px;
  opacity:.95;
}
.page_banner .btn{border-color:#fff;color:#fff;}
.page_banner .btn:hover{background:#fff;color:var(--brand);}

/* ---------- small breadcrumb banner ---------- */
.crumb_banner{
  position:relative;
  padding:calc(var(--head-h) + 60px) 0 60px;
  background:var(--brand) url(../assets/img/banner-generic.jpeg) center/cover no-repeat;
}
.crumb_banner::before{content:'';position:absolute;inset:0;background:rgba(104,7,182,.82);}
.crumb_banner .container{position:relative;z-index:2;}
.crumb_banner h1{color:#fff;font-size:38px;margin-bottom:6px;}
.crumb{color:rgba(255,255,255,.75);font-size:14px;}
.crumb a{color:rgba(255,255,255,.9);}
.crumb span{margin:0 8px;opacity:.6;}

/* ---------- generic content section ---------- */
.page_section{padding:80px 0;}
.page_section.alt{background:var(--grey-light);}
.page_section.tight{padding:56px 0;}
.narrow{max-width:960px;}
.page_intro h2{font-size:32px;margin-bottom:20px;}
.page_intro p{font-size:16px;}

/* ---------- alternating image / text blocks ---------- */
.svc_block{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:52px;
  align-items:center;
  padding:46px 0;
  border-bottom:1px solid var(--border);
}
.svc_block:last-child{border-bottom:none;}
.svc_block.reverse .svc_media{order:2;}
.svc_block.reverse .svc_body{order:1;}
.svc_media{margin:0;}
.svc_media img{
  width:100%;
  border-radius:8px;
  box-shadow:0 16px 40px rgba(104,7,182,.14);
}
.svc_media figcaption{
  font-size:13px;
  color:var(--grey);
  margin-top:10px;
  font-style:italic;
  text-align:center;
}
.svc_body h3{font-size:26px;margin-bottom:14px;}
.svc_body .btn{margin-top:6px;}
.svc_body .btn + .btn{margin-left:10px;}
.sub_head{
  font-size:15px;
  font-weight:700;
  color:var(--brand);
  margin-bottom:10px;
}

/* ---------- check list ---------- */
.check_list{margin:0 0 22px;}
.check_list li{
  position:relative;
  padding-left:30px;
  margin-bottom:10px;
  font-size:15px;
  line-height:1.6;
}
.check_list li::before{
  content:'';
  position:absolute;
  left:2px;top:7px;
  width:12px;height:7px;
  border-left:2px solid var(--accent);
  border-bottom:2px solid var(--accent);
  transform:rotate(-45deg);
}
.check_list li strong{color:var(--brand);}
.check_list.on_brand li{color:rgba(255,255,255,.9);}
.check_list.on_brand li strong{color:#fff;}

/* ---------- spec table ---------- */
.spec_table_wrap{overflow-x:auto;margin:0 0 24px;}
.spec_table{
  width:100%;
  min-width:520px;
  border-collapse:collapse;
  font-size:15px;
}
.spec_table th{
  background:var(--brand);
  color:#fff;
  font-weight:600;
  text-align:left;
  padding:12px 16px;
  font-size:14px;
  letter-spacing:.3px;
}
.spec_table td{
  padding:12px 16px;
  border-bottom:1px solid var(--border);
  color:#5f6a7d;
}
.spec_table tr:nth-child(even) td{background:#FBF7FE;}

/* ---------- "at a glance" ---------- */
.glance_row{background:var(--brand);padding:70px 0;}
.glance_row .eyebrow{
  color:var(--accent);
  font-size:13px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:8px;
}
.glance_row h2{color:#fff;font-size:32px;margin-bottom:30px;}
.glance_grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px 44px;
}

/* ---------- why-us cards ---------- */
.why_grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.why_card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  padding:28px 26px;
  transition:.3s;
}
.why_card:hover{
  border-color:var(--brand);
  transform:translateY(-5px);
  box-shadow:0 18px 40px rgba(104,7,182,.12);
}
.why_card h4{
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:.7px;
  margin-bottom:10px;
  color:var(--brand);
}
.why_card p{margin:0;font-size:15px;}

/* ---------- services index cards ---------- */
.srv_grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.srv_card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:.3s;
}
.srv_card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(104,7,182,.15);}
.srv_card .thumb{height:200px;overflow:hidden;}
.srv_card .thumb img{width:100%;height:100%;object-fit:cover;transition:.5s;}
.srv_card:hover .thumb img{transform:scale(1.07);}
.srv_card .body{padding:26px 24px 28px;display:flex;flex-direction:column;flex:1;}
.srv_card .ic{
  width:60px;height:60px;
  padding:11px;
  margin-bottom:16px;
  background:var(--brand);
  border-radius:50%;
  object-fit:contain;
}
.srv_card h3{font-size:21px;margin-bottom:10px;}
.srv_card p{font-size:15px;flex:1;}
.srv_card .btn{align-self:flex-start;margin-top:8px;}

/* ---------- services top strip ---------- */
.srv_strip{
  background:var(--brand);
  padding:calc(var(--head-h) + 46px) 0 46px;
}
.srv_strip_grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:14px;
  text-align:center;
}
.srv_strip a{display:block;color:#fff;}
.srv_strip img{width:56px;margin:0 auto 12px;transition:.3s;}
.srv_strip span{
  display:block;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.3px;
}
.srv_strip a:hover img{transform:translateY(-4px);}
.srv_strip a:hover span{color:var(--accent);}

/* ---------- auth forms ---------- */
.auth_wrap{
  max-width:470px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  padding:38px 34px;
  box-shadow:0 18px 44px rgba(104,7,182,.08);
}
.auth_wrap h2{font-size:26px;text-align:center;margin-bottom:8px;}
.auth_wrap .auth_note{text-align:center;font-size:15px;margin-bottom:24px;}
.auth_wrap .form_group{margin-bottom:16px;display:flex;flex-direction:column;}
.auth_wrap label{font-size:14px;font-weight:600;color:var(--brand);margin-bottom:7px;}
.auth_wrap input{
  font-family:var(--font);
  font-size:15px;
  color:#3f4859;
  padding:11px 14px;
  border:1px solid var(--border);
  border-radius:4px;
  outline:none;
  transition:.25s;
  width:100%;
}
.auth_wrap input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(104,7,182,.08);}
.auth_wrap .btn{width:100%;text-align:center;}
.auth_meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-size:14px;
  margin-bottom:20px;
  flex-wrap:wrap;
}
.auth_meta label{
  display:flex;
  align-items:center;
  gap:7px;
  font-weight:400;
  color:#5f6a7d;
  margin:0;
  font-size:14px;
}
.auth_foot{text-align:center;margin:18px 0 0;font-size:14px;}

/* ---------- legal pages ---------- */
.legal{max-width:920px;}
.legal h2{font-size:30px;margin-top:38px;}
.legal h2:first-child{margin-top:0;}
.legal h3{font-size:20px;margin-top:28px;}
.legal p,.legal li{font-size:15px;}
.legal ul{margin:0 0 18px;}
.legal ul li{position:relative;padding-left:20px;margin-bottom:7px;}
.legal ul li::before{
  content:'';
  position:absolute;left:2px;top:10px;
  width:6px;height:6px;border-radius:50%;
  background:var(--brand);
}
.legal .info_block{
  background:var(--grey-light);
  border-left:4px solid var(--brand);
  padding:20px 24px;
  border-radius:0 6px 6px 0;
  margin-bottom:24px;
}
.legal .info_block p:last-child{margin-bottom:0;}
.legal dl{margin:0 0 20px;}
.legal dt{font-weight:600;color:var(--brand);margin-top:10px;}
.legal dd{margin:0 0 4px;}

/* ---------- quote steps ---------- */
.steps_grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.step_card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  padding:26px 22px;
  text-align:center;
  position:relative;
  transition:.3s;
}
.step_card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(104,7,182,.12);}
.step_card img{width:64px;margin:0 auto 14px;}
.step_card .num{
  position:absolute;
  top:12px;right:16px;
  font-size:32px;
  font-weight:700;
  color:rgba(104,7,182,.1);
  line-height:1;
}
.step_card h4{font-size:16px;margin-bottom:8px;}
.step_card p{font-size:14px;margin:0;}

/* ---------- feature trio ---------- */
.feat_grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.feat_card{
  text-align:center;
  padding:30px 24px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
}
.feat_card .ficon{
  width:56px;height:56px;
  margin:0 auto 16px;
  color:var(--brand);
}
.feat_card .ficon svg{width:100%;height:100%;display:block;}
.feat_card h4{font-size:18px;margin-bottom:8px;}
.feat_card p{margin:0;font-size:15px;}

/* ---------- CTA band ---------- */
.cta_band{
  background:var(--brand);
  padding:56px 0;
  text-align:center;
}
.cta_band h2{color:#fff;font-size:30px;line-height:48px;font-weight:500;text-transform:none;margin-bottom:12px;}
.cta_band p{color:rgba(255,255,255,.85);max-width:780px;margin:0 auto 24px;}
.cta_band .btn{border-color:#fff;color:#fff;}
.cta_band .btn:hover{background:#fff;color:var(--brand);}

/* ---------- offices strip on inner pages ---------- */
.offices_row{background:var(--brand);padding:0;}
.offices_row .addresses{max-width:1160px;margin:0 auto;box-shadow:none;border-radius:0;}

/* =========================================================
   ABOUT US - text / image rows
   ========================================================= */
.ab_section{padding:84px 0 50px;}
.ab_wrap{
  max-width:1028px;
  margin:0 auto;
  padding:0 20px;
}
.ab_row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  align-items:start;
}
.ab_row + .ab_row{margin-top:45px;}

/* the small stripe above every heading, like the live theme */
.ab_title::before,
.ab_caption::before{
  content:'';
  display:block;
  width:50px;
  border-bottom:3px solid var(--brand-2);
  border-radius:2px;
  margin-bottom:33px;
}
.ab_title{
  font-size:28px;
  line-height:1.2;
  font-weight:300;
  text-transform:uppercase;
  color:#8B2FD6;
  margin:0 0 15px;
}
.ab_text p{margin:0;}

.ab_media{margin:0;}
.ab_caption{
  font-size:24px;
  line-height:1.2;
  font-weight:300;
  text-transform:uppercase;
  color:var(--brand-2);
  text-align:center;
  margin:0 0 21px;
  font-style:normal;
}
.ab_caption::before{margin-bottom:26px;}
.ab_media img{
  width:100%;
  border-radius:0 66px 66px 0;
}

/* =========================================================
   ABOUT US - counters band
   ========================================================= */
.counters_band{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#6807B6;
  color:#fff;
}
.counters_col{padding:75px clamp(24px,8vw,115px);}
.counters_col.shade1{background:rgba(0,0,0,.1);}
.counters_col.shade2{background:rgba(0,0,0,.2);}
.counters_band .stm_counter{text-align:left;padding-left:0;}
.counters_band .stm_counter.pb25{padding-bottom:25px;}
.counters_band .stm_counter::after{content:'';display:table;clear:both;}
.counters_band .stm_counter .icon{font-size:66px;line-height:1;}
.counters_band .stm_counter .icon svg{width:auto;height:66px;stroke:currentColor;}
.counters_band .stm_counter .icon svg .cls-1,
.counters_band .stm_counter .icon svg .cls-2{
  fill:none;
  stroke-width:2px;
  stroke-linecap:round;
}
.counters_band .stm_counter .icon svg .cls-1{fill-rule:evenodd;}
.counters_band .stm_counter .icon.icon_font{font-size:64px;}

/* ---------- about map ---------- */
/* the iframe is the real map; the world-map artwork only shows through
   if the embed is blocked (offline / consent tools / ad blockers) */
.about_map .gmap_placeholder{
  display:block;
  height:688px;
  padding:0;
  background:#F1E8F9 url(../assets/img/world-map.svg) center/cover no-repeat;
}
.about_map .gmap_placeholder iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter:grayscale(.25);
}
.about_map .addresses li .icon{font-size:15px;line-height:1.5;}

/* ---------- tracking box ---------- */
.track_box{
  max-width:760px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  padding:34px;
  box-shadow:0 18px 44px rgba(104,7,182,.08);
}
.track_row{display:flex;gap:12px;flex-wrap:wrap;}
.track_row input{
  flex:1;
  min-width:240px;
  font-family:var(--font);
  font-size:16px;
  padding:13px 16px;
  border:1px solid var(--border);
  border-radius:4px;
  outline:none;
}
.track_row input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(104,7,182,.08);}

/* ---------- inner page responsive ---------- */
@media (max-width:991px){
  .page_banner{min-height:400px;}
  .page_banner h1{font-size:38px;}
  .page_banner .sub{font-size:17px;}
  .svc_block{grid-template-columns:1fr;gap:26px;padding:34px 0;}
  .svc_block.reverse .svc_media{order:0;}
  .svc_block.reverse .svc_body{order:0;}
  .glance_grid{grid-template-columns:1fr;}
  .why_grid,.srv_grid,.feat_grid{grid-template-columns:1fr 1fr;}
  .steps_grid{grid-template-columns:1fr 1fr;}
  .srv_strip_grid{grid-template-columns:repeat(4,1fr);gap:22px;}
  .counters_band{grid-template-columns:1fr;}
  .counters_col{padding:50px 30px;}
}
@media (max-width:767px){
  .page_section{padding:50px 0;}
  .page_banner h1{font-size:30px;}
  .page_banner{min-height:330px;}
  .crumb_banner h1{font-size:28px;}
  .why_grid,.srv_grid,.feat_grid,.steps_grid{grid-template-columns:1fr;}
  .srv_strip_grid{grid-template-columns:repeat(2,1fr);}
  .glance_row{padding:46px 0;}
  .auth_wrap{padding:28px 22px;}
  .track_box{padding:24px;}
  /* about us: image first, full 66px radius - same as the live site */
  .ab_section{padding:50px 0 40px;}
  .ab_row{grid-template-columns:1fr;gap:20px;}
  .ab_row + .ab_row{margin-top:40px;}
  .ab_media{order:-1;padding-bottom:20px;}
  .ab_media img{border-radius:66px;}
  .ab_title{font-size:24px;margin-bottom:14px;}
  .ab_title::before{margin-bottom:24px;}
  .ab_caption{font-size:20px;}
  .counters_band .stm_counter{text-align:center;padding-left:20px;}
  .about_map .gmap_placeholder{height:340px;}
}

/* =========================================================
   OUR SERVICES  (our-services)
   ========================================================= */
.svc_banner{position:relative;overflow:hidden;line-height:0;}
.svc_banner_img{
  display:block;
  width:100%;
  height:clamp(420px,42vw,620px);
  object-fit:cover;
}
.svc_banner_overlay{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:40px 20px 30px;
  background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.4) 50%,transparent 100%);
}
.svc_shortcuts{
  max-width:1400px;
  margin:0 auto;
  display:flex;
  justify-content:space-around;
  align-items:flex-end;
  gap:15px;
}
.svc_shortcut{
  flex:1;
  max-width:140px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  line-height:1.35;
  color:#fff;
  opacity:.95;
  transition:transform .3s ease,opacity .3s ease;
}
.svc_shortcut:hover{transform:translateY(-10px);opacity:1;color:#fff;}
.svc_shortcut .ic{
  width:70px;height:70px;
  margin-bottom:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.svc_shortcut .ic img{
  width:100%;height:100%;
  object-fit:contain;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.5));
}
.svc_shortcut .tt{font-size:14px;font-weight:600;}

/* ---------- intro card ---------- */
.svc_intro{padding:58px 0 0;}
.svc_intro_card{
  background:#fff;
  border-radius:50px;
  padding:40px;
}
.svc_intro_card h1{
  font-size:32px;
  color:var(--brand);
  margin-bottom:14px;
}
.svc_intro_card p{margin-bottom:26px;}
.svc_rule{
  display:block;
  border-top:2px solid #8B2FD6;
}

/* ---------- alternating service rows ---------- */
.svc_rows{padding:38px 0 58px;}
.svc_rows_wrap{margin:0 5%;}
.svc_row{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  margin-bottom:35px;
}
.svc_row-flip .svc_copy{order:2;}
.svc_row-flip .svc_photo{order:1;}
.svc_copy{
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 40px;
}
.svc_copy h2{
  font-size:28px;
  color:var(--brand);
  margin-bottom:14px;
  scroll-margin-top:120px;
}
.svc_copy p{margin-bottom:22px;}
.svc_copy .btn{align-self:flex-start;}
.svc_photo{overflow:hidden;}
.svc_photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:0 66px 66px 0;
}
.svc_row-flip .svc_photo img{border-radius:66px 0 0 66px;}

@media (max-width:991px){
  .svc_shortcuts{flex-wrap:wrap;justify-content:center;gap:18px 10px;}
  .svc_shortcut{max-width:110px;}
  .svc_shortcut .ic{width:52px;height:52px;margin-bottom:8px;}
  .svc_shortcut .tt{font-size:12px;}
  .svc_banner_overlay{padding:26px 14px 18px;}

  .svc_rows_wrap{margin:0;}
  .svc_row{grid-template-columns:1fr;margin-bottom:28px;}
  .svc_row-flip .svc_copy,
  .svc_row .svc_copy{order:2;}
  .svc_row-flip .svc_photo,
  .svc_row .svc_photo{order:1;padding-bottom:20px;}
  .svc_photo img,
  .svc_row-flip .svc_photo img{border-radius:66px;}
  .svc_copy{padding:26px 22px;}
  .svc_intro_card{border-radius:30px;padding:26px 22px;}
}

@media (max-width:600px){
  .svc_banner_overlay{position:static;background:var(--brand);}
  .svc_shortcut,.svc_shortcut:hover{transform:none;}
  .svc_photo img,
  .svc_row-flip .svc_photo img{border-radius:30px;}
}

/* =========================================================
   AIR FREIGHT  (air-freight)
   ========================================================= */
.air_hero{
  position:relative;
  min-height:clamp(380px,36vw,560px);
  display:flex;
  align-items:flex-end;
  padding:calc(var(--head-h) + 40px) 0 64px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
/* dark scrim so the white hero copy stays readable on any photo */
.air_hero_overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(18,6,38,.72) 0%,rgba(18,6,38,.45) 50%,rgba(18,6,38,.15) 100%);
}
.air_hero_content{position:relative;z-index:2;}
.air_hero_content h1{
  font-size:clamp(36px,4.6vw,72px);
  line-height:1.05;
  font-weight:800;
  color:#fff;
  margin-bottom:14px;
  text-shadow:0 2px 14px rgba(0,0,0,.3);
}
.air_hero_content .sub{
  font-size:clamp(15px,1.35vw,22px);
  line-height:1.4;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#fff;
  opacity:.92;
  max-width:760px;
  margin-bottom:26px;
}
.air_hero_content .btn-outline{
  font-size:15px;
  padding:12px 30px;
  color:#fff;
  border-color:#fff;
}
.air_hero_content .btn-outline:hover{background:#fff;color:var(--brand);}
.air_intro{padding:58px 0 0;}
.air_intro h2{
  font-size:20px;
  line-height:1.35;
  color:#4C0585;
  margin-bottom:14px;
}
/* the theme draws a short rule above the heading */
.air_intro h2::before{
  content:'';
  display:block;
  width:50px;
  border-bottom:3px solid var(--brand);
  border-radius:2px;
  margin-bottom:30px;
}
.air_intro p{margin-bottom:0;}

/* block heading: icon, title, then a rule running to the column edge */
.sep_head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
}
.sep_head h3{
  margin:0;
  font-size:24px;
  line-height:1.2;
  min-width:0;
}
.sep_icon{
  flex:0 0 auto;
  font-size:38px;
  line-height:1;
  color:var(--brand-2);
}
.sep_line{
  flex:1 1 auto;
  min-width:20px;
  border-top:1px solid var(--brand-2);
}

/* the alternating blocks reuse the services page rows */
.air_rows{padding:38px 0 0;}
.air_rows .svc_copy .sep_head h3{color:var(--brand-2);}
.air_list{margin:0 0 18px;padding-left:20px;list-style:disc;}
.air_list li{margin-bottom:8px;}
.air_btns{display:flex;flex-wrap:wrap;gap:12px;}

.air_levels{
  width:100%;
  border-collapse:collapse;
  margin-bottom:20px;
  font-size:14px;
}
.air_levels th,
.air_levels td{
  border:1px solid var(--border);
  padding:10px 12px;
  text-align:left;
  vertical-align:top;
}
.air_levels th{
  background:var(--brand);
  color:#fff;
  font-weight:600;
}
.air_levels tbody td:first-child{font-weight:600;color:var(--brand);}

/* ---------- services at a glance (video) ---------- */
.glance_block{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  min-height:420px;
  overflow:hidden;
  margin-top:58px;
}
.glance_video{position:absolute;inset:0;z-index:0;}
.glance_video video{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.glance_overlay{position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.3);}
.glance_text{
  position:relative;
  z-index:10;
  flex:1;
  max-width:800px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:45px 30px 45px 50px;
}
.glance_title{
  font-size:32px;
  font-weight:700;
  color:#fff;
  margin-bottom:30px;
  padding:20px 25px;
  border-radius:8px;
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  text-shadow:0 2px 4px rgba(0,0,0,.5);
  display:inline-block;
}
.glance_grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;}
.glance_item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 15px;
  border-radius:6px;
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:#fff;
  font-size:15px;
  line-height:1.3;
  font-weight:500;
  text-shadow:0 1px 3px rgba(0,0,0,.5);
}
.glance_item .dot{
  width:12px;height:12px;
  min-width:12px;
  margin-top:4px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 4px rgba(0,0,0,.3);
}

/* ---------- why Zenlogix air freight ---------- */
.why_air_head{padding:58px 0 22px;}
.why_air_head h2{font-size:32px;color:var(--brand);}
.why_air{background:#6807B6;padding:48px 0;}
.whyair_grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:38px 30px;
}
.whyair_card{text-align:center;color:#fff;}
.whyair_icon{
  height:90px;
  margin-bottom:14px;
  font-size:67px;
  line-height:90px;
  color:#fff;
}
.whyair_icon svg{
  width:66px;height:auto;
  margin:0 auto;
  display:block;
  stroke:currentColor;
}
.whyair_card_title{
  font-size:24px;
  font-weight:700;
  color:#fff;
  margin-bottom:8px;
}
.whyair_card p{color:#fff;opacity:.9;margin:0;}

/* ---------- contact our air experts ---------- */
.air_contact{padding:58px 0;}
.air_contact h2{font-size:32px;color:var(--brand);margin-bottom:12px;}
.air_contact_lead{max-width:1000px;margin-bottom:30px;}

@media (max-width:991px){
  .air_hero{min-height:340px;padding-bottom:44px;}
  .glance_block{flex-direction:column;min-height:700px;}
  .glance_overlay{background:linear-gradient(to bottom,rgba(0,0,0,.45) 0%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.15) 100%);}
  .glance_text{flex:none;max-width:100%;padding:15px;justify-content:flex-start;}
  .glance_title{font-size:21px;padding:5px 15px 10px;margin-bottom:10px;}
  .glance_grid{gap:8px;}
  .glance_item{padding:8px 10px;font-size:13px;}
  .whyair_grid{grid-template-columns:1fr;gap:30px;}
  .air_levels{font-size:13px;}
}

@media (max-width:600px){
  .air_levels th,.air_levels td{padding:8px;}
}

/* the air page mixes portrait and landscape photos, so let the copy drive the
   row height and crop the image into whatever space is left */
.air_rows .svc_photo{
  position:relative;
  overflow:hidden;
  min-height:340px;
  border-radius:0 66px 66px 0;
}
.air_rows .svc_row-flip .svc_photo{border-radius:66px 0 0 66px;}
.air_rows .svc_photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:0;
}

@media (max-width:991px){
  .air_rows .svc_photo,
  .air_rows .svc_row-flip .svc_photo{border-radius:66px;min-height:260px;}
}
@media (max-width:600px){
  .air_rows .svc_photo,
  .air_rows .svc_row-flip .svc_photo{border-radius:30px;}
}

/* =========================================================
   CONTACT PAGE   (contact)
   ========================================================= */

/* ---------- white intro band under the banner ---------- */
.contact_intro{
  background:#fff;
  padding:90px 0 10px;
}
.contact_intro h2{
  font-size:42px;
  line-height:1.17;
  margin-bottom:30px;
}
/* the theme draws a short rule above every heading */
.contact_intro h2::before,
.contact_page .contact_row .section_title::before,
.contact_page .faq_row .section_title::before{
  content:'';
  display:block;
  width:50px;
  border-bottom:3px solid var(--brand);
  border-radius:2px;
  margin-bottom:30px;
}
.contact_page .contact_row .section_title::before{margin-left:auto;margin-right:auto;}
.contact_intro p{
  font-size:16px;
  max-width:1180px;
  margin:0;
}

/* ---------- the enquiry form (single column card) ---------- */
.contact_page .contact_row{
  background:#fff;
  padding:30px 0 60px;
}
.contact_page .contact_row .section_title{margin-bottom:30px;}
.contact_page .cee_form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 20px;
  max-width:800px;
  margin:0 auto;
  padding:2rem;
  background:#fff;
  border:2px solid var(--brand);
  border-radius:8px;
  box-shadow:0 4px 6px rgba(104,7,182,.1);
}
.contact_page .cee_form .form_group{margin-bottom:1.5rem;}
.contact_page .cee_form .form_group:last-child{margin-bottom:0;}
.contact_page .cee_form label{
  display:block;
  margin-bottom:.5rem;
  color:#333;
  font-size:15px;
  font-weight:500;
}
.contact_page .cee_form input,
.contact_page .cee_form select,
.contact_page .cee_form textarea{
  padding:.75rem;
  border:2px solid var(--brand);
  border-radius:4px;
  font-size:16px;
  color:#333;
}
.contact_page .cee_form textarea{min-height:120px;}
.contact_page .cee_form input:focus,
.contact_page .cee_form select:focus,
.contact_page .cee_form textarea:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(104,7,182,.1);
}
.contact_page .captcha_row{gap:10px;}
.contact_page .captcha_img{
  font-size:24px;
  letter-spacing:7px;
  padding:11px 20px;
  border:2px solid var(--brand);
  font-style:italic;
}
.captcha_refresh{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;height:34px;
  padding:0;
  border:2px solid var(--brand);
  border-radius:4px;
  background:#fff;
  color:var(--brand);
  cursor:pointer;
  transition:.25s;
}
.captcha_refresh:hover{background:var(--brand);color:#fff;}
.contact_page .captcha_input{max-width:230px;}
.cee_submit{
  background:var(--brand);
  color:#fff;
  padding:1rem 2.5rem;
  border:2px solid var(--brand);
  border-radius:4px;
  font-family:var(--font);
  font-size:16px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.5px;
  cursor:pointer;
  transition:all .3s ease;
}
.cee_submit:hover{
  background:#4C0585;
  border-color:#4C0585;
  transform:translateY(-2px);
  box-shadow:0 4px 8px rgba(104,7,182,.2);
}
.cee_submit:active{transform:translateY(0);}

/* ---------- brand department blocks ---------- */
.dept_section{
  background:var(--brand-2);
  padding:46px 0 56px;
}
.dept_block + .dept_block{margin-top:34px;}
.dept_block h2{
  color:#fff;
  font-size:36px;
  line-height:42px;
  text-align:left;
  margin-bottom:26px;
}
.dept_cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px;
}
.dept_card{
  border:3px solid #fff;
  border-radius:35px;
  padding:26px 24px 30px;
  text-align:center;
  color:#fff;
}
.dept_icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;height:56px;
  margin-bottom:16px;
  border-radius:50%;
  background:#ebebeb;
  color:var(--brand-2);
}
.dept_name{
  font-size:18px;
  line-height:28px;
  color:#fff;
}
.dept_line{
  font-size:18px;
  line-height:28px;
  color:#fff;
  word-break:break-word;
}
.dept_line a{color:#fff;}
.dept_line a:hover{color:var(--accent);}

/* ---------- FAQ on this page ---------- */
.contact_page .faq_row{padding:56px 0 62px;}
.contact_page .faq_row .section_title{text-align:left;margin-bottom:24px;}

/* ---------- contact page responsive ---------- */
@media (max-width:991px){
  .contact_intro{padding:60px 0 6px;}
  .contact_intro h2,.dept_block h2{font-size:28px;line-height:34px;}
}
@media (max-width:767px){
  .dept_cards{grid-template-columns:1fr;gap:22px;}
  .dept_section{padding:38px 0 44px;}
  .contact_page .cee_form{padding:1.5rem;}
  .cee_submit{width:100%;padding:1rem;}
  .contact_page .captcha_input{max-width:none;flex:1 1 160px;}
}

/* lists inside the service copy keep their bullets */
.svc_copy ul{list-style:disc;padding-left:20px;margin:0 0 18px;}
.svc_copy ol{list-style:decimal;padding-left:20px;margin:0 0 18px;}
.svc_copy li{margin-bottom:8px;line-height:24px;}
.svc_copy p:last-of-type{margin-bottom:22px;}

/* long hero titles (Warehouse and distribution, Supply Chain Management …) */
.air_hero_content-sm h1{font-size:clamp(32px,4vw,60px);}

/* heroes with two subtitle lines (contact page) keep them tight together */
.air_hero_content .sub + .sub{margin-top:-20px;}



/* ---------- form feedback (contact form) ---------- */
.form_error{color:#c62828;font-size:13px;margin-top:6px;}
.hp_field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form_success{
  max-width:800px;
  margin:0 auto;
  padding:2rem;
  text-align:center;
  border:2px solid var(--brand);
  border-radius:8px;
}
.form_success strong{display:block;color:var(--brand);font-size:20px;margin-bottom:10px;}
.cee_submit[disabled]{opacity:.6;cursor:wait;}
@media (max-width:767px){
  .contact_page .cee_form{grid-template-columns:1fr;}
}

/* =========================================================
   HERO SHORTCUTS  (icon links to each section of a detail page,
   same look as the /our-services banner strip)
   ========================================================= */
.air_hero-links{
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-end;
  min-height:clamp(520px,46vw,680px);
  padding-bottom:0;
}
.air_hero-links .air_hero_content{margin-bottom:36px;}
.hero_shortcuts{
  position:relative;
  z-index:2;
  padding:34px 20px 26px;
  background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.4) 55%,transparent 100%);
}
.hero_shortcuts .svc_shortcuts{justify-content:center;gap:15px 48px;}
.hero_shortcuts .svc_shortcut{max-width:150px;}
.hero_shortcuts .svc_shortcut .ic{width:auto;height:62px;margin-bottom:10px;}
.hero_shortcuts .svc_shortcut .ic i{font-size:54px;line-height:1;color:#fff;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5));}
.hero_shortcuts .svc_shortcut:hover .ic i{color:#E9D5FF;}
@media (max-width:991px){
  .hero_shortcuts .svc_shortcuts{flex-wrap:wrap;gap:18px 26px;}
  .hero_shortcuts .svc_shortcut{flex:0 0 100px;max-width:100px;}
  .hero_shortcuts .svc_shortcut .ic{height:46px;margin-bottom:8px;}
  .hero_shortcuts .svc_shortcut .ic i{font-size:40px;}
  .hero_shortcuts .svc_shortcut .tt{font-size:12px;}
}
@media (max-width:767px){
  .air_hero-links{min-height:0;}
  .hero_shortcuts{background:var(--brand);padding:22px 14px 18px;}
  .hero_shortcuts .svc_shortcut,.hero_shortcuts .svc_shortcut:hover{transform:none;}
}

/* =========================================================
   BLOG
   ========================================================= */
.eyebrow{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:10px;
}
.home_blog{padding:72px 0;background:var(--grey-light);}
.home_blog_head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:34px;
}
.home_blog_head .section_lead{margin-bottom:0;}
.help_faq_row-single .help_faq_grid{grid-template-columns:1fr;max-width:960px;}

.blog_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.blog_card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(27,6,51,.07);
  transition:transform .25s, box-shadow .25s;
}
.blog_card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(27,6,51,.12);}
.blog_card_img{display:block;aspect-ratio:5/3;background:var(--grey-light);overflow:hidden;}
.blog_card_img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.blog_card:hover .blog_card_img img{transform:scale(1.04);}
.blog_card_body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px;}
.blog_card_body p{color:#5d6475;line-height:1.65;margin:0 0 18px;}
.blog_meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:13px;color:var(--grey);margin-bottom:12px;}
.blog_cat{
  font-weight:700;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--brand);
  background:rgba(104,7,182,.08);
  padding:5px 10px;
  border-radius:20px;
}
.blog_card_title{font-size:19px;line-height:1.35;text-transform:none;margin:0 0 10px;}
.blog_card_title a{color:#1B0633;}
.blog_card_title a:hover{color:var(--brand);}
.blog_more{margin-top:auto;font-weight:700;font-size:14px;}

.blog_hero .crumb{margin-bottom:14px;color:rgba(255,255,255,.8);}
.blog_hero .crumb a{color:#fff;}
.blog_hero-post h1{text-transform:none;font-size:clamp(30px,3.4vw,52px);max-width:980px;}
.blog_hero_meta{color:rgba(255,255,255,.85);font-size:15px;margin:0;}
.blog_preview_note{background:#fff4d6;color:#7a5600;text-align:center;padding:12px 20px;font-weight:600;}

.blog_filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;}
.blog_filters a{
  padding:9px 18px;
  border-radius:30px;
  border:1px solid var(--border);
  color:#3f4859;
  font-weight:600;
  font-size:14px;
}
.blog_filters a:hover,
.blog_filters a.is-active{background:var(--brand);border-color:var(--brand);color:#fff;}
.blog_empty{text-align:center;padding:40px 0;}

.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:44px;}
.pager_item{
  min-width:42px;
  padding:10px 14px;
  text-align:center;
  border-radius:8px;
  border:1px solid var(--border);
  color:#3f4859;
  font-weight:600;
}
a.pager_item:hover{border-color:var(--brand);color:var(--brand);}
.pager_item.is-active{background:var(--brand);border-color:var(--brand);color:#fff;}
.pager_item.is-disabled{opacity:.45;}

/* article */
.blog_layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start;max-width:1240px;}
.blog_lead{font-size:19px;line-height:1.7;color:#1B0633;font-weight:500;}
.blog_content{color:#3f4859;font-size:16.5px;}
.blog_content p,
.blog_content li{line-height:1.8;}
.blog_content h2{
  font-size:28px;
  line-height:1.3;
  text-transform:none;
  color:#1B0633;
  margin:42px 0 16px;
}
.blog_content h3{
  font-size:20px;
  line-height:1.4;
  text-transform:none;
  color:var(--brand-2);
  margin:30px 0 10px;
}
.blog_content ul{list-style:disc;padding-left:22px;margin:0 0 24px;}
.blog_content ol{list-style:decimal;padding-left:22px;margin:0 0 24px;}
.blog_content li{margin-bottom:8px;}
.blog_content a{text-decoration:underline;text-underline-offset:3px;}
.blog_content img{border-radius:10px;margin:24px 0;}
.blog_content blockquote{
  margin:28px 0;
  padding:18px 24px;
  border-left:4px solid var(--brand);
  background:var(--grey-light);
  font-style:italic;
}
.blog_content table{width:100%;border-collapse:collapse;margin:24px 0 30px;font-size:15px;}
.blog_content th,
.blog_content td{border:1px solid var(--border);padding:12px 14px;text-align:left;line-height:1.5;}
.blog_content th{background:var(--grey-light);color:#1B0633;}
.blog_aside{position:sticky;top:calc(var(--head-h) + 24px);display:grid;gap:22px;}
.blog_aside_card{border:1px solid var(--border);border-radius:12px;padding:24px;}
.blog_aside_card h2{font-size:17px;text-transform:none;margin-bottom:12px;color:#1B0633;}
.blog_aside_cta{background:var(--brand-2);border-color:var(--brand-2);}
.blog_aside_cta h2,.blog_aside_cta p{color:#fff;}
.blog_aside_cta p{line-height:1.6;}
.blog_aside_cta .btn{display:block;text-align:center;margin-top:10px;border-color:#fff;}
.blog_aside_cta .btn-solid{background:#fff;color:var(--brand-2);}
.blog_aside_cta .btn-outline{color:#fff;}
.blog_aside_links li{border-bottom:1px solid var(--border);}
.blog_aside_links li:last-child{border-bottom:none;}
.blog_aside_links a{display:block;padding:10px 0;font-weight:500;}

@media (max-width:991px){
  .blog_grid{grid-template-columns:repeat(2,1fr);}
  .blog_layout{grid-template-columns:1fr;gap:40px;}
  .blog_aside{position:static;}
}
@media (max-width:767px){
  .blog_grid{grid-template-columns:1fr;}
  .home_blog{padding:50px 0;}
  .home_blog_head{flex-direction:column;align-items:flex-start;}
  .blog_content h2{font-size:23px;}
}
