/* ══════════════════════════════════════════════════════════════════════
   Customs clearance section — /customs-clearance/
   Shares the theme tokens (--fp-*) so it reads as one site.
══════════════════════════════════════════════════════════════════════ */

.fpx-bc-bar{background:var(--fp-lighter);border-bottom:1px solid var(--fp-border);padding:9px 0}
.fpx-bc{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;font-size:13px;color:var(--fp-grey)}
.fpx-bc li+li::before{content:"›";margin-right:8px;color:#9db0bd}
.fpx-bc a{color:var(--fp-grey)}
.fpx-bc a:hover{color:var(--fp-blue)}

/* ── Hero ─────────────────────────────────────────────────────────── */
.fpx-hero{background:linear-gradient(160deg,#0c1b26 0%,#0b4f6c 78%);color:#fff;padding:52px 0 46px}
.fpx-hero h1{color:#fff;font-size:clamp(26px,3.4vw,40px);line-height:1.18;letter-spacing:-.02em;margin:12px 0 14px}
.fpx-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:38px;align-items:center}
.fpx-hero-lede p{color:rgba(255,255,255,.85);font-size:16px;line-height:1.72;margin:0 0 10px}
.fpx-hero-sub{color:rgba(255,255,255,.85);font-size:16px;line-height:1.72;max-width:760px}
.fpx-pill{display:inline-block;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.14);
  color:#cfe6ef;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.fpx-hero-fig{margin:0}
.fpx-hero-fig img{width:100%;height:auto;border-radius:12px;display:block;box-shadow:0 18px 44px rgba(0,0,0,.34)}
.fpx-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.fpx-btn-ghost{display:inline-flex;align-items:center;padding:11px 20px;border-radius:var(--fp-radius);
  border:1px solid rgba(255,255,255,.42);color:#fff!important;font-weight:650;font-size:14px}
.fpx-btn-ghost:hover{background:rgba(255,255,255,.12)}
.fpx-btn-ghost-light{display:inline-flex;padding:9px 16px;border-radius:var(--fp-radius);
  border:1px solid rgba(255,255,255,.45);color:#fff!important;font-weight:650;font-size:13px}
.fpx-btn-lg{padding:13px 26px!important;font-size:15px!important}

.fpx-stat-row{display:flex;flex-wrap:wrap;gap:34px;list-style:none;margin:26px 0 0;padding:0}
.fpx-stat-row li{display:flex;flex-direction:column}
.fpx-stat-row strong{font-size:30px;line-height:1;color:#fff;letter-spacing:-.02em}
.fpx-stat-row span{font-size:12.5px;color:rgba(255,255,255,.7);margin-top:5px}

/* ── Body ─────────────────────────────────────────────────────────── */
.fpx-body{padding:44px 0 60px;background:#fff}
.fpx-two-col{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start}
.fpx-section{margin:0 0 34px}
.fpx-section h2{font-size:22px;letter-spacing:-.01em;margin:0 0 12px;color:var(--fp-black)}
.fpx-section p{line-height:1.75;color:var(--fp-mid)}
.fpx-section ul,.fpx-section ol{line-height:1.75;color:var(--fp-mid);padding-left:20px}
.fpx-section li{margin:6px 0}
.fpx-note{color:var(--fp-grey)}

.fpx-fact-table{width:100%;border-collapse:collapse;margin:8px 0 10px;font-size:14.5px}
.fpx-fact-table th{width:210px;text-align:left;vertical-align:top;padding:10px 14px 10px 0;
  color:var(--fp-grey);font-weight:650;border-bottom:1px solid var(--fp-border)}
.fpx-fact-table td{padding:10px 0;border-bottom:1px solid var(--fp-border);color:var(--fp-dark);line-height:1.65}

.fpx-faq details{border:1px solid var(--fp-border);border-radius:var(--fp-radius);padding:12px 16px;margin:8px 0;background:var(--fp-lighter)}
.fpx-faq summary{cursor:pointer;font-weight:650;color:var(--fp-black)}
.fpx-faq p{margin:9px 0 0}

/* ── Inline partner CTA on a country page ─────────────────────────── */
.fpx-inline-partner{border:1px solid #cfe0e7;background:#f3f9fb;border-radius:var(--fp-radius-lg);padding:24px 26px}
.fpx-inline-partner h2{margin-top:0}
.fpx-inline-partner-note{font-size:14px;color:#41576a;border-left:3px solid var(--fp-blue-lt);padding-left:12px;margin:14px 0 18px}

/* ── Sidebar ──────────────────────────────────────────────────────── */
.fpx-card{border:1px solid var(--fp-border);border-radius:var(--fp-radius-lg);padding:20px;margin-bottom:18px;background:#fff}
.fpx-card h3{font-size:15px;margin:0 0 8px;color:var(--fp-black)}
.fpx-card p{font-size:14px;line-height:1.65;color:var(--fp-mid);margin:0 0 14px}
.fpx-card-dark{background:var(--fp-black);border-color:var(--fp-black)}
.fpx-card-dark h3{color:#fff}
.fpx-card-dark p{color:rgba(255,255,255,.78)}
.fpx-side-list{list-style:none;margin:0 0 10px;padding:0;font-size:14px}
.fpx-side-list li{padding:5px 0;border-bottom:1px solid var(--fp-border)}
.fpx-side-all{font-size:13px;font-weight:650}

/* ── Index ────────────────────────────────────────────────────────── */
.fpx-region{margin:0 0 30px}
.fpx-region h2{display:flex;align-items:center;gap:10px;font-size:19px;margin:0 0 12px}
.fpx-region-count{font-size:12px;font-weight:700;color:var(--fp-grey);background:var(--fp-light);border-radius:999px;padding:2px 9px}
.fpx-country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:8px;list-style:none;margin:0;padding:0}
.fpx-country-grid a{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 13px;border:1px solid var(--fp-border);border-radius:var(--fp-radius);
  font-size:14px;color:var(--fp-dark);background:#fff;transition:border-color .15s,background .15s}
.fpx-country-grid a:hover{border-color:var(--fp-blue-lt);background:var(--fp-blue-xlt);color:var(--fp-blue)}
.fpx-badge{font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  color:#0f6d4f;background:#e3f4ec;border-radius:4px;padding:2px 6px}

.fpx-partner-cta{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;
  margin-top:14px;padding:28px 30px;border-radius:var(--fp-radius-lg);
  background:linear-gradient(140deg,#0c1b26,#0b4f6c);color:#fff}
.fpx-partner-cta h2{color:#fff;margin:0 0 8px;font-size:21px}
.fpx-partner-cta p{color:rgba(255,255,255,.84);margin:0;max-width:640px;line-height:1.7}

/* ── Partner page ─────────────────────────────────────────────────── */
.fpx-partner-wrap{max-width:920px}
.fpx-benefit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:14px}
.fpx-benefit{border:1px solid var(--fp-border);border-radius:var(--fp-radius-lg);padding:18px 20px;background:var(--fp-lighter)}
.fpx-benefit h3{font-size:15px;margin:0 0 7px;color:var(--fp-black)}
.fpx-benefit p{font-size:14px;line-height:1.65;margin:0;color:var(--fp-mid)}

.fpx-criteria,.fpx-pipeline{list-style:none;padding:0;margin:16px 0 0;counter-reset:none}
.fpx-criteria li,.fpx-pipeline li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--fp-border)}
.fpx-criteria li:last-child,.fpx-pipeline li:last-child{border-bottom:0}
.fpx-crit-n,.fpx-pipeline li>span{flex:0 0 30px;height:30px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;background:var(--fp-blue);color:#fff;font-weight:700;font-size:13.5px}
.fpx-criteria h3,.fpx-pipeline h3{font-size:15.5px;margin:2px 0 5px;color:var(--fp-black)}
.fpx-criteria p,.fpx-pipeline p{font-size:14.5px;line-height:1.68;margin:0;color:var(--fp-mid)}

.fpx-alert{border-radius:var(--fp-radius);padding:16px 18px;font-size:14.5px;line-height:1.7;margin-bottom:18px}
.fpx-alert-ok{background:#e6f5ee;border:1px solid #b6e0cd;color:#0d5e42}
.fpx-alert-err{background:#fdecec;border:1px solid #f3c2c2;color:#a12626}

.fpx-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px 18px}
.fpx-field{margin:0;display:flex;flex-direction:column;gap:6px}
.fpx-field-wide{grid-column:1/-1}
.fpx-field label{font-size:13.5px;font-weight:650;color:var(--fp-dark)}
.fpx-field input,.fpx-field textarea{width:100%;padding:10px 12px;border:1px solid var(--fp-border);
  border-radius:var(--fp-radius);font:inherit;font-size:14px;background:#fff}
.fpx-field input:focus,.fpx-field textarea:focus{outline:2px solid var(--fp-blue-lt);outline-offset:1px;border-color:var(--fp-blue-lt)}
.fpx-req{color:#b32d2e}
.fpx-consent{margin:16px 0 14px;color:var(--fp-grey)}
.fpx-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media (max-width:960px){
  .fpx-two-col{grid-template-columns:1fr;gap:28px}
  .fpx-hero-grid{grid-template-columns:1fr;gap:26px}
  .fpx-hero-fig{order:-1}
}
@media (max-width:600px){
  .fpx-hero{padding:34px 0 30px}
  .fpx-stat-row{gap:22px}
  .fpx-stat-row strong{font-size:24px}
  .fpx-partner-cta{padding:22px}
  .fpx-fact-table th{width:auto;display:block;padding-bottom:2px;border-bottom:0}
  .fpx-fact-table td{display:block;padding-top:0}
}

/* ── Clearance rail inside the Services section ───────────────────── */
.fpx-services-clearance{background:var(--fp-lighter);border-top:1px solid var(--fp-border);border-bottom:1px solid var(--fp-border)}
.fpx-svc-head{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;justify-content:space-between;margin-bottom:24px}
.fpx-svc-head h2{margin:10px 0 8px;font-size:24px;letter-spacing:-.01em}
.fpx-svc-head p{margin:0;max-width:720px;line-height:1.72;color:var(--fp-mid)}
.fpx-pill-dark{background:var(--fp-blue);color:#fff}
.fpx-svc-regions{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin-bottom:24px}
.fpx-svc-region h3{display:flex;align-items:center;gap:8px;font-size:14px;margin:0 0 8px;color:var(--fp-black)}
.fpx-svc-region h3 span{font-size:11px;font-weight:700;color:var(--fp-grey);background:var(--fp-light);border-radius:999px;padding:2px 7px}
.fpx-svc-region ul{list-style:none;margin:0;padding:0;font-size:13.5px}
.fpx-svc-region li{padding:3px 0}
.fpx-svc-region a{color:var(--fp-mid)}
.fpx-svc-region a:hover{color:var(--fp-blue)}
.fpx-svc-partner{display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between;
  padding:24px 26px;border-radius:var(--fp-radius-lg);background:linear-gradient(140deg,#0c1b26,#0b4f6c);color:#fff}
.fpx-svc-partner h3{color:#fff;margin:0 0 7px;font-size:18px}
.fpx-svc-partner p{color:rgba(255,255,255,.84);margin:0;max-width:640px;line-height:1.7;font-size:14.5px}

.fpx-service-clear{margin:34px 0;padding:24px 26px;border:1px solid #cfe0e7;background:#f3f9fb;border-radius:var(--fp-radius-lg)}
.fpx-service-clear h2{margin:0 0 10px;font-size:20px}
.fpx-service-clear p{line-height:1.72;color:var(--fp-mid);margin:0 0 16px}
.fpx-service-clear-cta{display:flex;flex-wrap:wrap;gap:12px}
.fpx-btn-outline{display:inline-flex;align-items:center;padding:11px 20px;border-radius:var(--fp-radius);
  border:1px solid var(--fp-blue);color:var(--fp-blue)!important;font-weight:650;font-size:14px}
.fpx-btn-outline:hover{background:var(--fp-blue-xlt)}
@media (max-width:600px){.fpx-svc-partner,.fpx-service-clear{padding:20px}}
.fp-home-clear-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}

/* ── Cross-link rail injected on route / pSEO pages ───────────────── */
.fpx-rail{background:var(--fp-lighter,#f7fafb);border-top:1px solid var(--fp-border,#dde6ea);padding:34px 0}
.fpx-rail-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}
.fpx-rail-card{background:#fff;border:1px solid var(--fp-border,#dde6ea);border-radius:12px;padding:20px 22px}
.fpx-rail-card h2{font-size:16px;margin:0 0 8px;color:var(--fp-black,#0c1b26)}
.fpx-rail-card p{font-size:14px;line-height:1.65;color:var(--fp-mid,#2c4657);margin:0 0 14px}
.fpx-rail-primary{border-color:#cfe0e7;background:#f3f9fb}
.fpx-rail-list{list-style:none;margin:0;padding:0;font-size:14px}
.fpx-rail-list li{padding:5px 0;border-bottom:1px solid var(--fp-border,#dde6ea)}
.fpx-rail-list li:last-child{border-bottom:0}
.fpx-rail-link{font-size:14px;font-weight:650}
.fpx-route-links{list-style:none;margin:10px 0 12px;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px}
.fpx-route-links li a{display:block;padding:9px 12px;border:1px solid var(--fp-border,#dde6ea);
  border-radius:6px;font-size:13.5px;color:var(--fp-dark,#17303f);background:#fff}
.fpx-route-links li a:hover{border-color:var(--fp-blue-lt,#1b87ad);background:var(--fp-blue-xlt,#eaf4f8);color:var(--fp-blue,#0b4f6c)}


/* ══════════════════════════════════════════════════════════════════════
   BUTTONS — self-contained
   ----------------------------------------------------------------------
   The theme's .fp-btn-primary carries only a background and a radius; it
   has no display, no padding and no line-height, so on its own it renders
   as a coloured inline run of text. It also carries an !important orange
   override from a later block, which fights the site palette.
   These classes stand alone: nothing here depends on a second class being
   present, and nothing here needs !important.
══════════════════════════════════════════════════════════════════════ */
.fpx-btn,
a.fpx-btn,
button.fpx-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border-radius:8px;border:1px solid transparent;
  font-family:inherit;font-size:14.5px;font-weight:650;line-height:1.25;
  letter-spacing:-.005em;text-decoration:none;text-align:center;cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.fpx-btn:focus-visible{outline:2px solid #1b87ad;outline-offset:2px}
.fpx-btn:active{transform:translateY(1px)}

a.fpx-btn--primary,.fpx-btn--primary{
  background:#0b4f6c;border-color:#0b4f6c;color:#fff!important;
  box-shadow:0 1px 2px rgba(12,27,38,.16),0 6px 16px rgba(11,79,108,.18);
}
a.fpx-btn--primary:hover,.fpx-btn--primary:hover{
  background:#083a50;border-color:#083a50;color:#fff!important;
  box-shadow:0 2px 4px rgba(12,27,38,.2),0 10px 22px rgba(11,79,108,.24);
}

a.fpx-btn--outline,.fpx-btn--outline{
  background:#fff;border-color:#c3d6de;color:#0b4f6c!important;
}
a.fpx-btn--outline:hover,.fpx-btn--outline:hover{
  background:#eaf4f8;border-color:#1b87ad;color:#083a50!important;
}

/* On dark hero backgrounds. */
a.fpx-btn--ghost,.fpx-btn--ghost{
  background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.45);color:#fff!important;
}
a.fpx-btn--ghost:hover,.fpx-btn--ghost:hover{
  background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.75);color:#fff!important;
}

.fpx-btn--lg{padding:14px 28px;font-size:15.5px;border-radius:9px}
.fpx-btn--sm{padding:9px 16px;font-size:13px;border-radius:6px}
.fpx-btn--block{display:flex;width:100%}

/* Groups of buttons keep a consistent gap and wrap sanely on mobile. */
.fpx-btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media (max-width:520px){
  .fpx-btn-row{flex-direction:column;align-items:stretch}
  .fpx-btn-row .fpx-btn{width:100%}
}

/* ── Repair the theme's own primary button ──────────────────────────
   Other templates still use .fp-btn-primary on its own. Give it the box
   model it was always missing, and let it inherit the site palette
   instead of the orange override, without touching the header's
   .fp-btn-primary.fp-btn-sm pairing (which already sets its own padding). */
a.fp-btn-primary:not(.fp-btn-sm):not(.fp-btn){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;line-height:1.25;font-size:14.5px;font-weight:650;
  border-radius:8px;text-decoration:none;
  background:#0b4f6c!important;border:1px solid #0b4f6c!important;color:#fff!important;
  box-shadow:0 1px 2px rgba(12,27,38,.16),0 6px 16px rgba(11,79,108,.18);
  transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
a.fp-btn-primary:not(.fp-btn-sm):not(.fp-btn):hover{
  background:#083a50!important;border-color:#083a50!important;
  box-shadow:0 2px 4px rgba(12,27,38,.2),0 10px 22px rgba(11,79,108,.24);
}
a.fp-btn-primary:not(.fp-btn-sm):not(.fp-btn):active{transform:translateY(1px)}

/* ══════════════════════════════════════════════════════════════════════
   Ocean content blocks (fp_block_*) — homepage / about / contact
══════════════════════════════════════════════════════════════════════ */
.fp-ob{padding:52px 0}
.fp-ob-head{max-width:820px;margin:0 0 28px}
.fp-ob-eyebrow{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:#0b4f6c;background:#eaf4f8;border-radius:999px;padding:4px 11px;margin-bottom:12px}
.fp-ob-head h2{font-size:clamp(21px,2.5vw,28px);line-height:1.24;letter-spacing:-.018em;margin:0 0 12px;color:#0c1b26}
.fp-ob-head p{font-size:15.5px;line-height:1.78;color:#2c4657;margin:0}
.fp-ob-sub{font-size:16px;margin:24px 0 10px;color:#0c1b26}
.fp-ob-note{font-size:13.5px;line-height:1.7;color:#5d7688;margin:14px 0 0}
.fp-ob-note a{color:#0b4f6c;font-weight:600}

.fp-ob-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:38px;align-items:start}
.fp-ob-split-rev .fp-ob-fig{order:-1}
.fp-ob-fig{margin:0}
.fp-ob-fig img{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 10px 30px rgba(12,27,38,.14)}

.fp-ob-table-wrap{overflow-x:auto}
.fp-ob-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}
.fp-ob-table th,.fp-ob-table td{padding:12px 14px;text-align:left;vertical-align:top;
  border-bottom:1px solid #dde6ea;line-height:1.62}
.fp-ob-table thead th{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:#5d7688;background:#f7fafb;border-bottom:2px solid #cfe0e7}
.fp-ob-table tbody th{width:150px;font-weight:650;color:#5d7688}
.fp-ob-table-3 td:first-child{font-weight:650;color:#17303f;width:180px}

.fp-ob-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.fp-ob-card{background:#fff;border:1px solid #dde6ea;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.fp-ob-card-img img{width:100%;height:168px;object-fit:cover;display:block}
.fp-ob-card-body{padding:18px 20px}
.fp-ob-card-body h3{font-size:16px;margin:0 0 8px;color:#0c1b26}
.fp-ob-card-body p{font-size:14px;line-height:1.68;color:#2c4657;margin:0}

.fp-ob-steps{list-style:none;counter-reset:ob;margin:0;padding:0}
.fp-ob-steps li{position:relative;counter-increment:ob;padding:0 0 14px 40px;font-size:14.8px;line-height:1.72;color:#2c4657}
.fp-ob-steps li::before{content:counter(ob);position:absolute;left:0;top:1px;width:26px;height:26px;
  border-radius:50%;background:#0b4f6c;color:#fff;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center}
.fp-ob-list{list-style:none;margin:0;padding:0}
.fp-ob-list li{position:relative;padding:5px 0 5px 22px;font-size:14.6px;line-height:1.68;color:#2c4657}
.fp-ob-list li::before{content:"";position:absolute;left:2px;top:13px;width:8px;height:8px;
  border-radius:2px;background:#1b87ad;transform:rotate(45deg)}

.fp-ob-flow{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.fp-ob-flow li{position:relative;padding:22px 22px 20px;border:1px solid #dde6ea;border-radius:14px;background:#fff}
.fp-ob-flow-n{position:absolute;top:-13px;left:20px;width:28px;height:28px;border-radius:50%;
  background:#0b4f6c;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.fp-ob-flow h3{font-size:15.5px;margin:8px 0 7px;color:#0c1b26}
.fp-ob-flow p{font-size:14px;line-height:1.68;color:#2c4657;margin:0}

.fp-ob-lanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.fp-ob-lane{display:flex;gap:0;border:1px solid #dde6ea;border-radius:14px;overflow:hidden;background:#fff}
.fp-ob-lane-img{flex:0 0 118px}
.fp-ob-lane-img img{width:100%;height:100%;min-height:150px;object-fit:cover;display:block}
.fp-ob-lane-body{padding:16px 18px}
.fp-ob-lane-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:5px}
.fp-ob-lane-top h3{font-size:15.5px;margin:0;color:#0c1b26}
.fp-ob-transit{flex:0 0 auto;font-size:11.5px;font-weight:700;color:#0b4f6c;background:#eaf4f8;
  border-radius:999px;padding:3px 9px;white-space:nowrap}
.fp-ob-lane-dest{font-size:12.5px;color:#5d7688;margin:0 0 8px;line-height:1.5}
.fp-ob-lane-body p{font-size:13.8px;line-height:1.66;color:#2c4657;margin:0}

.fp-ob-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:20px}
.fp-ob-mini{background:#fff;border:1px solid #dde6ea;border-radius:12px;padding:20px 22px}
.fp-ob-mini h3{font-size:15.5px;margin:0 0 8px;color:#0c1b26}
.fp-ob-mini p{font-size:14px;line-height:1.68;color:#2c4657;margin:0}

.fp-ob-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:24px}
.fp-ob-strip img{width:100%;height:130px;object-fit:cover;border-radius:10px;display:block}

.fp-ob-faq details{border:1px solid #dde6ea;border-radius:11px;padding:14px 18px;margin:9px 0;background:#fff}
.fp-ob-faq details[open]{background:#f7fafb;border-color:#cfe0e7}
.fp-ob-faq summary{cursor:pointer;font-weight:650;font-size:15px;color:#0c1b26;list-style:none}
.fp-ob-faq summary::-webkit-details-marker{display:none}
.fp-ob-faq summary::after{content:"+";float:right;color:#5d7688;font-weight:400;font-size:19px;line-height:1}
.fp-ob-faq details[open] summary::after{content:"−"}
.fp-ob-faq p{font-size:14.6px;line-height:1.76;color:#2c4657;margin:11px 0 0;padding-right:24px}

@media (max-width:900px){
  .fp-ob{padding:38px 0}
  .fp-ob-split{grid-template-columns:1fr;gap:24px}
  .fp-ob-split-rev .fp-ob-fig{order:0}
  .fp-ob-lane{flex-direction:column}
  .fp-ob-lane-img{flex:none}
  .fp-ob-lane-img img{height:150px;min-height:0}
}
@media (max-width:600px){
  .fp-ob-strip img{height:100px}
  .fp-ob-table{min-width:460px}
}

/* ══════════════════════════════════════════════════════════════════════
   Homepage restyle (v2.5.0)
   Deeper hero, tighter section rhythm, cards that read as one system with
   the clearance and industries sections rather than three visual languages.
══════════════════════════════════════════════════════════════════════ */
.fp-home-hero{background:linear-gradient(155deg,#0a1720 0%,#0b4f6c 62%,#12678c 100%)!important;position:relative}
.fp-home-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(1100px 420px at 12% 0%,rgba(255,255,255,.10),transparent 62%)}
.fp-home-hero .fp-container{position:relative;z-index:2}
.fp-hero-h1{letter-spacing:-.028em!important;line-height:1.1!important}
.fp-hero-h1-line2{color:#7fd4ee!important}
.fp-hero-sub-text{color:rgba(255,255,255,.86)!important;font-size:16.5px!important;line-height:1.72!important;max-width:600px}
.fp-trust-chip{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.20)!important;
  color:rgba(255,255,255,.94)!important;border-radius:999px!important;font-size:13px!important;padding:6px 13px!important}
.fp-trust-check{color:#7fd4ee!important}

.fp-hero-stats{list-style:none;display:flex;flex-wrap:wrap;gap:30px;margin:24px 0 0;padding:20px 0 0;
  border-top:1px solid rgba(255,255,255,.16)}
.fp-hero-stats li{display:flex;flex-direction:column}
.fp-hero-stats strong{font-size:27px;line-height:1;letter-spacing:-.025em;color:#fff}
.fp-hero-stats span{font-size:12px;color:rgba(255,255,255,.66);margin-top:6px;letter-spacing:.02em}

/* Alternating section tint, so twenty stacked blocks have a rhythm. */
.fp-home-services,.fp-home-modes{background:#f7fafb}
.fp-home-section-header h2{letter-spacing:-.018em}

/* Cards across the homepage share one shape with the rest of the site. */
.fp-svc-card-home,.fp-route-card,.fp-mode-card{border-radius:14px!important;
  border:1px solid #dde6ea!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}
.fp-svc-card-home:hover,.fp-route-card:hover,.fp-mode-card:hover{
  transform:translateY(-2px);border-color:#1b87ad!important;box-shadow:0 10px 26px rgba(11,79,108,.12)!important}
.fp-svc-icon-home{font-size:26px!important;width:auto!important;height:auto!important;background:none!important}

.fp-ob-dim{color:#5d7688;font-size:13.5px}

@media (max-width:900px){
  .fp-hero-stats{gap:20px;margin-top:20px;padding-top:16px}
  .fp-hero-stats strong{font-size:22px}
}

/* ── Gallery / grid density fixes (v2.6.0) ────────────────────────────
   The operations gallery and the lane grid were both leaving orphan rows.
   Auto-fit keeps them full whatever the tile count ends up being. */
.fp-ops-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important}
.fp-ops-shot figcaption strong{display:block;font-size:14px;color:#0c1b26;margin-bottom:3px}
.fp-ops-shot figcaption span{display:block;font-size:12.5px;line-height:1.55;color:#5d7688}
.fp-routes-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important}
@media (max-width:560px){
  .fp-ops-grid{grid-template-columns:1fr!important}
  .fp-routes-grid{grid-template-columns:1fr!important}
}
