/* Cargo Express — design system
   Colors are CSS custom properties so Elementor global colors / Customizer
   values can override them without touching this file. */
:root{
  --cx-navy:#0A1F44;
  --cx-navy-deep:#061530;
  --cx-blue:#1565D8;
  --cx-orange:#FF7A00;
  --cx-orange-dark:#E56C00;
  --cx-gray:#F4F6FA;
  --cx-white:#fff;
  --cx-body:#42506B;
  --cx-border:#E3E8F2;
  --cx-radius:14px;
  --cx-shadow:0 18px 45px -22px rgba(10,31,68,.35);
  --cx-shadow-lg:0 30px 70px -30px rgba(10,31,68,.45);
  --cx-font-head:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --cx-font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --cx-max:1200px;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--cx-font-body);color:var(--cx-body);background:var(--cx-white);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--cx-font-head);color:var(--cx-navy);line-height:1.15;letter-spacing:-.02em;margin:0 0 .6em}
a{color:var(--cx-blue);text-decoration:none}
a:hover{color:var(--cx-orange)}
img{max-width:100%;height:auto;display:block}
.cx-container{width:100%;max-width:var(--cx-max);margin:0 auto;padding:0 24px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.cx-skip{position:absolute;left:-9999px}
.cx-skip:focus{left:16px;top:16px;z-index:99;background:var(--cx-navy);color:#fff;padding:10px 16px;border-radius:8px}

/* Buttons */
.cx-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--cx-font-head);font-weight:700;font-size:15px;letter-spacing:.01em;padding:13px 24px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
.cx-btn--accent{background:var(--cx-orange);color:#fff;box-shadow:0 12px 28px -14px rgba(255,122,0,.85)}
.cx-btn--accent:hover{background:var(--cx-orange-dark);color:#fff;transform:translateY(-2px)}
.cx-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.cx-btn--ghost:hover{background:#fff;color:var(--cx-navy);transform:translateY(-2px)}
.cx-btn--navy{background:var(--cx-navy);color:#fff}
.cx-btn--navy:hover{background:var(--cx-blue);color:#fff}
.cx-btn--lg{padding:16px 30px;font-size:16px}
.cx-link{font-family:var(--cx-font-head);font-weight:700;color:var(--cx-blue)}
.cx-link:hover{color:var(--cx-orange)}
.cx-input{width:100%;padding:14px 16px;border:1px solid var(--cx-border);border-radius:10px;font:inherit;color:var(--cx-navy);background:#fff}
.cx-input:focus{outline:none;border-color:var(--cx-blue);box-shadow:0 0 0 4px rgba(21,101,216,.14)}

/* Header */
.cx-topbar{background:var(--cx-navy-deep);color:rgba(255,255,255,.78);font-size:13.5px}
.cx-topbar__inner{display:flex;justify-content:space-between;gap:16px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
.cx-topbar__info span+span{margin-left:20px}
.cx-topbar__meta{display:flex;align-items:center;gap:18px}
.cx-social{display:inline-flex;gap:14px}
.cx-social__link{color:rgba(255,255,255,.78);font-size:13px}
.cx-social__link:hover{color:var(--cx-orange)}
.cx-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 var(--cx-border)}
.cx-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:14px;padding-bottom:14px}
.cx-brand__link{display:inline-flex;align-items:center;gap:12px}
.cx-brand__mark svg{display:block}
.cx-brand__text{font-family:var(--cx-font-head);line-height:1;color:var(--cx-navy);letter-spacing:.06em}
.cx-brand__text strong{display:block;font-weight:800;font-size:20px}
.cx-brand__text span{display:block;font-weight:600;font-size:12.5px;color:var(--cx-orange);letter-spacing:.34em}
.custom-logo{max-height:56px;width:auto}
.cx-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.cx-menu a{font-family:var(--cx-font-head);font-weight:600;font-size:15px;color:var(--cx-navy);position:relative;padding:6px 0}
.cx-menu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--cx-orange);transition:right .25s ease}
.cx-menu a:hover::after,.cx-menu .current-menu-item>a::after{right:0}
.cx-header__actions{display:flex;align-items:center;gap:14px}
.cx-burger{display:none;width:44px;height:40px;background:transparent;border:1px solid var(--cx-border);border-radius:10px;padding:10px;flex-direction:column;justify-content:space-between;cursor:pointer}
.cx-burger span{display:block;height:2px;background:var(--cx-navy);border-radius:2px}
.cx-mobile{border-top:1px solid var(--cx-border);background:#fff}
.cx-mobile__menu{list-style:none;margin:0;padding:8px 24px 20px}
.cx-mobile__menu li{border-bottom:1px solid var(--cx-border)}
.cx-mobile__menu a{display:block;padding:13px 0;font-family:var(--cx-font-head);font-weight:600;color:var(--cx-navy)}

/* Hero */
.cx-hero{position:relative;color:#fff;overflow:hidden;background:var(--cx-navy)}
.cx-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.42}
.cx-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(6,21,48,.94) 0%,rgba(10,31,68,.86) 45%,rgba(10,31,68,.55) 100%)}
.cx-hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding:104px 24px 108px}
.cx-eyebrow{font-family:var(--cx-font-head);font-weight:700;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--cx-orange);margin:0 0 18px}
.cx-eyebrow--dark{color:var(--cx-blue)}
.cx-hero__title{font-size:clamp(2.3rem,4.6vw,3.75rem);font-weight:800;color:#fff;margin-bottom:20px}
.cx-hero__text{font-size:19px;color:rgba(255,255,255,.85);max-width:36em;margin:0 0 32px}
.cx-hero__ctas{display:flex;gap:14px;flex-wrap:wrap}

/* Tracking card */
.cx-track--card{background:#fff;border-radius:18px;padding:30px;box-shadow:var(--cx-shadow-lg);color:var(--cx-body)}
.cx-track__title{font-family:var(--cx-font-head);font-weight:800;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--cx-navy);margin:0 0 16px}
.cx-track__form{display:flex;gap:10px;flex-wrap:wrap}
.cx-track__form .cx-input{flex:1 1 200px}
.cx-track__note{font-size:13px;color:#7C879E;margin:12px 0 0}
.cx-track--wide{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:28px;backdrop-filter:blur(6px)}
.cx-track--wide .cx-track__title{color:#fff}
.cx-track--wide .cx-track__note{color:rgba(255,255,255,.6)}
.cx-track__result{margin-top:18px}
.cx-result{background:#fff;border:1px solid var(--cx-border);border-radius:16px;padding:24px;box-shadow:var(--cx-shadow)}
.cx-result__head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.cx-result__label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8492A9;margin:0}
.cx-result__number{font-family:var(--cx-font-head);font-weight:800;font-size:22px;color:var(--cx-navy);margin:2px 0 0}
.cx-badge{font-family:var(--cx-font-head);font-weight:700;font-size:13px;padding:7px 14px;border-radius:999px}
.cx-badge--transit{background:rgba(21,101,216,.12);color:var(--cx-blue)}
.cx-badge--done{background:rgba(16,150,90,.12);color:#0E8B54}
.cx-result__meta{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0 18px}
.cx-result__meta span{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#8492A9}
.cx-result__meta strong{font-family:var(--cx-font-head);color:var(--cx-navy);font-size:15px}
.cx-progress{height:8px;border-radius:99px;background:var(--cx-gray);overflow:hidden}
.cx-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cx-blue),var(--cx-orange));border-radius:99px;transition:width .8s ease}
.cx-result__eta{font-family:var(--cx-font-head);font-weight:700;color:var(--cx-navy);margin:12px 0 20px}
.cx-timeline{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid var(--cx-border)}
.cx-timeline__item{position:relative;padding:0 0 18px 14px}
.cx-timeline__item::before{content:"";position:absolute;left:-29px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--cx-border)}
.cx-timeline__item.is-current::before{border-color:var(--cx-orange);background:var(--cx-orange)}
.cx-timeline__item strong{display:block;font-family:var(--cx-font-head);color:var(--cx-navy);font-size:15px}
.cx-timeline__item span{font-size:14px;color:#7C879E}
.cx-alert{background:#FFF3E8;border:1px solid #FFD9B3;color:#9A4B00;padding:14px 16px;border-radius:12px;font-size:15px;margin:0}

/* Features */
.cx-features{background:#fff;padding:14px 0 0}
.cx-features__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;transform:translateY(-46px);position:relative;z-index:5}
.cx-feature{background:#fff;border:1px solid var(--cx-border);border-radius:var(--cx-radius);padding:26px;box-shadow:var(--cx-shadow);transition:transform .25s ease,box-shadow .25s ease}
.cx-feature:hover{transform:translateY(-6px);box-shadow:var(--cx-shadow-lg)}
.cx-feature h3{font-size:18px;margin:14px 0 6px}
.cx-feature p{margin:0;font-size:15px}
.cx-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--cx-gray);color:var(--cx-blue)}

/* Sections */
.cx-section{padding:96px 0}
.cx-section--gray{background:var(--cx-gray)}
.cx-section--navy{background:var(--cx-navy);color:rgba(255,255,255,.82)}
.cx-section__head{max-width:720px;margin:0 auto 52px;text-align:center}
.cx-h2{font-size:clamp(1.85rem,3.2vw,2.6rem);font-weight:800}
.cx-h2--light{color:#fff}
.cx-lead{font-size:18px;margin:0}
.cx-lead--light{color:rgba(255,255,255,.78)}
.cx-grid{display:grid;gap:26px}
.cx-grid--3{grid-template-columns:repeat(3,1fr)}
.cx-service{background:#fff;border:1px solid var(--cx-border);border-radius:var(--cx-radius);padding:32px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.cx-service:hover{transform:translateY(-8px);box-shadow:var(--cx-shadow-lg);border-color:transparent}
.cx-service:hover .cx-icon{background:var(--cx-navy);color:var(--cx-orange)}
.cx-service .cx-icon{transition:background .28s ease,color .28s ease}
.cx-service h3{font-size:20px;margin:18px 0 10px}
.cx-service p{margin:0 0 18px;font-size:15.5px}

/* Steps */
.cx-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative}
.cx-steps::before{content:"";position:absolute;top:28px;left:8%;right:8%;height:2px;background:repeating-linear-gradient(90deg,var(--cx-border) 0 12px,transparent 12px 22px)}
.cx-step{position:relative;text-align:center;padding-top:0}
.cx-step__num{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:var(--cx-navy);color:#fff;font-family:var(--cx-font-head);font-weight:800;font-size:18px;position:relative;z-index:2;box-shadow:0 0 0 8px #fff}
.cx-step:nth-child(2) .cx-step__num{background:var(--cx-blue)}
.cx-step:nth-child(3) .cx-step__num{background:#0E4FA8}
.cx-step:nth-child(4) .cx-step__num{background:var(--cx-orange)}
.cx-step h3{font-size:19px;margin:18px 0 8px}
.cx-step p{margin:0;font-size:15.5px}

/* Tracking section */
.cx-tracksec{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}

/* Stats */
.cx-stats{background:var(--cx-navy-deep);padding:60px 0}
.cx-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.cx-stat strong{display:block;font-family:var(--cx-font-head);font-weight:800;font-size:clamp(2rem,3.4vw,2.8rem);color:#fff}
.cx-stat span{color:rgba(255,255,255,.66);font-size:15px}

/* CTA */
.cx-cta{background:linear-gradient(120deg,var(--cx-navy) 0%,var(--cx-blue) 100%);padding:74px 0}
.cx-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.cx-cta .cx-h2{margin-bottom:8px}

/* Quote form */
.cx-quote{background:#fff;border:1px solid var(--cx-border);border-radius:18px;padding:32px;box-shadow:var(--cx-shadow);max-width:900px}
.cx-quote__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}
.cx-quote label{font-family:var(--cx-font-head);font-weight:600;font-size:14px;color:var(--cx-navy);display:grid;gap:8px}
.cx-quote__full{grid-column:1/-1}
.cx-quote__msg{margin:14px 0 0;font-family:var(--cx-font-head);font-weight:700;color:#0E8B54}

/* FAQ */
.cx-faq{max-width:860px}
.cx-faq__item{background:#fff;border:1px solid var(--cx-border);border-radius:12px;padding:18px 22px;margin-bottom:14px;transition:box-shadow .2s ease}
.cx-faq__item[open]{box-shadow:var(--cx-shadow)}
.cx-faq__item summary{cursor:pointer;font-family:var(--cx-font-head);font-weight:700;color:var(--cx-navy);font-size:17px;list-style:none}
.cx-faq__item summary::-webkit-details-marker{display:none}
.cx-faq__item summary::after{content:"+";float:right;color:var(--cx-orange);font-size:22px;line-height:1}
.cx-faq__item[open] summary::after{content:"–"}
.cx-faq__item p{margin:12px 0 0}

/* Contact */
.cx-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 0 36px}
.cx-contact__item{background:var(--cx-gray);border-radius:var(--cx-radius);padding:26px}
.cx-contact__item h3{font-size:18px;margin:14px 0 6px}
.cx-contact__item p{margin:0}

/* Page head / entry / blog */
.cx-pagehead{background:var(--cx-navy);padding:74px 0 66px}
.cx-pagehead__title{color:#fff;font-size:clamp(2rem,3.6vw,2.9rem);margin:0}
.cx-pagehead__meta{color:rgba(255,255,255,.7);margin:8px 0 0}
.cx-main--canvas .cx-entry,.cx-main--canvas{padding:0}
.cx-entry{padding:72px 24px}
.cx-entry>h2{margin-top:1.4em}
.cx-entry>ul{padding-left:20px}
.cx-entry>ul li{margin-bottom:8px}
.cx-entry [class^="cx-section"],.cx-entry .cx-hero,.cx-entry .cx-stats,.cx-entry .cx-cta,.cx-entry .cx-features{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:0;padding-right:0}
.cx-blog{display:grid;grid-template-columns:1fr 320px;gap:40px;padding:72px 24px}
.cx-card{background:#fff;border:1px solid var(--cx-border);border-radius:var(--cx-radius);overflow:hidden;margin-bottom:28px}
.cx-post__body{padding:26px}
.cx-post__title{font-size:22px;margin:0 0 6px}
.cx-post__meta{font-size:14px;color:#8492A9;margin:0 0 12px}
.cx-sidebar .widget{background:var(--cx-gray);border-radius:var(--cx-radius);padding:22px;margin-bottom:22px}
.widget-title{font-size:17px}
.cx-404{padding:120px 24px;text-align:center}
.cx-404__code{font-family:var(--cx-font-head);font-weight:800;font-size:96px;color:var(--cx-orange);margin:0;line-height:1}
.cx-search{display:flex;gap:10px}

/* Footer */
.cx-footer{background:var(--cx-navy-deep);color:rgba(255,255,255,.7);padding:74px 0 0;margin-top:0}
.cx-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:52px}
.cx-footer h3{color:#fff;font-size:16px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px}
.cx-footer .cx-brand__text{color:#fff}
.cx-footer .cx-brand__text strong{color:#fff}
.cx-footer__tag{margin:18px 0;max-width:30em}
.cx-footer__links{list-style:none;margin:0;padding:0}
.cx-footer__links li{margin-bottom:10px}
.cx-footer a{color:rgba(255,255,255,.72)}
.cx-footer a:hover{color:var(--cx-orange)}
.cx-footer__bar{border-top:1px solid rgba(255,255,255,.12);padding:20px 0}
.cx-footer__bar-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}
.cx-footer__menu{display:flex;gap:20px;list-style:none;margin:0;padding:0}

/* Responsive */
@media (max-width:1024px){
  .cx-hero__inner{grid-template-columns:1fr;padding:84px 24px}
  .cx-features__grid{grid-template-columns:repeat(2,1fr);transform:none;margin-top:-30px}
  .cx-grid--3{grid-template-columns:repeat(2,1fr)}
  .cx-steps{grid-template-columns:repeat(2,1fr)}
  .cx-steps::before{display:none}
  .cx-tracksec{grid-template-columns:1fr}
  .cx-footer__grid{grid-template-columns:1fr 1fr}
  .cx-result__meta{grid-template-columns:repeat(2,1fr)}
  .cx-blog{grid-template-columns:1fr}
  .cx-nav{display:none}
  .cx-burger{display:flex}
}
@media (max-width:767px){
  body{font-size:16px}
  .cx-section{padding:66px 0}
  .cx-features__grid,.cx-grid--3,.cx-steps,.cx-stats__grid,.cx-contact,.cx-quote__grid,.cx-footer__grid{grid-template-columns:1fr}
  .cx-topbar__inner{justify-content:center;text-align:center}
  .cx-header__actions .cx-btn{display:none}
  .cx-hero__ctas .cx-btn{width:100%}
  .cx-cta__inner{flex-direction:column;align-items:flex-start}
}

/* Elementor compatibility */
.elementor-page .cx-entry{padding:0}
.elementor-page .cx-pagehead{display:none}
.elementor-widget-container>.cx-hero,.elementor-widget-container>.cx-section,.elementor-widget-container>.cx-stats,.elementor-widget-container>.cx-cta,.elementor-widget-container>.cx-features{margin:0}
