/* =========================================================
   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(5,1fr);
  gap:16px;
}
.step_card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  padding:20px 14px;
  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:48px;margin:0 auto 10px;}
.step_card .num{
  position:absolute;
  top:10px;right:12px;
  font-size:26px;
  font-weight:700;
  color:rgba(104,7,182,.1);
  line-height:1;
}
.step_card h3,.step_card h4{font-size:15px;margin-bottom:6px;}
.step_card p{font-size:13px;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{
  display:flex;
  align-items:flex-start;
  gap:20px;
  padding:60px clamp(16px,2vw,32px);
}
.counters_col .stm_counter{flex:1 1 0;min-width:0;}
.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:0;}
.counters_band .stm_counter .icon{width:70px;margin-right:14px;}
.counters_band .stm_counter .value{white-space:nowrap;font-size:clamp(30px,2.6vw,42px);}
@media (min-width:992px) and (max-width:1399px){
  .counters_band .stm_counter .icon{float:none;margin:0 0 12px;}
  .counters_band .stm_counter .text{padding-top:0;}
}
.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:auto;max-width:100%;max-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:52px;}

/* ---------- about us (redesign) ---------- */
.ab_hero .eyebrow{color:#E9D5FF;}
.ab_hero .air_hero_content h1{max-width:900px;text-transform:uppercase;font-size:clamp(32px,4vw,60px);}
.ab_hero_lead{color:#fff;opacity:.92;font-size:clamp(15px,1.2vw,19px);line-height:1.6;max-width:760px;margin:0 0 28px;}
.ab_btns{display:flex;flex-wrap:wrap;gap:14px;}
.ab_hero .btn-solid{border-color:var(--brand);}
.ab_hero .btn-solid:hover{border-color:#fff;}
.ab_text p + p{margin-top:16px;}
.ab_ticks{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px;}
.ab_ticks li{position:relative;padding-left:30px;font-weight:600;color:#1a1a1a;}
.ab_ticks li::before{
  content:'';position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;
  background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat;
}

/* compact strip: one narrow band, stats split by thin dividers */
.ab_numbers{padding:10px 0 50px;color:#fff;}
.ab_numbers .container{
  max-width:860px;background:var(--brand);border-radius:14px;padding:20px 20px 16px;
}
.ab_numbers .section_title{font-size:16px;letter-spacing:.04em;margin-bottom:12px;}
.ab_numbers_grid{display:grid;grid-template-columns:repeat(4,1fr);}
.ab_stat{text-align:center;padding:6px 10px;}
.ab_stat + .ab_stat{border-left:1px solid rgba(255,255,255,.2);}
.ab_stat_value{display:block;font-family:var(--font-head);font-size:24px;font-weight:400;line-height:1;margin-bottom:5px;white-space:nowrap;}
.ab_stat_label{display:block;font-size:12px;line-height:1.35;opacity:.9;}

.ab_mv{padding:80px 0;background:var(--grey-light);}
.ab_mv_grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.ab_mv_card{background:#fff;border-radius:16px;padding:40px;box-shadow:0 10px 30px rgba(27,6,51,.06);}
.ab_mv_card p{margin:0;line-height:1.7;}
.ab_mv_photo{border-radius:16px;overflow:hidden;min-height:300px;box-shadow:0 10px 30px rgba(27,6,51,.06);}
.ab_mv_photo img{width:100%;height:100%;object-fit:cover;display:block;}

.ab_why,.ab_commit{padding:80px 0;}
.ab_why{padding-top:0;}
.ab_center{margin-left:auto;margin-right:auto;text-align:center;max-width:820px;}
.ab_sub{text-align:center;font-size:20px;color:var(--brand-2);margin:0 0 28px;}
.ab_caps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.ab_cap{
  display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;
  padding:30px 20px;border:1px solid var(--brand);border-radius:14px;background:var(--brand);color:#fff;font-weight:600;
  transition:background .2s,box-shadow .2s,transform .2s;
}
.ab_cap svg{width:44px;height:44px;color:#fff;}
.ab_cap:hover{background:var(--brand-2);border-color:var(--brand-2);box-shadow:0 10px 30px rgba(104,7,182,.25);transform:translateY(-3px);color:#fff;}

.ab_commit{padding:50px 0;}
.ab_commit .container{max-width:1000px;}
.ab_commit .section_title{font-size:clamp(22px,2.2vw,28px);}
.ab_commit .section_lead{font-size:14px;margin-bottom:24px;}
.ab_commit_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.ab_promise{display:flex;flex-direction:column;padding:18px 16px;border-radius:12px;background:var(--grey-light);}
.ab_promise_icon{
  display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;
  background:var(--brand);color:#fff;margin-bottom:12px;
}
.ab_promise_icon svg{width:17px;height:17px;}
.ab_promise h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;line-height:1.3;margin:0 0 6px;}
.ab_promise p{font-size:13px;line-height:1.5;margin:0 0 12px;flex:1;}
.ab_tag{
  align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--brand);background:#fff;border:1px solid rgba(104,7,182,.25);border-radius:999px;padding:4px 9px;
}

.ab_consult{background:var(--grey-light);padding:50px 0;}
.ab_consult_inner{display:flex;align-items:center;justify-content:space-between;gap:30px;}
.ab_consult h2{font-size:26px;margin:0 0 8px;}
.ab_consult p{margin:0;max-width:620px;}
.ab_consult .ab_btns{flex-shrink:0;}

.ab_cta{background:#2E124D;}
.ab_cta h2{text-transform:uppercase;}

@media (max-width:991px){
  .ab_numbers_grid,.ab_caps,.ab_commit_grid{grid-template-columns:1fr 1fr;}
  .ab_mv_grid{grid-template-columns:1fr;}
  /* stacked: keep photo above its own text in both pairs */
  .ab_mv_grid > :nth-child(1){order:2;}
  .ab_mv_grid > :nth-child(2){order:1;}
  .ab_mv_grid > :nth-child(3){order:3;}
  .ab_mv_grid > :nth-child(4){order:4;}
  .ab_mv_photo{min-height:220px;}
  .ab_consult_inner{flex-direction:column;align-items:flex-start;}
  .ab_stat:nth-child(3){border-left:0;}
  .ab_stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.18);}
}
@media (max-width:600px){
  .ab_numbers_grid,.ab_caps,.ab_commit_grid{grid-template-columns:1fr;}
  .ab_stat + .ab_stat{border-left:0;border-top:1px solid rgba(255,255,255,.18);}
  .ab_numbers .container{width:calc(100% - 32px);}
  .ab_mv_card{padding:28px 22px;}
  .ab_btns .btn{width:100%;text-align:center;}
}

/* ---------- 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;}
  .counters_col{flex-direction:column;gap:25px;}
  .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;
}
/* hero and card photos are real <img> tags (for alt text and LCP), laid
   behind the scrim and copy: the parent isolates, the photo sits at -1 */
.air_hero,.cmp_hero,.page_banner,.hoverbox-front{isolation:isolate;}
.cover_img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;}
/* 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 img{
  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);
}

.glance_cta{align-self:flex-start;margin-top:28px;}

/* ---------- 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(6,1fr);
  gap:30px 22px;
}
.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{
  text-transform:uppercase;
  font-size:17px;
  line-height:1.25;
  font-weight:700;
  color:#fff;
  margin-bottom:8px;
}
.whyair_card p{color:#fff;opacity:.9;margin:0;font-size:14px;line-height:1.45;}
@media (max-width:1199px){
  .whyair_grid{grid-template-columns:repeat(3,1fr);gap:38px 30px;}
  .whyair_card_title{font-size:22px;}
}

/* ---------- 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;}
.faq_more{margin-top:24px;text-align:center;}

.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;}

/* Home: single scrollable row, 4 compact cards visible */
.blog_grid.blog_grid-scroll{
  display:grid;
  grid-auto-flow:column;
  grid-template-columns:none;
  grid-auto-columns:calc((100% - 3*20px)/4);
  gap:20px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:6px 2px 14px;
  scrollbar-width:thin;
}
.blog_grid-scroll .blog_card{scroll-snap-align:start;}
.blog_grid-scroll .blog_card:hover{transform:translateY(-2px);}
.blog_grid-scroll .blog_card_img{aspect-ratio:16/10;}
.blog_grid-scroll .blog_card_body{padding:14px 16px 16px;}
.blog_grid-scroll .blog_card_title{font-size:16px;margin-bottom:6px;}
.blog_grid-scroll .blog_card_body p{font-size:14px;line-height:1.55;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.blog_grid-scroll .blog_meta{font-size:12px;margin-bottom:8px;}
.blog_grid-scroll .blog_more{font-size:13px;}
@media (max-width:991px){.blog_grid.blog_grid-scroll{grid-template-columns:none;grid-auto-columns:calc((100% - 20px)/2.2);}}
@media (max-width:767px){.blog_grid.blog_grid-scroll{grid-template-columns:none;grid-auto-columns:78%;}}

.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_intro{max-width:880px;margin-bottom:38px;}
.blog_intro h2{font-size:clamp(22px,2vw,28px);color:#4C0585;margin-bottom:14px;}
.blog_intro p{line-height:1.75;margin-bottom:14px;}
.blog_intro a{color:var(--brand);text-decoration:underline;}
.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;}
.news_figure{margin:0 0 28px;}
.news_figure img{display:block;width:100%;height:auto;border-radius:12px;}

.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;}
}

/* Home: "What makes us special" with 5 items */
.special_grid.special_grid-5{grid-template-columns:repeat(5,1fr);gap:24px;}
.special_grid-5 .stm_icon{gap:14px;}
.special_grid-5 .stm_icon .icon{width:56px;flex:0 0 56px;}
.special_grid-5 .stm_icon .title{font-size:13px;}
@media (max-width:1199px){.special_grid.special_grid-5{grid-template-columns:repeat(3,1fr);}}
@media (max-width:767px){.special_grid.special_grid-5{grid-template-columns:repeat(2,1fr);}}
@media (max-width:479px){.special_grid.special_grid-5{grid-template-columns:1fr;}}

/* =========================================================
   CONTACT (simple: info + quote card + map)
   ========================================================= */
.cx_row{padding:70px 0 40px;background:var(--grey-light);}
.cx_grid{max-width:1200px;display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center;}
.cx_info h2{font-size:32px;margin:0 0 14px;}
.cx_info > p{color:#555;font-size:16px;line-height:1.6;margin:0 0 28px;}
.cx_list li{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px;}
.cx_icon{flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:var(--brand-dark);color:#fff;display:flex;align-items:center;justify-content:center;}
.cx_icon svg{width:22px;height:22px;}
.cx_list strong{display:block;color:#1a1a1a;font-size:16px;margin:3px 0 4px;}
.cx_list span,.cx_list a{color:#555;font-size:15px;line-height:1.5;}
.cx_list a:hover{color:var(--brand);}
.cx_quote_btn{margin-top:6px;}
.cx_follow{margin-top:30px;}
.cx_follow strong{display:block;color:#1a1a1a;font-size:16px;}
.cx_social{margin-top:12px;}
.cx_social a{background:var(--brand-dark);color:#fff;}
.cx_social a:hover{background:var(--brand);}
.cx_card{
  background:linear-gradient(135deg,#1b0633 0%,var(--brand-dark) 70%,var(--brand-2) 100%);
  border-radius:14px;
  padding:30px 28px;
  box-shadow:0 20px 50px rgba(27,6,51,.22);
}
.cx_card h3{color:#fff;font-size:20px;margin:0 0 18px;}
.cx_form{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cx_full{grid-column:1 / -1;}
.cx_field{display:flex;flex-direction:column;gap:6px;}
.cx_field label{color:rgba(255,255,255,.8);font-size:13px;font-weight:600;}
.cx_field input,.cx_field select,.cx_field textarea{
  width:100%;
  font:inherit;font-size:14px;
  color:#1a1a1a;
  background:#fff;
  border:1px solid transparent;
  border-radius:6px;
  padding:10px 12px;
}
.cx_field textarea{resize:vertical;min-height:96px;}
.cx_field input:focus,.cx_field select:focus,.cx_field textarea:focus{outline:none;border-color:#A855F7;box-shadow:0 0 0 3px rgba(168,85,247,.35);}
.cx_error{color:#fda4af;font-size:12px;}
.cx_submit{
  width:100%;
  border:0;border-radius:6px;
  padding:13px 18px;
  background:#fff;color:var(--brand-2);
  font:inherit;font-size:15px;font-weight:700;
  cursor:pointer;
  transition:background .25s ease,color .25s ease;
}
.cx_submit:hover,.cx_submit:focus-visible{background:#A855F7;color:#fff;}
.cx_submit[disabled]{opacity:.7;cursor:wait;}
.cx_success{color:#fff;text-align:center;padding:30px 10px;}
.cx_success strong{display:block;font-size:18px;margin-bottom:8px;}
.cx_success p{color:rgba(255,255,255,.8);margin-bottom:20px;}
.cx_map_row{padding:0 0 70px;background:var(--grey-light);}
.cx_map{max-width:1200px;margin:0 auto;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.08);}
.cx_map iframe{display:block;width:100%;height:380px;border:0;}
@media (max-width:991px){
  .cx_grid{grid-template-columns:minmax(0,1fr);}
  .cx_info h2{font-size:26px;}
}
@media (max-width:575px){
  .cx_form{grid-template-columns:1fr;}
  .cx_card{padding:24px 18px;}
  .cx_map iframe{height:280px;}
}

/* Service shortcut strips: keep all icons on one line on mobile, swipe to see the rest */
@media (max-width:767px){
  .svc_shortcuts,
  .hero_shortcuts .svc_shortcuts{
    flex-wrap:nowrap;
    justify-content:flex-start;
    align-items:flex-start;
    gap:6px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:4px;
  }
  .svc_shortcuts::-webkit-scrollbar{display:none;}
  /* centred when they fit (e.g. 3 solutions), scrollable when they don't */
  .svc_shortcut:first-child{margin-left:auto;}
  .svc_shortcut:last-child{margin-right:auto;}
  .svc_shortcut,
  .hero_shortcuts .svc_shortcut{flex:0 0 78px;max-width:78px;scroll-snap-align:start;}
  .svc_shortcut .ic,
  .hero_shortcuts .svc_shortcut .ic{width:40px;height:40px;margin-bottom:6px;}
  .hero_shortcuts .svc_shortcut .ic i{font-size:34px;}
  .svc_shortcut .tt,
  .hero_shortcuts .svc_shortcut .tt{font-size:11px;line-height:1.3;}
}

/* ---------- get a quote: mobile ---------- */
@media (max-width:767px){
  .quote_page .page_banner{min-height:280px;}
  .quote_page .page_banner h1{font-size:26px;margin-bottom:8px;}
  .quote_page .page_banner .sub{font-size:14px;margin-bottom:18px;}
  .quote_page .page_banner .btn{font-size:13px;padding:8px 18px;}
  .quote_page .page_section{padding:44px 0;}
  .quote_page .page_intro h2{font-size:20px;margin-bottom:12px;}
  .quote_page .page_intro p{font-size:14px;}
  .quote_page .section_title{font-size:20px;}

  /* steps: one swipeable row */
  .quote_page .steps_grid{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:42%;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding:6px 2px 12px;
    -webkit-overflow-scrolling:touch;
  }
  .quote_page .step_card{scroll-snap-align:start;padding:16px 10px;}
  .quote_page .step_card:hover{transform:none;}
  .quote_page .step_card img{width:36px;margin-bottom:8px;}
  .quote_page .step_card .num{font-size:20px;top:8px;right:10px;}
  .quote_page .step_card h4{font-size:12px;}
  .quote_page .step_card p{font-size:11.5px;line-height:1.45;}
}

/* logo instead of a photo in a service row */
.svc_photo.svc_photo-logo{display:flex;align-items:center;justify-content:center;background:#fff;}
.svc_photo.svc_photo-logo img{width:70%;max-width:340px;height:auto;object-fit:contain;border-radius:0;}

/* =========================================================
   KSA compliance detail page (SFDA)
   ========================================================= */
.cmp_hero{
  position:relative;
  min-height:clamp(460px,40vw,620px);
  display:flex;
  align-items:center;
  padding:calc(var(--head-h) + 50px) 0 70px;
  background-size:cover;
  background-position:center;
}
.cmp_hero::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(26,11,46,.94) 0%,rgba(46,18,77,.82) 55%,rgba(46,18,77,.45) 100%);
}
.cmp_hero_content{position:relative;z-index:2;max-width:980px;}
.cmp_tag{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:#E9D5FF;
  background:rgba(168,85,247,.18);
  border:1px solid rgba(233,213,255,.35);
  border-radius:30px;
  padding:6px 16px;
  margin-bottom:18px;
}
.cmp_hero h1{
  color:#fff;
  font-size:clamp(30px,3.8vw,54px);
  font-weight:800;
  line-height:1.1;
  text-transform:uppercase;
  margin-bottom:18px;
}
.cmp_hero p{color:rgba(255,255,255,.88);font-size:17px;line-height:1.65;max-width:780px;margin-bottom:28px;}
.cmp_btns{display:flex;flex-wrap:wrap;gap:14px;}
.cmp_hero .btn{padding:12px 26px;font-size:15px;}
.cmp_hero .btn-solid{background:var(--accent);border-color:var(--accent);color:#fff;}
.cmp_hero .btn-solid:hover{background:#fff;border-color:#fff;color:var(--brand-2);}
.cmp_hero .btn-outline{border-color:#fff;color:#fff;}
.cmp_hero .btn-outline:hover{background:#fff;color:var(--brand-2);}

/* system badges strip */
.cmp_badges{background:#2E124D;padding:26px 0;}
.cmp_badges_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.cmp_badge{
  display:flex;align-items:center;gap:14px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:rgba(255,255,255,.04);
}
.cmp_badge_ic{flex:0 0 44px;width:44px;height:44px;padding:10px;border-radius:50%;background:var(--brand);color:#fff;}
.cmp_badge strong{display:block;color:#fff;font-size:14px;letter-spacing:.6px;text-transform:uppercase;}
.cmp_badge span:not(.cmp_badge_ic){display:block;color:rgba(255,255,255,.7);font-size:13px;}

/* shared section frame */
.cmp_section{padding:80px 0;}
.cmp_section.alt{background:var(--grey-light);}
.cmp_head{text-align:center;max-width:760px;margin:0 auto 40px;}
.cmp_eyebrow{
  display:block;
  font-size:13px;
  font-weight:700;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:8px;
}
.cmp_section h2{font-size:32px;line-height:1.25;}

/* overview */
.cmp_overview{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:start;}
.cmp_overview_text h2{margin-bottom:18px;}
.cmp_overview_text p{font-size:16px;line-height:1.75;}
.cmp_adv{background:var(--brand-2);border-radius:14px;padding:32px 30px;color:#fff;}
.cmp_adv h3{color:#fff;font-size:18px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:22px;}
.cmp_adv_item{display:flex;gap:14px;align-items:flex-start;}
.cmp_adv_item + .cmp_adv_item{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);}
.cmp_adv_ic{flex:0 0 40px;width:40px;height:40px;padding:9px;border-radius:50%;background:rgba(255,255,255,.12);color:#E9D5FF;}
.cmp_adv_item strong{display:block;font-size:16px;margin-bottom:4px;}
.cmp_adv_item p{margin:0;font-size:14px;color:rgba(255,255,255,.8);}

/* 4-card grids */
.cmp_cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.cmp_card{
  display:flex;flex-direction:column;
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  padding:28px 22px;
  transition:.3s;
}
.cmp_card:hover{border-color:var(--brand);transform:translateY(-5px);box-shadow:0 18px 40px rgba(104,7,182,.12);}
.cmp_card_ic{display:inline-flex;flex:0 0 52px;width:52px;height:52px;padding:12px;border-radius:12px;background:#F3E8FF;color:var(--brand);margin-bottom:16px;}
.cmp_card h3{font-size:16px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;}
.cmp_card p{font-size:14px;line-height:1.6;flex:1;}
.cmp_chip{
  align-self:flex-start;
  margin-top:8px;
  font-size:12px;
  font-weight:600;
  color:var(--brand);
  background:#F3E8FF;
  border-radius:30px;
  padding:4px 12px;
}

/* document checklist */
.cmp_docs{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1000px;margin:0 auto;}
.cmp_doc{background:#fff;border:1px solid var(--border);border-radius:12px;padding:28px 28px 12px;}
.cmp_doc_head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.cmp_doc_head .cmp_card_ic{margin-bottom:0;}
.cmp_doc_head h3{font-size:17px;text-transform:uppercase;letter-spacing:.5px;margin:0;}

/* 6-step timeline */
.cmp_steps{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;list-style:none;margin:0;padding:0;}
.cmp_step{position:relative;text-align:center;padding:0 6px;}
.cmp_step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:26px;left:calc(50% + 34px);
  width:calc(100% - 50px);
  border-top:2px dashed rgba(104,7,182,.35);
}
.cmp_step_num{
  display:inline-flex;align-items:center;justify-content:center;
  width:52px;height:52px;
  border-radius:50%;
  background:var(--brand);
  color:#fff;
  font-size:20px;
  font-weight:800;
  margin-bottom:14px;
  box-shadow:0 0 0 6px #F3E8FF;
}
.cmp_step h3{font-size:14px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
.cmp_step p{font-size:13px;line-height:1.55;margin:0;}

/* intake form */
.cmp_radios{grid-row:span 3;border:0;margin:0;padding:0;min-width:0;}
.cmp_radios legend{font-size:14px;font-weight:600;color:var(--brand);margin-bottom:8px;padding:0;}
.cmp_radios label{
  display:flex;align-items:center;gap:10px;
  font-weight:500;color:#3f4859;
  border:1px solid var(--border);
  border-radius:6px;
  padding:10px 12px;
  margin-bottom:8px;
  cursor:pointer;
}
.cmp_radios label:has(input:checked){border-color:var(--brand);background:#FBF7FE;}
.cmp_form .cmp_radios input{width:auto;padding:0;accent-color:var(--brand);}
.cmp_form input[type=file]{padding:8px;background:var(--grey-light);}

@media (max-width:1199px){
  .cmp_steps{grid-template-columns:repeat(3,1fr);row-gap:34px;}
  .cmp_step:nth-child(3)::after{display:none;}
}
@media (max-width:991px){
  .cmp_badges_grid,.cmp_cards{grid-template-columns:1fr 1fr;}
  .cmp_overview{grid-template-columns:1fr;gap:32px;}
}
@media (max-width:767px){
  .cmp_hero{min-height:0;padding:calc(var(--head-h) + 36px) 0 48px;}
  .cmp_hero h1{font-size:24px;}
  .cmp_hero p{font-size:14px;}
  .cmp_hero .btn{width:100%;text-align:center;font-size:14px;}
  .cmp_section{padding:50px 0;}
  .cmp_section h2{font-size:22px;}
  .cmp_head{margin-bottom:28px;}
  .cmp_badges_grid,.cmp_cards,.cmp_docs{grid-template-columns:1fr;}
  .cmp_steps{grid-template-columns:1fr 1fr;}
  .cmp_step::after{display:none;}
  .cmp_adv{padding:26px 22px;}
  .cmp_radios{grid-row:auto;}
}

/* =========================================================
   SABER page
   ========================================================= */
.sb_badges{background:#2E124D;padding:28px 0;}
.sb_badges_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.sb_badge{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fff;}
.sb_badge svg{flex:none;width:34px;height:34px;color:#E9D5FF;}
.sb_badge strong{display:block;font-size:15px;text-transform:uppercase;letter-spacing:.03em;}
.sb_badge span{font-size:13px;opacity:.8;}

.sb_overview{padding:80px 0;}
.sb_overview_grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:start;}
.sb_overview p{line-height:1.7;margin:0;}
.sb_overview p + p{margin-top:16px;}
.sb_why{background:var(--grey-light);border-radius:16px;padding:34px;}
.sb_why ul{list-style:none;margin:0;padding:0;display:grid;gap:22px;}
.sb_why li{display:flex;gap:14px;}
.sb_why li svg{flex:none;width:28px;height:28px;color:var(--brand);margin-top:2px;}
.sb_why strong{display:block;color:#1a1a1a;margin-bottom:4px;}
.sb_why span{font-size:15px;line-height:1.55;color:#555;}

.sb_section{padding-top:0;}
.sb_section .section_title{margin-bottom:36px;}

.sb_certs{padding:80px 0;background:var(--grey-light);}
.sb_certs .section_title{margin-bottom:36px;}
.sb_certs_grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.sb_cert{position:relative;background:#fff;border-radius:16px;padding:40px 36px;box-shadow:0 10px 30px rgba(27,6,51,.06);border-top:4px solid var(--brand);}
.sb_cert_no{position:absolute;top:28px;right:30px;font-family:var(--font-head);font-size:48px;font-weight:300;line-height:1;color:rgba(104,7,182,.18);}
.sb_cert h3{font-size:20px;margin:0 0 12px;padding-right:40px;}
.sb_cert > p{line-height:1.65;margin:0 0 18px;}
.sb_cert ul{margin:0 0 22px;padding-left:18px;display:grid;gap:8px;}
.sb_cert li{line-height:1.55;}
.sb_tags{display:flex;flex-wrap:wrap;gap:8px;}

.sb_flow{background:linear-gradient(135deg,#1b0633 0%,var(--brand-dark) 60%,var(--brand-2) 100%);padding:80px 0;color:#fff;}
.sb_flow .eyebrow{color:#E9D5FF;}
.sb_flow .section_title{margin-bottom:40px;}
.sb_steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:none;}
.sb_steps li{position:relative;padding:28px 22px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);}
.sb_steps li:not(:last-child)::after{
  content:'\2192';position:absolute;right:-17px;top:50%;transform:translateY(-50%);
  font-size:22px;color:#E9D5FF;z-index:1;
}
.sb_step_no{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--brand-2);font-weight:800;margin-bottom:16px;}
.sb_steps h3{color:#fff;font-size:17px;text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;}
.sb_steps p{margin:0;font-size:15px;line-height:1.55;opacity:.88;}

.sb_form_row{padding:80px 0;background:var(--grey-light);scroll-margin-top:var(--head-h);}
.sb_card{max-width:980px;margin:0 auto;padding:40px;}
.sb_card h3{font-size:24px;text-align:center;margin-bottom:28px;}
.sb_form{column-gap:30px;row-gap:16px;}
.sb_col{display:flex;flex-direction:column;gap:16px;}
.sb_col h4{color:#E9D5FF;font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin:0;}
.sb_hint{color:#E9D5FF;font-size:12px;}
.sb_form input[type=file]{background:rgba(255,255,255,.95);padding:8px;}
.sb_radios{border:0;margin:0;padding:0;display:grid;gap:10px;}
.sb_legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.sb_radio{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:14px;cursor:pointer;}
.sb_radio:has(input:checked){background:rgba(168,85,247,.3);border-color:#A855F7;}
.sb_radio input{accent-color:#A855F7;width:16px;height:16px;flex:none;}

@media (max-width:991px){
  .sb_badges_grid,.sb_steps{grid-template-columns:1fr 1fr;}
  .sb_steps li::after{display:none;}
  .sb_overview_grid,.sb_certs_grid{grid-template-columns:1fr;gap:30px;}
}
@media (max-width:600px){
  .sb_badges_grid,.sb_steps{grid-template-columns:1fr;}
  .sb_cert{padding:30px 22px;}
  .sb_card{padding:26px 18px;}
  .sb_why{padding:24px 20px;}
}

/* solutions page: crop every photo to the same 4:3 shape */
.sol_rows .svc_photo img{aspect-ratio:4/3;object-fit:cover;}
