/* OnBoard Courier theme, September 2026.
   Loaded after the inline stylesheets of every generated page.
   Colour tokens are also rewritten inside the pages by tools/apply_theme.py;
   this file carries the structure: type, spacing, corners, the nav, the footer,
   the buttons and the lead bars. Selectors are prefixed with "html body" so they
   win against the single-class rules in the pages without a specificity war. */

:root{
  --navy:#14181F;--navy2:#1F2530;--ink:#14181F;--sub:#5B6472;--line:#E3E6EA;
  --gold:#D71920;--gold2:#B3121A;--gold3:#E53A41;--brand:#B3121A;
  --red:#D71920;--red-dark:#B3121A;--char:#14181F;--char-2:#2B323D;--muted:#5B6472;
  --surface:#FFFFFF;--surface-alt:#F5F6F8;
  --grad:linear-gradient(135deg,#E0262E,#D71920 55%,#B3121A);
  --glow:0 8px 20px -12px rgba(215,25,32,.45);
}

/* ---- type ------------------------------------------------------------- */
html body{font-family:'Plus Jakarta Sans','PJS Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;color:#1F2933;-webkit-font-smoothing:antialiased}
html body h1,html body h2,html body h3,html body h4,
html body .hero-h1,html body .section-h2,html body .stat-number,html body .nav b{
  font-family:'Plus Jakarta Sans','PJS Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  letter-spacing:-.02em;font-weight:800}
html body h1 em,html body h2 em,html body .hero-h1 em,html body .section-h2 em,
html body section.alt h2 em,html body .cta-band h2 em,html body .rec h2 em,
html body .courier-cta-content h2 em,html body #uae-network h2 em,html body #obc-vs h2 em,html body #obc-uaenet h2 em{
  background:none;-webkit-background-clip:initial;background-clip:initial;
  -webkit-text-fill-color:#D71920;color:#D71920;font-style:normal}
html body ::selection{background:#D71920;color:#fff}
/* on dark grounds the brand red is lifted so small text stays above 4.5:1 and headings above 3:1 */
html body .cta-band h2 em,html body section.alt .cta-band h2 em,html body .rec h2 em,html body section.alt .rec h2 em,
html body .courier-cta-content h2 em,html body #contact h2 em{-webkit-text-fill-color:#F0474E;color:#F0474E}
html body #courier-cta .section-tag,html body #contact .section-tag,html body .cta-band .tag,html body .rec .tag{
  color:#FF7075!important;-webkit-text-fill-color:#FF7075;border-left-color:#FF7075!important}

/* ---- utility strip above the nav (.obar, present on every page) ------- */
html body .obar{display:block;background:#14181F!important;border-bottom:0!important;color:rgba(255,255,255,.78);font-size:12.5px;font-weight:600}
html body .obar-in{max-width:1200px;margin:0 auto;padding:0 22px;height:36px;display:flex;align-items:center;justify-content:flex-start;gap:22px}
html body .olive{color:rgba(255,255,255,.88);letter-spacing:.08em;font-size:11.5px;white-space:nowrap}
html body .olive i{background:#2FD37A}
html body .oinfo{white-space:nowrap;color:rgba(255,255,255,.72);display:inline-flex;align-items:center;gap:8px}
html body .oinfo::before{content:'';width:4px;height:4px;border-radius:50%;background:#D71920}
html body .oports{margin-left:auto;display:inline-flex;align-items:center;gap:18px}
html body .oports a{padding:0;border:0;border-radius:0;background:none;color:#fff;font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap}
html body .oports a:hover{background:none;color:#E53A41;border:0}
html body .oports a.owa{font-weight:700}
@media(max-width:1100px){html body .oinfo{display:none}}
@media(max-width:940px){html body .obar{display:none}}

/* ---- nav (shared by every page) --------------------------------------- */
html body .nav{position:sticky;top:0;z-index:50;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;
  border-bottom:1px solid #E3E6EA;border-top:0;padding:0 22px;height:68px;gap:14px;box-shadow:0 1px 0 rgba(20,24,31,.03)}
html body .nav .mark{width:34px;height:34px;border-radius:6px;background:#D71920;box-shadow:none}
html body .nav .mark svg path{stroke:#fff}
html body .nav .mark svg circle{fill:#fff}
html body .nav b{font-size:17px;color:#14181F;letter-spacing:-.01em;font-weight:800}
html body .nav b span{color:#D71920}
html body .nav .brand:hover{opacity:1}
html body .nav .links{gap:20px;font-size:13.5px;font-weight:600}
html body .nav .links a{color:#2B323D;text-decoration:none;position:relative}
html body .nav .links a:not(.cta):not(.oport-m):hover{color:#D71920}
html body .nav .links a.cta{background:#D71920!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border:0!important;border-radius:4px!important;box-shadow:none!important;padding:11px 20px!important;font-weight:700!important;filter:none!important}
html body .nav .links a.cta:hover{background:#B3121A!important;filter:none!important}
html body .nav .hamb span{background:#14181F}
html body #obc-nav-toggle:focus-visible~label.hamb{outline:2px solid #D71920}
@media(max-width:760px){
  html body .nav{height:62px}
  html body .nav .links{background:#fff!important;inset:62px 0 0 0;padding:18px 22px 40px}
  html body .nav .links a:not(.cta){color:#14181F;border-bottom:1px solid #EEF0F3;font-size:16px;padding:14px 2px}
  html body .nav .links .oport-m{color:#D71920!important;font-weight:700!important}
  html body .nav .links a.cta{margin-top:20px;border-radius:4px!important;padding:15px!important;font-size:15px!important}
}

/* ---- buttons ----------------------------------------------------------- */
html body .btn,html body .qbtn,html body .qbox a.prim,html body .rec .recbtns a,
html body .btn-book,html body .btn-courier,html body .btn-contact,html body .mobile-cta,
html body section.alt .btn,html body section.alt .cta-band .btn,html body section.alt .rec .recbtns a{
  background:#D71920!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border-radius:4px;box-shadow:none;font-weight:700;letter-spacing:.01em;transition:background .15s,transform .15s}
html body .btn:hover,html body .qbtn:hover,html body .qbox a.prim:hover,html body .rec .recbtns a:hover,
html body .btn-book:hover,html body .btn-courier:hover,html body .btn-contact:hover{
  background:#B3121A!important;transform:none;box-shadow:none;filter:none}
html body .btn.ghost,html body section.alt .btn.ghost,html body .cta-band .btn.ghost,html body section.alt .cta-band .btn.ghost,
html body .rec .recbtns a.ghost,html body section.alt .rec .recbtns a.ghost,html body .qbox a.sec,html body .btn-courier-sec{
  background:transparent!important;color:#14181F!important;-webkit-text-fill-color:#14181F!important;
  border:1.5px solid #14181F!important;box-shadow:none!important}
html body .cta-band .btn.ghost,html body section.alt .cta-band .btn.ghost,html body .rec .recbtns a.ghost,html body section.alt .rec .recbtns a.ghost,
html body #courier-cta .btn-courier-sec{color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:rgba(255,255,255,.55)!important}
html body .btn.ghost:hover,html body .qbox a.sec:hover,html body .btn-courier-sec:hover{background:rgba(20,24,31,.06)!important}
html body .cta-band .btn.ghost:hover,html body .rec .recbtns a.ghost:hover,html body #courier-cta .btn-courier-sec:hover{background:rgba(255,255,255,.1)!important;border-color:#fff!important}
html body .btn.wa,html body section.alt .btn.wa,html body .cta-band .btn.wa{background:#0F7A3D!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none}
html body .btn.wa:hover{background:#0B6331!important}

/* ---- every red surface carries white text (Nami, 4 Sep 2026) ---------- */
html body .uae-code,html body .uae-btns a,html body #obc-vs .vs-btns a,html body #obc-calc .oc-cta,html body .step .n,
html body .code,html body .jb-cta a,html body .desknav a.on,html body .how-step .n,html body .yn button.sel,
html body .chips-select button.sel,html body .oc-pills button.on,html body .btn.mail,html body section.alt .btn.mail,
html body [style*="background:var(--gold)"],html body [style*="background:var(--grad)"],html body [style*="background:var(--gold2)"],
html body [style*="background:#D71920"],html body [style*="background:#d71920"],html body [style*="background:#B3121A"],html body [style*="background:#b3121a"],
html body [style*="background:linear-gradient(135deg,#E8343B"],html body [style*="background:linear-gradient(135deg,#e8343b"]{
  color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .uae-btns a,html body #obc-vs .vs-btns a,html body #obc-calc .oc-cta,html body .jb-cta a,html body .btn.mail{
  background:#D71920!important;border-radius:4px;box-shadow:none}
html body .uae-btns a:hover,html body #obc-vs .vs-btns a:hover,html body #obc-calc .oc-cta:hover,html body .jb-cta a:hover{background:#B3121A!important}

/* ---- labels, tags, kickers -------------------------------------------- */
html body .tag,html body .section-tag,html body .desk-kicker,html body .ukick,
html body #uae-network .uae-tag,html body #obc-vs .vs-tag,html body #obc-uaenet .ukick{
  background:transparent!important;border:0!important;border-left:3px solid #D71920!important;border-radius:0!important;
  padding:1px 0 1px 10px!important;color:#D71920!important;-webkit-text-fill-color:#D71920;
  font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;box-shadow:none}
html body .tag .dot{display:none}
html body .section-tag::before,html body .section-tag::after,html body .desk-kicker::before,html body .ukick::before,
html body #uae-network .uae-tag::before,html body #obc-vs .vs-tag::before,html body .tag::before{display:none!important}
html body #hero .hero-badge,html body .hero-badge{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html body .hero-badge{background:transparent;border:0;color:#D71920;letter-spacing:.16em;font-weight:800}
html body .service-tag{background:#FDECEC;color:#B3121A;border-radius:3px}

/* ---- surfaces ----------------------------------------------------------- */
html body .card,html body .step,html body .step-card,html body .service-card,html body .testimonial-card,
html body .desk-card,html body .portal-card,html body .qcard,html body .qbox,html body details,
html body .route-card,html body .al-card,html body .hubcard,html body .job,html body .logo-card,html body .vs-col{
  border-radius:8px!important}
html body .card:hover,html body .step-card:hover,html body .service-card:hover,html body .desk-card:hover{
  transform:translateY(-2px);border-color:#D71920}
html body .cta-band,html body .rec,html body .answer,html body .booking-card,html body #map-wrap,
html body .why-image,html body .about-image,html body .pull,html body .qe-win{border-radius:10px!important}
html body .answer,html body section.alt .answer{background:#F5F6F8;border:1px solid #E3E6EA;border-left:4px solid #D71920;border-radius:6px!important}
html body .answer p,html body section.alt .answer p{color:#1F2933}
html body .answer strong,html body section.alt .answer strong{color:#B3121A}
html body .cta-band,html body section.alt .cta-band{background:#14181F;border:0;color:#fff}
html body .cta-band h2,html body section.alt .cta-band h2{color:#fff}
html body .cta-band p,html body section.alt .cta-band p{color:rgba(255,255,255,.78)}
html body .rec,html body section.alt .rec{background:#14181F;border:0}
html body .rec::after{opacity:.35}
html body .rec li{border-radius:4px}
html body .chips a,html body .rec li{border-radius:4px}
html body .chips a:hover,html body section.alt .chips a:hover{border-color:#D71920;color:#B3121A}
html body section.alt{background:#F5F6F8;border-top:1px solid #E3E6EA}
html body section.alt .card,html body section.alt .step,html body section.alt details,html body section.alt .qcard,html body section.alt .qbox{border-color:#E3E6EA;box-shadow:none}
html body .form-group input,html body .form-group select,html body .form-group textarea,
html body .qf input,html body .qf select,html body .contact-form input,html body .contact-form textarea{border-radius:4px}
html body .form-group input:focus,html body .form-group select:focus,html body .qf input:focus,html body .qf select:focus{
  border-color:#D71920;box-shadow:0 0 0 3px rgba(215,25,32,.12)}
html body .booking-card{border:1px solid #E3E6EA;box-shadow:0 16px 40px -16px rgba(20,24,31,.18)}
html body .booking-card h2 .oi{color:#D71920}
html body summary::after{color:#D71920}
html body .trust-item .oi{color:#1A8F4A}
html body .trust-item{color:#2B323D}
html body #stats{background:#fff!important;border-top:1px solid #E3E6EA;border-bottom:1px solid #E3E6EA}
html body .stat-number{color:#D71920}
html body .stat-label{color:#5B6472}
html body .card p,html body .step p,html body .micro,html body .qnote,html body .booking-disclaimer,html body .routes-seo-text,
html body .route-from,html body .route-code,html body .al-hub,html body .desk-stat span,html body .testimonial-role,html body .ac-item-sub{color:#5B6472}
html body section.alt .card p,html body section.alt .step p,html body section.alt .lead,html body section.alt .micro,html body section.alt p,
html body section.alt td,html body section.alt details .a{color:#3D4652}
html body .step-number{background:#14181F;color:#fff;border-radius:6px}
html body .why-point-icon,html body .contact-item-icon{background:#FDECEC;border-radius:6px;color:#B3121A}
html body #contact .contact-item-icon{background:rgba(215,25,32,.18);color:#F47C81}
html body .testimonial-avatar{background:#14181F;color:#fff}
html body .testimonial-stars{color:#D71920}
html body .ac-dropdown{border-color:#D71920;border-radius:0 0 4px 4px}
html body .ac-item:hover,html body .ac-item.selected{background:#FDECEC}

/* ---- footer -------------------------------------------------------------- */
html body footer{background:#0E1116!important;border-top:4px solid #D71920!important;color:rgba(255,255,255,.66)!important;padding:56px 0 48px;font-size:13.5px}
html body footer a{color:rgba(255,255,255,.72)!important;text-decoration:none}
html body footer a:hover{color:#fff!important}
html body footer a[style*="B3121A" i],html body footer a[style*="b3121a" i]{color:#F47C81!important}
html body footer h3.f4,html body footer h4,html body .fgrid h4,html body .footer-col h4{color:#fff!important;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
html body footer .wrap>p,html body footer p{color:rgba(255,255,255,.64)!important}
html body .fdesks summary{color:rgba(255,255,255,.86)!important}
html body .fdesks .flinks a{color:rgba(255,255,255,.7)!important}
html body footer .fcount{color:rgba(255,255,255,.62)!important}
html body .footer-bottom p,html body .footer-bottom a{color:rgba(255,255,255,.62)!important}

/* ---- chat bubble (helpy.js styles itself from script) ------------------ */
html body #hp-fab{background:#14181F!important;border-color:#fff!important;box-shadow:0 10px 24px -10px rgba(20,24,31,.5)!important}

/* ---- mobile lead bar ---------------------------------------------------- */
html body .obc-stickybar{display:none}
@media(max-width:760px){
  html body .obc-stickybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1200;background:#fff;border-top:1px solid #E3E6EA;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -8px 24px rgba(20,24,31,.08)}
  html body .obc-stickybar a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 10px;
    border-radius:4px;font-weight:800;font-size:14px;text-decoration:none;white-space:nowrap}
  html body .obc-stickybar a svg{width:16px;height:16px;flex:none}
  html body .obc-stickybar a.q{background:#D71920;color:#fff}
  html body .obc-stickybar a.w{background:#fff;color:#14181F;border:1.5px solid #14181F}
  html body{padding-bottom:72px}
  html body #hp-fab{bottom:86px!important}
  html body #hp-box{bottom:152px!important}
}

/* ---- photographs replace the illustrations ------------------------------ */
html body #hero{background:linear-gradient(180deg,rgba(20,24,31,.88) 0%,rgba(20,24,31,.8) 55%,rgba(20,24,31,.92) 100%),url(/images/hero-dubai-skyline.jpg) center 42%/cover no-repeat!important;
  padding:72px 24px 88px!important}
html body #hero .hero-h1,html body .hero-h1{color:#fff!important;-webkit-text-fill-color:#fff}
html body #hero .hero-h1 em,html body .hero-h1 em{color:#F0474E!important;-webkit-text-fill-color:#F0474E}
html body #hero .hero-sub,html body .hero-sub{color:rgba(255,255,255,.9)!important}
html body #hero .hero-sub strong{color:#fff}
html body #hero .hero-badge{color:#FF7075!important}
html body #hero .hero-badge::before,html body #hero .hero-badge::after{background:#FF7075!important;opacity:.7}
html body #hero .booking-card{box-shadow:0 30px 60px -24px rgba(0,0,0,.55)}
html body #hero>*{position:relative;z-index:1}
html body #route-ticker{color:rgba(255,255,255,.7)}
html body #courier-cta{background:linear-gradient(90deg,rgba(20,24,31,.95) 0%,rgba(20,24,31,.86) 45%,rgba(20,24,31,.6) 100%),url(/images/business-professional.jpg) center 22%/cover no-repeat!important}
html body #contact{background:#14181F!important}
/* route and country heroes: photo behind a white fade, text stays on the left */
html body img.rhero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;display:block}
html body .rhero{background:#F7F8FA}
html body .rhero:after{background:linear-gradient(100deg,#F7F8FA 0%,rgba(247,248,250,.96) 40%,rgba(247,248,250,.55) 66%,rgba(247,248,250,.08) 100%)}
@media(max-width:760px){html body .rhero:after{background:linear-gradient(180deg,rgba(247,248,250,.97),rgba(247,248,250,.9))}}
/* heritage panels: photo, charcoal veil, white quotation */
html body .obc-her .hpanel{background:#14181F!important;border:0!important;border-radius:10px!important;box-shadow:none!important}
html body .obc-her img.hart{display:block;width:100%;height:clamp(260px,32vw,400px);object-fit:cover;opacity:.7}
html body .obc-her .hpanel::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,rgba(20,24,31,.92) 0%,rgba(20,24,31,.78) 45%,rgba(20,24,31,.35) 100%)}
html body .obc-her .hquote{z-index:2;top:50%!important;transform:translateY(-50%)!important;left:5%;right:30%}
html body .obc-her .hquote.hq-right{left:30%;right:5%}
html body .obc-her .hquote blockquote{color:#fff;font-family:inherit;font-weight:800;font-size:clamp(18px,2.4vw,30px)!important;line-height:1.3}
html body .obc-her .hquote cite{font-size:12.5px;margin-top:12px}
html body .obc-her .hquote blockquote:before,html body .obc-her .hquote blockquote:after{color:#FF7075}
html body .obc-her .hquote cite{color:#FF7075}
html body .obc-her .hband-sub{color:#5B6472}
html body .obc-her .hquote{opacity:1;transform:none}
@media(max-width:760px){html body .obc-her img.hart{height:190px}
  html body .obc-her .hquote,html body .obc-her .hquote.hq-right{position:static;transform:none!important;padding:16px 18px 12px;text-align:left}
  html body .obc-her .hquote blockquote{font-size:16px!important}}
/* story band */
html body .sbart{overflow:hidden;border-radius:10px}
html body img.obc-story-art{display:block;width:100%;height:100%;min-height:220px;max-height:360px;object-fit:cover;object-position:center 35%}

/* ---- shared quote funnel (rendered by /assets/obc-funnel.js) ------------- */
html body .of-wrap{background:#14181F;padding:44px 0 48px;border-top:4px solid #D71920}
html body .of-wrap .wrap{max-width:1080px;margin:0 auto;padding:0 22px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;align-items:start}
html body .of-intro{color:#fff}
html body .of-intro .of-k{display:inline-block;border-left:3px solid #FF7075;padding:1px 0 1px 10px;color:#FF7075;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
html body .of-intro h2{color:#fff;font-size:clamp(1.5rem,2.8vw,2.1rem);letter-spacing:-.02em;line-height:1.15;margin:0 0 12px;max-width:20ch}
html body .of-intro h2 em{font-style:normal;color:#F0474E}
html body .of-intro p{color:rgba(255,255,255,.86);font-size:15.5px;max-width:48ch;margin:0 0 18px}
html body .of-intro ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
html body .of-intro li{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:rgba(255,255,255,.92)}
html body .of-intro li svg{width:17px;height:17px;flex:none;color:#4ADE80;margin-top:2px}
html body .of-intro .of-wa-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:#fff;font-weight:700;text-decoration:none;border:1.5px solid rgba(255,255,255,.55);border-radius:4px;padding:11px 16px;font-size:14px}
html body .of-intro .of-wa-link:hover{border-color:#fff;background:rgba(255,255,255,.08)}
html body .obc-funnel{min-height:120px}
html body .of{background:#fff;color:#1F2933;border-radius:10px;box-shadow:0 30px 60px -24px rgba(0,0,0,.55);padding:24px 24px 20px;font-family:'Plus Jakarta Sans','PJS Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif}
html body .of-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
html body .of-head h2{font-size:1.1rem;color:#14181F;margin:0;letter-spacing:-.01em;line-height:1.2}
html body .of-step{font-size:11.5px;font-weight:700;color:#5B6472;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
html body .of-bar{height:4px;background:#EEF0F3;border-radius:2px;overflow:hidden;margin-bottom:18px}
html body .of-bar i{display:block;height:100%;background:#D71920;transition:width .3s}
html body .of-q{font-size:1.02rem;font-weight:800;color:#14181F;margin:0 0 5px}
html body .of-hint{font-size:13.5px;color:#5B6472;margin:0 0 14px}
html body .of-panel{display:none}
html body .of-panel.on{display:block}
html body .of-tiles{display:grid;grid-template-columns:1fr 1fr;gap:9px}
html body .of-tile{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1.5px solid #E3E6EA;border-radius:6px;background:#fff;font:inherit;font-size:14px;font-weight:700;color:#14181F;text-align:left;cursor:pointer;transition:border-color .15s,background .15s;-webkit-text-fill-color:#14181F}
html body .of-tile small{display:block;font-weight:500;color:#5B6472;font-size:12px;margin-top:1px;-webkit-text-fill-color:#5B6472}
html body .of-tile:hover,html body .of-tile:focus-visible{border-color:#D71920;outline:none}
html body .of-tile.on{border-color:#D71920;background:#FDECEC}
html body .of-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
html body .of-fld{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;position:relative}
html body .of-fld label{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2B323D}
html body .of-fld input,html body .of-fld select{width:100%;border:1.5px solid #CFD4DB;border-radius:4px;padding:12px 13px;font:inherit;font-size:16px;color:#1F2933;background:#fff;outline:none}
html body .of-fld input:focus,html body .of-fld select:focus{border-color:#14181F;box-shadow:0 0 0 3px rgba(20,24,31,.12)}
html body .of-fld label{display:flex;align-items:baseline;gap:6px}
html body .of-fld label b{color:#D71920}
html body .of-fld label small{font-weight:600;letter-spacing:0;text-transform:none;color:#5B6472;font-size:11.5px}
html body .of-consent{padding:12px 14px;background:#F5F6F8;border:1px solid #E3E6EA;border-radius:6px;color:#1F2933}
html body .of-ac{display:none;position:absolute;top:100%;left:0;right:0;z-index:30;background:#fff;border:1.5px solid #D71920;border-top:0;border-radius:0 0 4px 4px;max-height:240px;overflow-y:auto;box-shadow:0 12px 28px rgba(0,0,0,.15)}
html body .of-ac.open{display:block}
html body .of-aci{padding:9px 12px;cursor:pointer;border-bottom:1px solid #EEF0F3;font-size:14px;color:#1F2933}
html body .of-aci:last-child{border-bottom:0}
html body .of-aci:hover,html body .of-aci.sel{background:#FDECEC}
html body .of-aci b{color:#14181F;margin-right:6px}
html body .of-aci span{color:#5B6472;font-size:12.5px}
html body .of-consent,html body .obc-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#5B6472;margin:2px 0 14px;cursor:pointer;line-height:1.5}
html body .of-consent input,html body .obc-consent input{width:18px;height:18px;margin:2px 0 0;accent-color:#D71920;flex:none}
html body .of-consent a,html body .obc-consent a{color:#B3121A;font-weight:600}
html body section.alt .obc-consent,html body .cta-band .obc-consent{color:#5B6472}
html body .obc-consent{color:rgba(255,255,255,.8)}
html body section.alt .obc-consent{color:#5B6472}
html body .obc-consent a{color:#FF7075}
html body section.alt .obc-consent a{color:#B3121A}
html body .of-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:4px}
html body .of-back{background:none;border:0;font:inherit;font-size:14px;font-weight:700;color:#5B6472;cursor:pointer;padding:10px 4px}
html body .of-back:hover{color:#14181F}
html body .of-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:13px 22px;border-radius:4px;border:0;background:#D71920;color:#fff!important;-webkit-text-fill-color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none}
html body .of-btn:hover{background:#B3121A}
html body .of-btn.of-wa{background:#0F7A3D;margin:0 auto}
html body .of-foot{margin:12px 0 0;font-size:12px;color:#5B6472;text-align:center}
html body .of-err{display:none;margin-top:12px;padding:10px 12px;border-radius:4px;background:#FDECEC;color:#8E0E14;font-size:13.5px;font-weight:600}
html body .of-ok{text-align:center;padding:8px 0 4px}
html body .of-okic{width:52px;height:52px;border-radius:50%;background:#E8F5EC;color:#0F7A3D;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
html body .of-okic svg{width:26px;height:26px}
html body .of-ok h3{font-size:1.2rem;color:#14181F;margin:0 0 8px}
html body .of-ok p{color:#5B6472;font-size:14.5px;margin:0 0 14px}
html body .of-ref{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;color:#14181F}
html body .of-sum{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13.5px;margin:0 0 16px;padding:12px 14px;background:#F5F6F8;border-radius:6px;text-align:left}
html body .of-sum dt{color:#5B6472;font-weight:600}
html body .of-sum dd{color:#14181F;font-weight:700;margin:0}
@media(max-width:900px){html body .of-wrap .wrap{grid-template-columns:1fr;gap:24px}}
@media(max-width:640px){html body .of{padding:18px 16px 16px}html body .of-tiles,html body .of-row{grid-template-columns:1fr}html body .of-wrap{padding:34px 0 38px}}

/* ---- closing quote band before the footer -------------------------------- */
html body .of-band{background:#F5F6F8;border-top:1px solid #E3E6EA;padding:48px 0}
html body .of-band .wrap{max-width:1080px;margin:0 auto;padding:0 22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
html body .of-band h2{font-size:clamp(1.3rem,2.4vw,1.8rem);color:#14181F;margin:0 0 6px;letter-spacing:-.02em}
html body .of-band p{margin:0;color:#5B6472;font-size:15px;max-width:60ch}
html body .of-band .of-bbtns{display:flex;flex-wrap:wrap;gap:10px}
html body .of-band a{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:4px;font-weight:700;font-size:15px;text-decoration:none;border:1.5px solid transparent}
html body .of-band a.p{background:#D71920;color:#fff!important;-webkit-text-fill-color:#fff;border-color:#D71920}
html body .of-band a.p:hover{background:#B3121A}
html body .of-band a.s{background:#fff;color:#14181F!important;-webkit-text-fill-color:#14181F;border-color:#14181F}
@media(max-width:640px){html body .of-band a{width:100%}html body .of-band .of-bbtns{width:100%}}

/* ---- mobile legibility pass (Nami: responsive must be clearly better) ---- */
html body img{max-width:100%;height:auto}
@media(max-width:760px){
  html body .wrap{padding:0 18px}
  html body section{padding:48px 0}
  html body h2{font-size:1.5rem;line-height:1.2}
  html body h3{font-size:1.1rem}
  html body p,html body li,html body td,html body .card p,html body .step p,html body details .a,html body .lead,html body .lede{font-size:15px;line-height:1.6}
  html body .micro,html body .qnote,html body .cnote,html body .disclaimer{font-size:13px}
  /* wide tables scroll inside their own box instead of pushing the page */
  html body table:not(.of-sum){display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  html body table:not(.of-sum) thead,html body table:not(.of-sum) tbody{display:table;width:100%;min-width:420px}
  /* nothing below 12.5px */
  html body th,html body .qf label,html body .oc-l,html body .kick,html body .jkick,html body .cind,html body .dlabel,
  html body .tl-min,html body .tl-end,html body .tl-win,html body .qe-stamp,html body .qe-conf,html body .qe-valid,html body .qe-meta,
  html body .desk-stat span,html body .rfact span,html body .tag,html body .section-tag,html body .desk-kicker{font-size:12.5px!important;letter-spacing:.08em}
  html body label{font-size:12.5px}
  /* buttons stack full width, thumbs first */
  html body .btns{flex-direction:column;align-items:stretch}
  html body .btn,html body .qbtn,html body .qbox a.prim,html body .qbox a.sec,html body .rec .recbtns a,html body .btn-courier,html body .btn-courier-sec{width:100%;justify-content:center;text-align:center}
  html body .rec .recbtns{flex-direction:column}
  /* decorative inline art never wider than the screen */
  html body svg[viewBox]:not(.oi){max-width:100%;height:auto}
  html body .grid>*,html body .vs>*,html body .qwrap>*{min-width:0;flex-basis:100%}
  html body .chips a{font-size:13px;padding:8px 12px}
  html body details summary{font-size:15px}
  html body .cta-band,html body .rec{padding:28px 20px}
  html body .answer{padding:18px 18px}
}

/* ---- heroes without the route photo: the leftover doodle goes, a photograph comes in ---- */
html body .obc-lifeart{display:none!important}
html body header.hero:not(.rhero),html body section.hero:not(.rhero):not(#top){position:relative;isolation:isolate;overflow:hidden;background:#F7F8FA!important}
html body header.hero:not(.rhero)::before,html body section.hero:not(.rhero):not(#top)::before{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,#F7F8FA 0%,rgba(247,248,250,.96) 42%,rgba(247,248,250,.6) 68%,rgba(247,248,250,.12) 100%),
  var(--hero,url(/images/client-airport-1600.webp)) var(--hero-pos,center 55%)/cover no-repeat!important}
@media(max-width:760px){html body header.hero:not(.rhero)::before,html body section.hero:not(.rhero):not(#top)::before{
  background:linear-gradient(180deg,rgba(247,248,250,.97),rgba(247,248,250,.9)),var(--hero,url(/images/client-airport-900.webp)) var(--hero-pos,center)/cover no-repeat!important}}

/* ==== premium layer for the generated sub-pages (design agent, 4 Sep 2026); must stay after the rules above ==== */
/* OnBoard Courier premium layer, September 2026.
   Loads after obc-theme.css on every generated sub-page (routes, countries,
   cities, airports, solutions, industries, blog, jobs). The theme owns the nav,
   the footer, the buttons and the funnel. This file upgrades the body of the
   page to the homepage look: white and light-grey sections with a 72px rhythm,
   8px white cards on a 1px #E3E6EA line, red kickers and rules, charcoal photo
   bands. Every selector is prefixed with "html body" so it beats the single
   class rules inside the pages. !important appears only where the page's own
   inline CSS already uses it for the same property. */

/* ---- one typeface everywhere -------------------------------------------- */
/* Sora is still declared on these by id or class rules that outrank the theme. */
html body .rpair b,html body .rfact b,html body .rrel a b,html body .qe-total b,html body .qe-confirm,html body .tl-head b,
html body .obc-ops h2,html body #obc-opsfacts h2,html body .obc-ops .ocard h3,html body .obc-sb .sbtext h2,html body #obc-storyband h2,
html body .obc-cases .chead h2,html body #obc-cases h2,html body .obc-cases .clane,html body .gl-letter,
html body #obc-calc .oc-pills button,html body #obc-calc .oc-drop .ac-item-code,html body #obc-calc .oc-total b,
html body #obc-calc .oc-sendtitle,html body #obc-calc .oc-cta,html body #obc-journey .jkick,html body #obc-journey h2,
html body #obc-journey .jgrid b,html body .obc-journey h2,html body .obc-journey .jgrid b,html body .job h3,html body .obc-sprev h2,html body .obc-sprev h3,
html body button,html body input,html body select,html body textarea{
  font-family:'Plus Jakarta Sans','PJS Fallback',sans-serif}

/* ---- section rhythm ------------------------------------------------------ */
/* The pages pad the section and the .wrap; the padding now lives on the section only. */
html body section{padding:72px 0}
html body section:not(.of-wrap):not(.of-band):not(.alt){border-top-color:transparent!important}
html body section>.wrap,html body .dsec>.wrap{padding-top:0;padding-bottom:0}
html body section.alt,html body #obc-calc.alt{background:#F5F6F8;border-top:1px solid #E3E6EA!important;border-bottom:1px solid #E3E6EA}
html body section.alt+section.alt{border-top-color:transparent!important}
html body .dsec{padding:72px 0}
html body .obc-ops{padding:72px 0;background:#fff}
html body .obc-ops .owrap,html body #obc-opsfacts .owrap{max-width:1080px;padding:0 22px}
html body .obc-cases{padding:72px 22px;background:#fff}
html body .obc-cases .cwrap,html body #obc-cases .cwrap{max-width:1080px;padding-top:0;padding-bottom:0}
html body .obc-her{padding:56px 22px;background:#fff}
html body .obc-her .hwrap,html body .obc-her .hband-sub{max-width:1080px}
html body .obc-her .hband-sub{color:#5B6472;font-size:12.5px}
html body .obc-sb{padding:56px 22px;background:#F5F6F8;border-top:1px solid #E3E6EA;border-bottom:0}

/* ---- headings, kickers, leads -------------------------------------------- */
html body section>.wrap>h2,html body .dsec>.wrap>h2,html body .obc-ops .owrap>h2,html body #obc-opsfacts h2,
html body .obc-cases .chead h2,html body #obc-cases h2,html body #obc-calc h2{
  font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.15;letter-spacing:-.02em;font-weight:800;color:#14181F;max-width:26ch;margin:0 0 14px}
/* a short red rule sits above the first heading of every section */
html body section>.wrap>h2:first-child::before,html body .dsec>.wrap>h2:first-child::before,
html body .obc-ops .owrap>h2:first-child::before,html body #obc-opsfacts .owrap>h2:first-child::before{
  content:'';display:block;width:44px;height:4px;border-radius:2px;background:#D71920;margin:0 0 18px}
html body h3{color:#14181F;letter-spacing:-.01em;line-height:1.3}
html body .lead,html body section.alt .lead,html body .obc-ops .olead,html body .obc-cases .chead p{
  font-size:1.05rem;line-height:1.65;color:#5B6472;max-width:70ch;margin:0 0 28px}
html body section .wrap>p,html body .dsec .wrap>p,html body .answer p,html body details .a,html body details>div{max-width:70ch}
html body .micro,html body section.alt .micro{color:#5B6472}
/* kicker labels with the homepage's 3px left rule */
html body .obc-cases .chead span,html body .obc-sb .sbtext span,html body #obc-journey .jkick,html body .obc-journey .jkick{
  display:inline-block;border-left:3px solid #D71920;padding:1px 0 1px 10px;color:#D71920;font-size:11px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px}

/* ---- buttons: no glow, full width on a phone ---------------------------- */
html body .btn,html body .btn:hover{box-shadow:none!important;transform:none}
html body .qbtn:hover,html body #obc-calc .oc-cta:hover{transform:none;box-shadow:none;filter:none}
html body .btns{gap:12px}

/* ---- cards and tiles: one recipe ----------------------------------------- */
html body .card,html body section.alt .card,html body .rwho .w,html body .ocard,html body .obc-ops .ocard,html body .ccard,html body .obc-cases .ccard,
html body .rrel a,html body a.post,html body .job,html body .city-grid a,html body .two-way a,html body .logo-card,
html body .lm,html body .dnear a,html body .hub-grid a,html body .ms-card,html body .sm-list a,html body #obc-districts .dgrid a,
html body #obc-uaenet .ugrid a,html body .obc-citygrid a{
  background:#fff;border:1px solid #E3E6EA;border-radius:8px;box-shadow:none;transition:border-color .15s,transform .15s,box-shadow .15s}
html body .card,html body .rwho .w,html body .ccard,html body .obc-cases .ccard,html body .ocard{padding:24px 22px}
html body .card:hover,html body .rwho .w:hover,html body .ccard:hover,html body .obc-cases .ccard:hover,html body .rrel a:hover,html body a.post:hover,
html body .dnear a:hover,html body .hub-grid a:hover,html body .ms-card:hover,html body #obc-districts .dgrid a:hover,html body #obc-uaenet .ugrid a:hover,html body .obc-citygrid a:hover{
  border-color:#D71920;transform:translateY(-2px);box-shadow:0 10px 24px -16px rgba(20,24,31,.25)!important}
/* a red line grows across the top of a card on hover, as on the homepage service tiles */
html body .card,html body .rwho .w,html body .ccard,html body .rrel a,html body a.post{position:relative;overflow:hidden}
html body .card::before,html body .rwho .w::before,html body .ccard::before,html body .rrel a::before,html body a.post::before{
  content:'';position:absolute;left:0;top:0;right:0;height:3px;background:#D71920;transform:scaleX(0);transform-origin:left;transition:transform .25s}
html body .card:hover::before,html body .rwho .w:hover::before,html body .ccard:hover::before,html body .rrel a:hover::before,html body a.post:hover::before{transform:scaleX(1)}
html body .card h3,html body .rwho .w h3{font-size:1.05rem;margin:0 0 6px;color:#14181F}
html body .card p,html body section.alt .card p,html body .rwho .w p{font-size:14px;line-height:1.6;color:#5B6472}
html body .rwho .w p b,html body .card p b{color:#14181F}
html body .rwho .w em{color:#B3121A;background:#FDECEC;border:0;border-radius:3px;padding:3px 8px;font-size:10.5px}
html body .card .ico,html body .ico,html body .qic{width:44px;height:44px;border-radius:6px;background:#FDECEC;color:#B3121A}
html body .grid{gap:16px;margin-top:22px}
/* fact tiles under the hero heading */
html body .rfact{background:#fff;border:1px solid #E3E6EA;border-radius:8px;box-shadow:none}
html body .rfact span{color:#5B6472}
html body .rfact b{color:#14181F;font-weight:800}
/* related routes */
html body .rrel{gap:12px;margin-top:22px}
html body .rrel a{padding:16px 18px}
html body .rrel a b{color:#14181F;font-size:15px;font-weight:800}
html body .rrel a span{color:#5B6472;font-size:12.5px}

/* ---- steps --------------------------------------------------------------- */
html body .steps{gap:12px;margin-top:22px}
html body .step,html body section.alt .step{background:#fff;border:1px solid #E3E6EA;border-radius:8px;padding:20px 22px;box-shadow:none}
html body .step .n{width:36px;height:36px;border-radius:6px;background:#14181F;box-shadow:none;font-weight:800;font-size:14px}
html body .step b,html body .step h3,html body section.alt .step b{color:#14181F;font-size:15.5px}
html body .step p,html body section.alt .step p{color:#5B6472;font-size:14px}

/* ---- tables: white body, charcoal header row ----------------------------- */
html body table,html body .rtable,html body .hubtab{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #E3E6EA;
  border-radius:8px;overflow:hidden;margin-top:20px;font-size:14.5px}
html body th,html body .rtable th,html body .hubtab th,html body section.alt table th,html body section.alt .rtable th{
  text-align:left;padding:12px 14px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;background:#14181F;color:#fff;border-bottom:0}
html body .hubtab th,html body #obc-depth2 th{color:#fff!important}
html body td,html body .rtable td,html body .hubtab td,html body section.alt td,html body section.alt .rtable td{
  padding:12px 14px;border-bottom:1px solid #EEF0F3;color:#1F2933;vertical-align:top}
html body td:first-child,html body section.alt td:first-child{color:#14181F;font-weight:700}
html body .rtable td b{color:#14181F}
html body tr:last-child td,html body section.alt tr:last-child td{border-bottom:0}
html body tbody tr:hover td,html body section.alt tbody tr:hover td{background:#F5F6F8}

/* ---- details and summary ------------------------------------------------- */
html body section details,html body section.alt details,html body .dsec details{
  background:#fff;border:1px solid #E3E6EA;border-radius:8px;padding:0 20px;margin:0 0 10px;box-shadow:none;transition:border-color .15s}
html body section details:hover,html body section details[open]{border-color:#CFD4DB}
html body section summary,html body section.alt summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;
  font-size:1rem;font-weight:700;color:#14181F;list-style:none;cursor:pointer;min-height:0}
html body section summary::-webkit-details-marker{display:none}
html body section summary::after{content:'+';font-size:22px;line-height:1;font-weight:400;color:#D71920;flex:none;transition:transform .2s}
html body section details[open] summary::after{transform:rotate(45deg)}
html body section summary:hover{color:#B3121A}
html body section details .a,html body section details>div,html body section.alt details .a{padding:0 0 18px;margin:0;font-size:15px;line-height:1.7;color:#1F2933}
html body section details p{margin:0 0 10px}
html body section details p:last-child{margin-bottom:0}

/* ---- chips and small labels ---------------------------------------------- */
html body .chips{gap:8px;margin-top:20px}
html body .chips a,html body section.alt .chips a,html body .dirnav a{
  background:#fff;border:1px solid #E3E6EA;border-radius:4px;color:#2B323D;font-size:13px;font-weight:600;padding:8px 13px;transition:border-color .15s,color .15s}
html body .dirnav a:hover{border-color:#D71920;color:#B3121A}
/* footer desk chips: the theme paints the text white but the page keeps a white chip behind it */
html body .fdesks .flinks a{background:transparent;border-color:rgba(255,255,255,.22);border-radius:4px}
html body .fdesks .flinks a:hover{border-color:#FF7075}
html body .obc-cases .cind{color:#B3121A;background:#FDECEC;border:0;border-radius:3px;padding:4px 9px}
html body .job .jmeta span{color:#B3121A;background:#FDECEC;border-radius:3px;padding:3px 8px;font-size:12px;font-weight:700}
html body .qe-stamp,html body .qe-valid,html body .qe-conf{border-radius:3px}
html body .service-tag,html body .reg{color:#B3121A}

/* ---- answer callouts and pull quotes ------------------------------------- */
html body .answer,html body section.alt .answer{background:#F5F6F8;border:1px solid #E3E6EA;border-left:4px solid #D71920;padding:22px 24px;margin:22px 0}
html body section.alt .answer{background:#fff}
html body .answer p,html body section.alt .answer p{font-size:15.5px;line-height:1.7;color:#1F2933}
html body .pull,html body section.alt .pull{background:#F5F6F8;border:1px solid #E3E6EA;border-left:4px solid #D71920}
html body .pull p,html body section.alt .pull p{color:#14181F}

/* ---- operational route facts --------------------------------------------- */
html body .obc-ops .ocard h3{font-size:1rem;margin:0 0 12px;color:#14181F}
html body .obc-ops .oline{border-bottom:1px solid #EEF0F3;padding:8px 0;font-size:14px}
html body .obc-ops .oline b{color:#14181F;background:#F5F6F8;border:1px solid #E3E6EA;border-radius:3px;padding:1px 7px;font-size:12.5px;letter-spacing:.04em;align-self:flex-start}
html body .obc-ops .oline span{color:#3D4652}
html body .obc-ops .oterm{border-left:3px solid #D71920;background:#F5F6F8;color:#2B323D;border-radius:0 4px 4px 0}
html body .obc-ops .onote{color:#5B6472}

/* ---- the sample quote e-mail --------------------------------------------- */
html body .qe-win{background:#fff;border:1px solid #E3E6EA;box-shadow:0 20px 48px -30px rgba(20,24,31,.3)}
html body .qe-bar{background:#F5F6F8;border-bottom:1px solid #E3E6EA}
html body .qe-bar:before{color:#D71920}
html body .qe-in{background:#F9FAFB;border-left:3px solid #E3E6EA}
html body .qe-out{border-left:3px solid #D71920}
html body .qe-out .qe-meta b,html body .qe-route b,html body .qe-rule{color:#B3121A}
html body .qe-line{border-bottom:1px solid #EEF0F3}
html body .qe-total{background:#14181F;border:1px solid #14181F;border-radius:6px}
html body .qe-total span{color:#FF7075}
html body .qe-total b{color:#fff}
html body .qe-total em,html body .qe-alt,html body .qe-total em .qe-alt{color:rgba(255,255,255,.78)}

/* ---- the two timelines --------------------------------------------------- */
html body .tl-track{background:#E3E6EA;border-radius:4px}
html body .tl-fill,html body .tl-fill-obc{background:#D71920;border-radius:4px}
html body .tl-fill-frt{background:#9AA3AE}
html body .tl-dot{border-color:#C3CAD3}
html body .tl-dot-end{border-color:#D71920}
html body .tl-labels .tl-win{color:#B3121A}
html body .tl-labels .tl-end{color:#14181F}

/* ---- comparison columns -------------------------------------------------- */
html body .vs-col,html body section.alt .vs-col,html body .vs-col.ok,html body .vs-col.no{background:#fff;border:1px solid #E3E6EA;border-radius:8px;padding:24px}
html body .vs-col.ok{border-top:4px solid #0F7A3D}
html body .vs-col.no{border-top:4px solid #9AA3AE}
html body .vs-col li{border-bottom:1px solid #EEF0F3;color:#1F2933}
html body .vs-col.ok li::before{background:#E8F5EC;color:#0F7A3D;border:0}
html body .vs-col.no li::before{background:#EEF0F3;color:#6B7480;border:0}
html body .vs-badge{border-radius:4px}
html body .vs-col .sub,html body .vs-note{color:#5B6472}

/* ---- recruiting band: a suited traveller under a charcoal veil ----------- */
/* The page's #obc-rec-light block forces a light band with !important. */
html body .rec,html body section.alt .rec{
  background:linear-gradient(100deg,rgba(20,24,31,.95) 0%,rgba(20,24,31,.9) 55%,rgba(20,24,31,.8) 100%),
    #14181F url(/images/business-professional-1600.webp) center 22%/cover no-repeat!important;
  border:0!important;padding:44px 40px;color:#fff}
html body .rec h2,html body section.alt .rec h2{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:clamp(1.5rem,2.8vw,2.1rem);max-width:24ch}
html body .rec h2 em{color:#F0474E;-webkit-text-fill-color:#F0474E;background:none}
html body .rec p,html body section.alt .rec p{color:rgba(255,255,255,.88)!important;max-width:62ch;font-size:15.5px}
html body .rec p strong{color:#fff!important}
html body .rec li,html body section.alt .rec li{color:#fff!important;background:rgba(20,24,31,.55)!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:4px;font-weight:700}
html body .rec p>a:not([class]),html body .rec li>a:not([class]){color:#FF7075!important;text-decoration-color:rgba(255,112,117,.55)!important}
html body .rec p>a:not([class]):hover{color:#fff!important;background:transparent!important}

/* ---- call to action band: the wing photo --------------------------------- */
html body .cta-band,html body section.alt .cta-band{
  background:radial-gradient(ellipse at 50% 50%,rgba(20,24,31,.93) 0%,rgba(20,24,31,.87) 55%,rgba(20,24,31,.8) 100%),
    #14181F url(/images/client-airport-1600.webp) center 55%/cover no-repeat;
  border:0;padding:48px 36px;color:#fff}
html body .cta-band h2,html body section.alt .cta-band h2{font-size:clamp(1.5rem,2.8vw,2.1rem);max-width:24ch;margin:0 auto 12px}
html body .cta-band h2 em{background:none!important;-webkit-text-fill-color:#F0474E!important;color:#F0474E!important}
html body .cta-band p{max-width:56ch}

/* ---- cases from the operations desk: an apron photo behind the heading --- */
html body .obc-cases .chead{position:relative;border-radius:8px;padding:36px 36px 34px;margin:0 0 20px;color:#fff;
  background:linear-gradient(100deg,rgba(20,24,31,.95) 0%,rgba(20,24,31,.9) 55%,rgba(20,24,31,.82) 100%),
    #14181F url(/images/aviation-apron-1600.webp) center 60%/cover no-repeat}
html body .obc-cases .chead span{color:#FF7075;border-left-color:#FF7075}
html body .obc-cases .chead h2,html body #obc-cases .chead h2{color:#fff;margin:0 0 8px}
html body .obc-cases .chead p,html body #obc-cases .chead p{color:rgba(255,255,255,.84);margin:0}
html body .obc-cases .cgrid{gap:16px}
html body .obc-cases .clane{color:#14181F;font-weight:800}
html body .obc-cases .cstory{color:#3D4652}
html body .obc-cases .csteps{border-top:1px solid #EEF0F3}
html body .obc-cases .cstep{color:#5B6472}
html body .obc-cases .cstep b{color:#14181F}
html body .obc-cases .cout{border-radius:4px}
html body .obc-cases .cnote,html body #obc-cases .cnote{color:#5B6472;margin-top:18px}

/* ---- story band: the cabin photo beside the copy ------------------------- */
html body .obc-sb .sbgrid{max-width:1080px;gap:36px}
html body .obc-sb .sbtext h2,html body #obc-storyband h2{font-size:clamp(1.4rem,2.4vw,1.9rem);color:#14181F;margin:0 0 10px;line-height:1.2}
html body .obc-sb .sbtext p{color:#5B6472;font-size:15.5px;line-height:1.65}
html body .sbart{border:1px solid #E3E6EA;border-radius:10px;background:#fff}

/* ---- price calculator ---------------------------------------------------- */
html body #obc-calc .oc-panel,html body #obc-calc .oc-result{border:1px solid #E3E6EA;border-radius:8px;box-shadow:none}
html body #obc-calc .oc-l{color:#5B6472}
html body #obc-calc .oc-l b{color:#14181F}
html body #obc-calc .oc-pills button{border:1.5px solid #E3E6EA;border-radius:4px;color:#14181F;transition:border-color .15s,background .15s}
html body #obc-calc .oc-pills button:hover{border-color:#CFD4DB}
html body #obc-calc .oc-pills button.on{border-color:#D71920;background:#FDECEC}
html body #obc-calc .oc-in{border:1.5px solid #CFD4DB;border-radius:4px;color:#1F2933}
html body #obc-calc .oc-in:focus{border-color:#D71920;box-shadow:0 0 0 3px rgba(215,25,32,.12);outline:none}
html body #obc-calc .oc-drop{border:1.5px solid #D71920;border-top:0;border-radius:0 0 4px 4px;box-shadow:0 12px 28px rgba(0,0,0,.15)}
html body #obc-calc .oc-drop .ac-item:hover,html body #obc-calc .oc-drop .ac-item.selected{background:#FDECEC}
html body #obc-calc .oc-drop .ac-item-code{color:#B3121A}
html body #obc-calc .oc-meta{color:#5B6472}
html body #obc-calc .oc-lines,html body #obc-calc .oc-line{border-color:#EEF0F3;border-bottom-style:solid}
html body #obc-calc .oc-total span{color:#B3121A}
html body #obc-calc .oc-total b{color:#14181F}
html body #obc-calc .oc-sendbox{border:1px solid #E3E6EA;border-radius:6px;background:#F5F6F8}
html body #obc-calc .oc-ok,html body #obc-calc .oc-err{border-radius:4px}
html body #obc-calc input[type=range]{accent-color:#D71920}

/* ---- heritage panels: the theme already sets photo, veil and white quote -- */
html body .obc-her .hquote cite{color:#FF7075}

/* ---- the old quote form: white card on a cabin photo --------------------- */
html body #quote-form{
  background:linear-gradient(180deg,rgba(20,24,31,.9) 0%,rgba(20,24,31,.94) 100%),
    #14181F url(/images/aircraft-cabin-1600.webp) center 40%/cover no-repeat;
  border-top:4px solid #D71920!important;color:#fff}
html body #quote-form .wrap>h2,html body #quote-form h2{color:#fff}
html body #quote-form .wrap>h2:first-child::before{background:#FF7075}
html body #quote-form h2 em{color:#F0474E}
html body #quote-form .lead{color:rgba(255,255,255,.86)}
html body #quote-form .qcard,html body #quote-form .qbox{background:#fff;border:1px solid #E3E6EA;border-radius:8px;box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
html body #quote-form .qcard h3,html body #quote-form .qbox h3{color:#14181F}
html body #quote-form .qsub,html body #quote-form .qbox p,html body #quote-form .qnote{color:#5B6472}
html body .qf label{color:#2B323D;font-size:11px;letter-spacing:.08em}
html body .qf input,html body .qf select{border:1.5px solid #CFD4DB;background:#fff;color:#1F2933}
html body .qf .ac-dropdown{border:1.5px solid #D71920;border-top:0;border-radius:0 0 4px 4px}
html body .qf .ac-item:hover,html body .qf .ac-item.selected{background:#FDECEC}
html body .qf .ac-item-code{color:#B3121A}
html body .qok{border-radius:4px}
html body .obc-consent{display:flex;gap:9px;align-items:flex-start;margin:14px 0 4px;font-size:12.5px;line-height:1.5;color:#5B6472}
html body .obc-consent input{margin-top:3px;accent-color:#D71920;flex:none}
html body .obc-consent a{color:#B3121A}

/* ---- mission story card: a cabin strip across the top of the card -------- */
html body .obc-sprev{position:relative;overflow:hidden;background:#fff;border:1px solid #E3E6EA;border-radius:8px;padding-top:calc(clamp(140px,22vw,220px) + 26px)}
html body .obc-sprev::before{content:'';position:absolute;left:0;top:0;right:0;height:clamp(140px,22vw,220px);z-index:0;
  background:linear-gradient(180deg,rgba(20,24,31,.2) 0%,rgba(20,24,31,.55) 100%),#14181F url(/images/aircraft-cabin-1600.webp) center 45%/cover no-repeat}
html body .obc-sprev>*{position:relative;z-index:1}

/* ---- where this page leads: the skyline under charcoal ------------------- */
html body #obc-journey,html body .obc-journey{
  background:linear-gradient(180deg,rgba(20,24,31,.88) 0%,rgba(20,24,31,.94) 100%),
    #14181F url(/images/hero-dubai-skyline-1600.webp) center 45%/cover no-repeat;
  padding:72px 0;border-top:1px solid rgba(255,255,255,.12)!important}
html body #obc-journey .jwrap{padding:0 22px}
html body #obc-journey .jkick{color:#FF7075;border-left-color:#FF7075}
html body #obc-journey h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-.02em;margin:0 0 8px}
html body #obc-journey .jsub{color:rgba(255,255,255,.82);font-size:1.02rem;max-width:60ch;margin:0 0 26px}
html body #obc-journey .jgrid{gap:12px}
html body #obc-journey .jgrid a{border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.06);padding:18px 18px 16px}
html body #obc-journey .jgrid a:hover{border-color:#FF7075;background:rgba(255,255,255,.1);transform:translateY(-2px)}
html body #obc-journey .jgrid i{color:#FF7075}
html body #obc-journey .jgrid b{color:#fff}
html body #obc-journey .jgrid span{color:rgba(255,255,255,.8)}
html body #obc-journey .jgrid svg{stroke:#FF7075;opacity:1}

/* ---- jobs, articles, desk pages, leftovers ------------------------------- */
html body .job{padding:24px}
html body .job h3{color:#14181F}
html body .post h2,html body .post h3{color:#14181F}
html body .post p,html body .post li,html body section.alt .post p{color:#1F2933}
html body .post strong{color:#14181F}
html body .gl-letter{color:#14181F;border-bottom:1px solid #E3E6EA}
html body .desknav a.on{border-radius:4px}
html body .alli{color:#3D4652;border-color:#E3E6EA}
html body .disclaimer{color:#5B6472}
html body .obc-explore,html body #obc-uaenet,html body .dsec.alt{background:#F5F6F8}
html body .dclose{border-radius:10px}
html body .dclose h2,html body .dclose h3{color:#fff}

/* ---- mobile: 52px rhythm, nothing wider than the screen ------------------ */
@media(max-width:640px){
  html body section,html body .dsec,html body .obc-ops,html body #obc-journey,html body .obc-journey{padding-top:52px;padding-bottom:52px}
  html body .obc-cases,html body .obc-her,html body .obc-sb{padding:52px 16px}
  html body .obc-ops .owrap,html body #obc-opsfacts .owrap{padding:0 16px}
  html body section>.wrap>h2,html body .dsec>.wrap>h2,html body #obc-journey h2{font-size:1.6rem}
  html body .lead{font-size:1rem;margin-bottom:22px}
  html body .btns .btn,html body .rec .recbtns a,html body .cta-band .btn{width:100%;justify-content:center;text-align:center}
  html body .rec,html body section.alt .rec{padding:32px 20px}
  html body .cta-band,html body section.alt .cta-band{padding:34px 20px}
  html body .obc-cases .chead{padding:26px 20px}
  html body .card,html body .rwho .w,html body .ccard,html body .ocard{padding:20px 18px}
  html body .obc-sprev{padding-top:calc(150px + 20px)}
  html body .obc-sprev::before{height:150px}
  html body #obc-calc .oc-total b{font-size:21px;overflow-wrap:anywhere}
  html body .qe-total b{overflow-wrap:anywhere}
  html body .obc-ops .oline{flex-wrap:wrap}
  /* tables: three columns wrap in place, four or more scroll inside their own box */
  html body table{font-size:13px}
  html body th,html body td,html body .rtable th,html body .rtable td{padding:10px 10px;overflow-wrap:anywhere}
  html body table:has(tr>:nth-child(4)){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  html body td:first-child{white-space:normal}
  html body table:has(tr>:nth-child(4)) th,html body table:has(tr>:nth-child(4)) td{overflow-wrap:normal;white-space:nowrap}
}
@media(max-width:400px){
  html body .rfacts{gap:8px}
  html body .rfact{padding:10px 12px}
  html body .rfact b{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  html body .card,html body .rwho .w,html body .ccard,html body .rrel a,html body a.post,html body #obc-journey .jgrid a{transition:none}
  html body .card:hover,html body .rwho .w:hover,html body .ccard:hover,html body .rrel a:hover,html body #obc-journey .jgrid a:hover{transform:none}
}


/* ---- author box on blog articles ---------------------------------------- */
html body .author-box{display:flex;gap:18px;align-items:flex-start;margin:40px 0 8px;padding:22px 24px;background:#F5F6F8;border:1px solid #E3E6EA;border-left:4px solid #D71920;border-radius:8px}
html body .author-box .ab-avatar{flex:none;width:56px;height:56px;border-radius:50%;background:#14181F;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;letter-spacing:.04em}
html body .author-box p{margin:0}
html body .author-box .ab-name{font-size:16px;font-weight:800;color:#14181F}
html body .author-box .ab-role{font-size:12.5px;font-weight:700;color:#B3121A;margin:2px 0 8px}
html body .author-box .ab-bio{font-size:14.5px;color:#3D4652;line-height:1.6}
@media(max-width:640px){html body .author-box{flex-direction:column;gap:12px;padding:18px}}

/* ---- contrast fixes after the audit of 4 September 2026 ------------------ */
html body footer details,html body footer .fdesks details,html body .fdesks details{background:transparent!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:6px}
html body footer summary,html body .fdesks summary{color:rgba(255,255,255,.88)!important;background:transparent!important}
html body footer .fdesks .flinks a{color:rgba(255,255,255,.72)!important;background:transparent!important;border-color:rgba(255,255,255,.16)!important}
html body footer .fdesks .flinks a:hover{color:#fff!important;border-color:#fff!important}
html body .oc-pills button.on,html body .yn button.sel,html body .chips-select button.sel,html body .desknav a.on{background:#D71920!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#D71920!important}
html body .oc-pills button,html body .yn button,html body .chips-select button{color:#14181F;-webkit-text-fill-color:#14181F}
html body .hband-sub,html body .lbl,html body .dlabel,html body .rfact span,html body .dnear span,html body .cnote,html body .oc-note{color:#5B6472!important}
html body ::placeholder{color:#6B7480}

/* ---- centred headings and full-width text blocks (Nami, 4 Sep 2026) ------ */
html body section > .wrap > h2,html body section > .wrap > .tag,html body section > .wrap > h2 + .lead,html body section > .wrap > h2 + p.lead,
html body .dsec > .wrap > h2,html body .dsec > .wrap > .tag,html body .obc-ops > .owrap > h2,html body .obc-cases .chead h2,html body .obc-cases .chead p,
html body section > .wrap > .lead,html body section > .wrap > .lede{text-align:center;max-width:none;margin-left:auto;margin-right:auto}
html body section > .wrap > h2::before,html body .dsec > .wrap > h2::before,html body .obc-ops > .owrap > h2::before{margin-left:auto;margin-right:auto}
html body section > .wrap > .tag{display:table}
html body section > .wrap > .lead,html body section > .wrap > .lede,html body section > .wrap > h2 + p{max-width:76ch}
/* closing and answer text blocks use the whole width */
html body .dclose p,html body .dclose .lead,html body section > .wrap > .answer,html body section > .wrap > .disclaimer,html body .obc-seo p,html body section > .wrap > p{max-width:none}
html body section > .wrap > .answer{text-align:left}
/* details and summaries inside dark sections never turn white */
html body .dark details,html body section.dark details,html body .of-wrap details,html body #obc-journey details,html body .cta-band details,html body .rec details,
html body .dark .card,html body section.dark .card,html body .dark .step,html body section.dark .step{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff}
html body .dark summary,html body section.dark summary,html body .dark details .a,html body section.dark details .a,html body .dark .card p,html body .dark .card h3,html body .dark .step p,html body .dark .step b,
html body .dark h2,html body .dark h3,html body .dark p,html body .dark li,html body .dark td{color:#fff!important}
html body .dark details .a,html body section.dark details .a,html body .dark .card p,html body .dark .step p,html body .dark .lead,html body .dark td{color:rgba(255,255,255,.86)!important}
html body .dark .tag,html body section.dark .tag,html body .dark .kick{color:#FF7075!important;border-left-color:#FF7075!important}
html body .dark table th{color:#fff!important}
html body .dark a:not(.btn):not(.of-btn){color:#fff}

/* ---- comparison columns: white cards, no pastel tints ------------------- */
html body .vs-col,html body section.alt .vs-col,html body #obc-vs .vs-col,html body .vs-col.ok,html body .vs-col.no,html body section.alt .vs-col.ok,html body section.alt .vs-col.no{
  background:#fff!important;border:1px solid #E3E6EA!important;border-radius:8px!important;padding:24px 24px 20px!important;box-shadow:none!important}
html body .vs-col.ok,html body section.alt .vs-col.ok,html body #obc-vs .vs-col.ok{border-top:4px solid #0F7A3D!important}
html body .vs-col.no,html body section.alt .vs-col.no,html body #obc-vs .vs-col.no{border-top:4px solid #9AA3AE!important}
html body .vs-col h3{color:#14181F!important;font-size:1.15rem}
html body .vs-col .sub{color:#5B6472!important}
html body .vs-col li,html body section.alt .vs-col li{color:#1F2933!important;border-bottom-color:#EEF0F3!important}
html body .vs-col li b{color:#14181F!important}
html body .vs-col.ok li::before{background:#E8F5EC!important;color:#0F7A3D!important;border:0!important}
html body .vs-col.no li::before{background:#EEF0F3!important;color:#6B7480!important;border:0!important}
html body .vs-badge.ok{background:#E8F5EC!important;color:#0F7A3D!important;border:0!important}
html body .vs-badge.no{background:#EEF0F3!important;color:#6B7480!important;border:0!important}
html body .vs-note,html body section.alt .vs-note{color:#5B6472!important;max-width:none}

/* ---- footer region lists: four compact columns, readable labels ---------- */
html body footer .fdesks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 26px}
html body footer .fdesks details{padding:0 14px!important;min-height:0;margin:0!important}
html body footer .fdesks summary{font-size:14px!important;letter-spacing:0!important;text-transform:none!important;font-weight:700;padding:13px 0!important;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#fff!important}
html body footer .fdesks summary .fcount{font-size:12.5px!important;font-weight:600;color:rgba(255,255,255,.66)!important;margin-left:auto;letter-spacing:0!important;text-transform:none!important}
html body footer .fdesks summary::after{content:'+';color:#FF7075;font-size:18px;font-weight:400;line-height:1}
html body footer .fdesks details[open] summary::after{content:'\2013'}
html body footer .fdesks .flinks{padding:2px 0 14px;display:flex;flex-wrap:wrap;gap:6px}
html body footer .fdesks .flinks a{font-size:12.5px!important;padding:5px 8px!important;border-radius:4px;line-height:1.3}
@media(max-width:900px){html body footer .fdesks{grid-template-columns:1fr 1fr}}
@media(max-width:560px){html body footer .fdesks{grid-template-columns:1fr}}

/* ---- dark sections: every inline text node white, tables included -------- */
html body section.dark span,html body section.dark b,html body section.dark strong,html body section.dark em,html body section.dark i,html body .dark .earn-row span,html body .dark .earn-row .fee{color:#fff!important}
html body section.dark .tag,html body section.dark .kick,html body .dark .tag{color:#FF7075!important}
html body section.dark .earn-note,html body section.dark small,html body section.dark .lead{color:rgba(255,255,255,.8)!important}
html body .dark th,html body section.dark th,html body .hubtab th,html body [class*="dark"] th{color:#fff!important}
html body .oc-pills button.on i,html body .oc-pills button.on span{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* ---- join page: earnings rows, mid-page bands ---------------------------- */
html body .earn-row .route,html body .dark .earn-row .route{background:none!important;-webkit-text-fill-color:#fff!important;color:#fff!important}
html body .earn-row{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:8px!important}
html body .of-mid{background:#14181F;color:#fff;padding:44px 0;border-top:4px solid #D71920}
html body .of-mid .wrap{max-width:1080px;margin:0 auto;padding:0 22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
html body .of-mid h2{color:#fff;font-size:clamp(1.25rem,2.3vw,1.7rem);margin:0 0 6px;letter-spacing:-.02em;text-align:left;max-width:none}
html body .of-mid h2::before{display:none}
html body .of-mid p{margin:0;color:rgba(255,255,255,.84);font-size:15px;max-width:62ch;text-align:left}
html body .of-mid .of-bbtns{display:flex;flex-wrap:wrap;gap:10px}
html body .of-mid a{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:4px;font-weight:700;font-size:15px;text-decoration:none;border:1.5px solid transparent}
html body .of-mid a.p{background:#D71920;color:#fff!important;-webkit-text-fill-color:#fff;border-color:#D71920}
html body .of-mid a.p:hover{background:#B3121A}
html body .of-mid a.s{background:transparent;color:#fff!important;-webkit-text-fill-color:#fff;border-color:rgba(255,255,255,.6)}
html body .of-mid a.s:hover{border-color:#fff;background:rgba(255,255,255,.08)}
@media(max-width:640px){html body .of-mid a,html body .of-mid .of-bbtns{width:100%}}

/* ---- one font family on every page, whatever the template loaded --------- */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('/assets/fonts/PlusJakartaSans-var.woff2') format('woff2')}
html body,html body h1,html body h2,html body h3,html body h4,html body button,html body input,html body select,html body textarea{font-family:'Plus Jakarta Sans','PJS Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif!important}

/* ---- nav and footer are identical on every template ---------------------- */
html body .nav{background:#fff!important;border-bottom:1px solid #E3E6EA!important}
html body .nav b,html body .nav .brand{color:#14181F!important}
html body .nav b span{color:#D71920!important}
html body .nav .links a:not(.cta){color:#2B323D!important}
html body footer .wrap{max-width:1160px;margin:0 auto;padding:0 22px}
html body footer .fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:26px 22px;margin-bottom:26px}
html body footer .fgrid>div{min-width:0}
html body footer .fgrid>div:last-child:not(.fdesks):not(.fdesk-wrap):not(.fdesk-tabs){grid-column:auto!important}
html body footer .fgrid>.fdesks,html body footer .fgrid>.fdesk-wrap,html body footer .fgrid>.fdesk-tabs,html body footer .fgrid>div:has(.fdesks){grid-column:1/-1!important;margin-top:8px}
html body footer .fgrid a{display:block;margin:0 0 8px;font-size:13.5px;line-height:1.45}
html body footer .fgrid h3.f4,html body footer .fgrid h4{margin:0 0 12px}
html body footer .fgrid h3.f4+h3.f4,html body footer .fgrid a+h3.f4{margin-top:22px}
html body footer .fnote,html body footer small,html body footer p{font-size:13px;line-height:1.6}

/* ---- district pages: kicker, buttons, no gradient ------------------------ */
html body .dis-kick,html body .jkick{background:transparent!important;border:0!important;border-left:3px solid #D71920!important;border-radius:0!important;padding:1px 0 1px 10px!important;color:#D71920!important;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
html body .dis-hero a.p,html body .dis-hero .cta.p,html body a.cta.p{background:#D71920!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-radius:4px!important;box-shadow:none!important;border:0!important}
html body .dis-hero a.p:hover,html body a.cta.p:hover{background:#B3121A!important}
html body .dis-hero a.g,html body a.cta.g{background:#fff!important;color:#14181F!important;-webkit-text-fill-color:#14181F!important;border:1.5px solid #14181F!important;border-radius:4px!important;box-shadow:none!important}
html body .dis-hero{position:relative;isolation:isolate;overflow:hidden;background:#F7F8FA!important}
html body .dis-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#F7F8FA 0%,rgba(247,248,250,.96) 45%,rgba(247,248,250,.55) 70%,rgba(247,248,250,.1) 100%),url(/images/hero-dubai-skyline-1600.webp) center 40%/cover no-repeat}
html body .dis-hero svg,html body .dis-art,html body .dis-sky{display:none!important}

/* ---- courier pages (join, travel, creators): light, friendly, own photo --- */
html body header.hero img.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.55}
html body.obc-courier-page section.dark{background:#fff!important;color:#1F2933!important;border-top:1px solid #E3E6EA}
html body.obc-courier-page section.dark:nth-of-type(even){background:#F5F6F8!important}
html body.obc-courier-page section.dark h2,html body.obc-courier-page section.dark h3,html body.obc-courier-page section.dark b,html body.obc-courier-page section.dark strong,html body.obc-courier-page section.dark summary,html body.obc-courier-page section.dark th{color:#14181F!important}
html body.obc-courier-page section.dark p,html body.obc-courier-page section.dark li,html body.obc-courier-page section.dark span,html body.obc-courier-page section.dark td,html body.obc-courier-page section.dark details .a,html body.obc-courier-page section.dark .lead,html body.obc-courier-page section.dark small,html body.obc-courier-page section.dark em,html body.obc-courier-page section.dark i{color:#3D4652!important}
html body.obc-courier-page section.dark .tag,html body.obc-courier-page section.dark .kick{color:#D71920!important;border-left-color:#D71920!important}
html body.obc-courier-page section.dark .card,html body.obc-courier-page section.dark .step,html body.obc-courier-page section.dark details,html body.obc-courier-page .earn-row,html body.obc-courier-page section.dark .mission,html body.obc-courier-page section.dark .faq-item{background:#fff!important;border:1px solid #E3E6EA!important;color:#1F2933!important}
html body.obc-courier-page .earn-row .route,html body.obc-courier-page .earn-row .fee{color:#B3121A!important;-webkit-text-fill-color:#B3121A!important}
html body.obc-courier-page .earn-row .what{color:#3D4652!important}
html body.obc-courier-page section.dark a:not(.btn):not(.of-btn):not(.cta){color:#B3121A}
html body.obc-courier-page .of-wrap{background:linear-gradient(90deg,rgba(20,24,31,.9),rgba(20,24,31,.72)),url(/join/img/bali.jpg) center/cover no-repeat}

/* ---- audit fixes: kickers on dark bands, table heads, join hero ----------- */
html body #obc-journey .jkick,html body .of-wrap .jkick,html body .dark .jkick,html body section.dark .jkick,html body #obc-journey .kick,html body .cta-band .tag,html body .rec .tag{color:#FF7075!important;border-left-color:#FF7075!important}
html body #obc-depth2 th,html body section.dark th,html body .dark .hubtab th,html body #obc-depth2 .hubtab td span{color:#fff!important}
html body.obc-courier-page figcaption,html body.obc-courier-page figure p{color:#3D4652!important}
html body.obc-courier-page figure,html body.obc-courier-page figure img{max-width:100%}
html body nav.nav,html body .nav[style]{background:#fff!important;background-image:none!important}
html body .nav .brand b,html body .nav .brand{color:#14181F!important;-webkit-text-fill-color:#14181F}
html body .nav .brand b span{color:#D71920!important;-webkit-text-fill-color:#D71920}

/* ---- hub strip under the funnel on the menu pages ------------------------ */
html body .of-hub{background:#fff;padding:64px 0;border-bottom:1px solid #E3E6EA}
html body .of-hub .wrap{max-width:1080px;margin:0 auto;padding:0 22px;text-align:center}
html body .of-hub .of-hub-k{display:inline-block;border-left:3px solid #D71920;padding:1px 0 1px 10px;color:#D71920;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
html body .of-hub h2{font-size:clamp(1.6rem,3vw,2.3rem);color:#14181F;margin:0 auto 12px;max-width:26ch;letter-spacing:-.02em}
html body .of-hub h2::before{display:none}
html body .of-hub .of-hub-lead{color:#5B6472;font-size:1.05rem;max-width:70ch;margin:0 auto 28px}
html body .of-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px;text-align:left}
html body .of-hub-card{background:#fff;border:1px solid #E3E6EA;border-radius:10px;padding:26px 24px 24px;box-shadow:0 14px 34px -22px rgba(20,24,31,.35);transition:transform .25s ease,box-shadow .25s ease}
html body .of-hub-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px -22px rgba(20,24,31,.42)}
html body .of-hub-card h3{position:relative;padding-bottom:12px;margin-bottom:12px}
html body .of-hub-card h3::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:3px;background:#D71920;border-radius:2px}
html body .of-hub-card h3{font-size:1.02rem;color:#14181F;margin:0 0 6px}
html body .of-hub-card p{font-size:14px;color:#3D4652;margin:0}
html body .of-hub .of-bbtns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
html body .of-hub .of-bbtns a{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:4px;font-weight:700;font-size:15px;text-decoration:none;border:1.5px solid transparent}
html body .of-hub .of-bbtns a.p{background:#D71920;color:#fff!important;-webkit-text-fill-color:#fff;border-color:#D71920}
html body .of-hub .of-bbtns a.p:hover{background:#B3121A}
html body .of-hub .of-bbtns a.s{background:#fff;color:#14181F!important;-webkit-text-fill-color:#14181F;border-color:#14181F}
@media(max-width:900px){html body .of-hub-grid{grid-template-columns:1fr}html body .of-hub .of-bbtns a{width:100%}}

/* ---- courier pages: bright, friendly hero with the page's own photo ------ */
html body.obc-courier-page .of-wrap{background:linear-gradient(90deg,rgba(20,24,31,.86),rgba(20,24,31,.66)),url(/join/img/bali2.jpg) center/cover no-repeat;border-top:4px solid #D71920}
html body.obc-courier-page .of-band{background:#FFF5F5}
/* ---- centred everywhere: the rule above headings, narrow blocks ---------- */
html body h2::before,html body section > .wrap > h2::before,html body .dsec > .wrap > h2::before,html body .obc-ops > .owrap > h2::before,html body section .wrap > .rule,html body .rule{margin-left:auto!important;margin-right:auto!important}
html body section > .wrap > h2,html body section > .wrap > h3.sec-h,html body .obc-ops > .owrap > h2{text-align:center}
html body section > .wrap > p:only-of-type,html body section > .wrap > .lead:only-of-type{text-align:center;max-width:76ch;margin-left:auto;margin-right:auto}
html body .obc-seo .wrap > p{max-width:none}
/* footer region lists span the whole footer, never a single column */
html body footer .fgrid > div:has(.fdesks){grid-column:1/-1;margin-top:6px}
html body footer .fgrid .fdesks{grid-column:1/-1}
/* funnel fields: one height, no browser spinners */
html body .fld input,html body .fld select,html body .of-fld input,html body .of-fld select{height:50px;line-height:1.2;-moz-appearance:textfield;appearance:none;background-image:none}
html body .fld input[type=number]::-webkit-inner-spin-button,html body .fld input[type=number]::-webkit-outer-spin-button,html body .of-fld input[type=number]::-webkit-inner-spin-button,html body .of-fld input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
html body .fld select,html body .of-fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2314181F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
/* airports hub: one uniform alphabetical grid, country inside the card */
html body #obc-aptdir .aptgrid.aptgrid-all{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:8px}
html body #obc-aptdir .aptgrid-all a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:#fff;border:1px solid #E3E6EA!important;border-radius:8px!important;text-decoration:none;box-shadow:none!important;min-width:0}
html body #obc-aptdir .aptgrid-all a b{font-size:15px;color:#14181F;line-height:1.25}
html body #obc-aptdir .aptgrid-all a b span{color:#B3121A;margin-left:6px;font-size:12px;letter-spacing:.06em}
html body #obc-aptdir .aptgrid-all a i{font-style:normal;font-size:12.5px;color:#5B6472;line-height:1.3}
html body #obc-aptdir .aptgrid-all a em{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#14181F;margin-top:6px}
html body #obc-aptdir .aptgrid-all a:hover{border-color:#D71920!important}
@media(max-width:1000px){html body #obc-aptdir .aptgrid.aptgrid-all{grid-template-columns:1fr 1fr}}
@media(max-width:560px){html body #obc-aptdir .aptgrid.aptgrid-all{grid-template-columns:1fr}}

/* ---- centred text blocks and heading rules, final ------------------------ */
html body section > .wrap > h2:first-child::before,html body section > .wrap > h2::before,html body [class] h2::before,html body .dsec > .wrap > h2:first-child::before,html body .obc-ops > .owrap > h2:first-child::before{margin-left:auto!important;margin-right:auto!important}
html body section > .wrap > p,html body section > .wrap > .lead,html body section > .wrap > .lede,html body .dclose p,html body .dclose .lead,html body section > .wrap > .disclaimer{max-width:80ch!important;margin-left:auto!important;margin-right:auto!important;text-align:center}
html body section > .wrap > ul:not(.grid):not(.chips):not(.steps),html body section > .wrap > ol{max-width:80ch;margin-left:auto;margin-right:auto}
html body .obc-cases .chead{background:none!important;background-image:none!important;color:#14181F!important;padding:0 0 18px!important;border-radius:0!important;text-align:center}
html body .obc-cases .chead::before,html body .obc-cases .chead::after{display:none!important}
html body .obc-cases .chead h2{color:#14181F!important;text-align:center;max-width:none;margin-left:auto;margin-right:auto}
html body .obc-cases .chead p{color:#5B6472!important;text-align:center;margin-left:auto;margin-right:auto;max-width:76ch}
html body .obc-cases .chead .tag,html body .obc-cases .chead .kick,html body .obc-cases .chead span{color:#D71920!important;border-left-color:#D71920!important}
html body .obc-cases .ctag,html body .obc-cases .ccard > span:first-child,html body .obc-cases .ck{background:#14181F!important;color:#fff!important;border-radius:3px;padding:4px 9px;font-size:11px;letter-spacing:.08em}

/* ---- call to action row at the end of content sections (rendered by script) ---- */
html body .of-cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px auto 0;max-width:none}
html body .of-cta-row a{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:4px;font-weight:700;font-size:15px;text-decoration:none;border:1.5px solid transparent}
html body .of-cta-row a.p{background:#D71920;color:#fff!important;-webkit-text-fill-color:#fff;border-color:#D71920}
html body .of-cta-row a.p:hover{background:#B3121A}
html body .of-cta-row a.s{background:#fff;color:#14181F!important;-webkit-text-fill-color:#14181F;border-color:#14181F}
html body section.alt .of-cta-row a.s{background:#fff}
html body .dark .of-cta-row a.s,html body section.dark .of-cta-row a.s{background:transparent;color:#fff!important;-webkit-text-fill-color:#fff;border-color:rgba(255,255,255,.6)}
@media(max-width:640px){html body .of-cta-row a{width:100%}}

/* ---- headings never sit in a narrow box; long text blocks are centred ----- */
html body section h2,html body .dsec h2,html body .obc-ops h2,html body .obc-cases .chead h2,html body section > .wrap > h1{max-width:none!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
html body section > .wrap > div.post > p,html body section > .wrap > .post > ul,html body section > .wrap > .prose > p,html body section > .wrap > .txt > p,html body .dclose > .wrap > p,html body .dclose p{max-width:80ch;margin-left:auto;margin-right:auto;text-align:center}
html body article .post p,html body article p,html body .article p,html body .blog-body p{text-align:left;max-width:none}
html body section > .wrap > div.post{max-width:none}

/* ---- alignment exceptions: two-column bands stay left; cases heading centred for real ---- */
html body .of-wrap .of-intro h2,html body .of-mid h2,html body .of-band h2,html body .of-hub-card h3,html body .of-intro p{text-align:left!important;margin-left:0!important}
html body .of-hub h2{text-align:center!important}
html body .obc-cases .cwrap .chead h2,html body .obc-cases .chead > h2,html body [class] .chead h2{text-align:center!important;margin-left:auto!important;margin-right:auto!important;max-width:none!important}
html body .obc-cases .chead{text-align:center!important}
/* portrait photographs are never stretched wide: the story band keeps the cabin, panels use landscapes */
html body .obc-her img.hart[src*="aircraft-cabin"]{object-position:center 30%}
html body .obc-her .hpanel img.hart{image-rendering:auto}
html body #quote-form::before,html body section#quote-form::before{background-image:url(/images/client-airport-1600.webp)!important}

/* ---- alignment rules, final: articles and two-column bands left, section heads centred ---- */
html body .of-head h2,html body .of h2,html body .of-q,html body .of-hint,html body .of-fld label{text-align:left!important;margin-left:0!important}
html body .of-intro h2,html body .of-intro p,html body .of-intro li,html body .of-mid h2,html body .of-mid p,html body .of-band h2,html body .of-band p{text-align:left!important;margin-left:0!important;max-width:none!important}
html body.obc-blog-page section > .wrap > div.post > p,html body.obc-blog-page .post p,html body.obc-blog-page .post li,html body.obc-blog-page .post h2,html body.obc-blog-page .post h3,html body.obc-blog-page article p,html body.obc-blog-page article h2,html body.obc-blog-page article h3,html body.obc-blog-page .author-box p{text-align:left!important;margin-left:0!important;max-width:none!important}
html body.obc-blog-page .post h2::before,html body.obc-blog-page article h2::before{margin-left:0!important}
html body.obc-blog-page .post,html body.obc-blog-page article{max-width:76ch;margin-left:auto;margin-right:auto}
html body .card p,html body .card h3,html body .step p,html body .step b,html body td,html body th,html body li,html body .answer p,html body details .a,html body summary,html body .rfact,html body .qe *,html body table *{text-align:left}
/* the sample quote keeps its light layout */
html body .qe-total,html body .qe .qe-total{background:#fff!important;color:#14181F!important;border:1px solid #E3E6EA!important;border-radius:8px!important;padding:16px 18px!important}
html body .qe-total b,html body .qe-total strong{color:#D71920!important;-webkit-text-fill-color:#D71920!important}
html body .qe-total *{color:#14181F!important;-webkit-text-fill-color:#14181F}
html body .qe-total .qe-sub,html body .qe-total small,html body .qe-total span{color:#5B6472!important;display:inline!important;letter-spacing:0!important;font-size:13px!important}
html body .qe-total b{display:inline-block;font-size:1.6rem}

/* ---- pages with their own hero photograph keep it; the nav is always white ---- */
html body header.hero:has(img.hero-img)::before{display:none!important}
html body .nav[class],html body nav.nav[class],html body .nav[class][style]{background:#fff!important;background-image:none!important;backdrop-filter:none!important}
html body .nav[class] .brand,html body .nav[class] .brand b{color:#14181F!important;-webkit-text-fill-color:#14181F!important}
html body .nav[class] .brand b span{color:#D71920!important;-webkit-text-fill-color:#D71920!important}
html body .nav[class] .links a:not(.cta){color:#2B323D!important}
html body .nav[class] .hamb span{background:#14181F!important}

/* ---- the funnel reads as a funnel: red head, step dots, fixed height, no page jumps ---- */
html body .of{padding:0 24px 20px;min-height:560px;overflow:hidden}
html body .of-head{margin:0 -24px 16px;padding:16px 24px;background:#D71920;color:#fff;align-items:center;gap:14px}
html body .of-eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-bottom:2px}
html body .of-head h2{color:#fff!important;font-size:1.1rem}
html body .of-dots{display:flex;gap:5px;margin-left:auto}
html body .of-dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.35)}
html body .of-dots i.on{background:#fff}
html body .of-step{color:#fff!important}
html body .of-tile{position:relative;padding-right:40px}
html body .of-tile::after{content:"";position:absolute;right:14px;top:50%;width:9px;height:9px;border-right:2px solid #D71920;border-bottom:2px solid #D71920;transform:translateY(-50%) rotate(-45deg)}
@media(max-width:640px){html body .of{min-height:0;padding:0 16px 16px}html body .of-head{margin:0 -16px 14px;padding:14px 16px;flex-wrap:wrap}html body .of-dots{display:none}}

/* ---- text blocks: block centred, text left; call-to-action rows always inside the wrap ---- */
html body section > .wrap > p,html body section > .wrap > .lead,html body section > .wrap > .lede,html body .dclose p,html body .dclose .lead,
html body section > .wrap > div.post > p,html body section > .wrap > .prose > p,html body section > .wrap > .txt > p,html body section > .wrap > .disclaimer{text-align:left!important}
html body section > .wrap > h2 + .lead,html body section > .wrap > h2 + p.lead,html body section > .wrap > h2 + p,html body .obc-cases .chead p,html body .of-hub .of-hub-lead{text-align:center!important}
html body .of-cta-row{max-width:1080px;padding:0 22px;box-sizing:border-box}
html body section > .of-cta-row{margin-left:auto;margin-right:auto}
html body .of-cta-row a,html body .of-cta-row a.p,html body .of-cta-row a.s{text-decoration:none!important;display:inline-flex!important;align-items:center;justify-content:center;padding:13px 22px!important;border-radius:4px!important;font-weight:700;font-size:15px;border:1.5px solid transparent}
html body .of-cta-row a.p{background:#D71920!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#D71920!important}
html body .of-cta-row a.s{background:#fff!important;color:#14181F!important;-webkit-text-fill-color:#14181F!important;border-color:#14181F!important}

/* ---- QA agent fixes ---- */
/* rule 4: the theme's charcoal section-h2 rule overrode the homepage's white h2 on the two dark bands */
html body section.why h2,html body section.cband h2,html body section.why .h2,html body section.cband .h2{color:#fff}
/* rule 1: kickers sit centred above their centred headings, never left in a wide container */
html body section > .wrap > .k,html body section > .wrap > div > .k:first-child,html body section > .wrap > .kick,html body section > .wrap > .kicker,html body section > .wrap > .eyebrow{display:table;margin-left:auto;margin-right:auto}
/* rule 1: short standalone lines are centred (destination grid note, operational facts lead) */
html body .fmore,html body .olead,html body .owrap > .olead{text-align:center;max-width:80ch;margin-left:auto;margin-right:auto}
/* rule 1: paragraphs inside answer panels use the panel's full width (a 70ch block sat left-aligned) */
html body .answer p,html body .answer > p{max-width:none}
/* rule 5: no pastel tints; chips and icon tiles are solid */
html body .sv .tg,html body .svc .tg,html body span.tg{background:#B3121A;color:#fff}
html body .obc-cases .cind,html body .cind{background:#B3121A;color:#fff}
html body .qe-valid{background:#B3121A;color:#fff;border-color:#B3121A}
html body .qe-conf,html body .qe-stamp{background:#14181F;color:#fff;border-color:#14181F}
html body .obc-cases .cout,html body .cout{background:#fff;border:1px solid #E3E6EA;border-left:4px solid #067647;color:#14181F}
html body .card .ico,html body .ico,html body .qic{background:#D71920;color:#fff}
html body .rwho .w em{background:transparent;color:#B3121A;font-style:normal;font-weight:700;padding:0}
/* legibility: nothing below 12.5px */
html body .k,html body .lbl,html body .olive,html body .fun-step,html body .of-k,html body .of-intro .of-k,html body .of-step,html body .tag,html body .rfact span,html body .st span,html body .al b,html body .qe-sub,html body .qe-stamp,html body .qe-conf,html body .qe-valid,html body .cind,html body .tg,html body .sv .tg{font-size:12.5px}
html body small{font-size:max(12.5px,.85em)}
/* homepage, eighth service card: the markup nests an <a> inside the card link, so the parser splits the card into three grid items.
   The stray items are hidden and the card's own text is restored here; the real fix is in the HTML. */
html body .svc > p:has(> a.sv),html body .svc > p:has(> a.sv) + span.tg{display:none}
html body .svc > a.sv[href="/solutions/customs-and-formalities/"] h3::after{content:"Pre-alerts, invoices, carnets and the ground transport at both ends, so the hand-carry arrives cleared.";display:block;font-size:13.5px;line-height:1.6;font-weight:400;color:#5B6472;margin-top:6px}
html body .svc > a.sv[href="/solutions/customs-and-formalities/"]::after{content:"Prepared before departure";display:inline-block;margin-top:12px;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:3px;background:#B3121A;color:#fff}
/* rule 3: the contact card's e-mail address wraps instead of widening the page */
html body a.obc-mail{overflow-wrap:anywhere;min-width:0}
html body .ci div{min-width:0}
@media(max-width:760px){
  /* rule 3: tables. The earlier mobile rule made every table a scrolling block with thead and tbody as two separate 420px tables,
     which misaligned the header row and pushed two- and three-column tables past the screen. Row groups stay one table;
     up to three columns wrap in place, four or more scroll inside their own box. */
  html body table:not(.of-sum) thead{display:table-header-group;min-width:0;width:auto}
  html body table:not(.of-sum) tbody{display:table-row-group;min-width:0;width:auto}
  html body table:not(.of-sum):not(:has(tr>:nth-child(4))){display:table;overflow:visible;white-space:normal}
  html body table:not(.of-sum):not(:has(tr>:nth-child(4))) th,html body table:not(.of-sum):not(:has(tr>:nth-child(4))) td{white-space:normal;overflow-wrap:break-word}
  html body th{overflow-wrap:normal;hyphens:none}
  /* rule 3: homepage price grid and company column took their track size from the content's min-width */
  html body .pg,html body .wrap.co{grid-template-columns:minmax(0,1fr)}
  html body .pg > div,html body .wrap.co > div{min-width:0}
  html body .ptable{width:100%}
}

/* ---- one lead form per page section: the old bottom form goes, the calculator stays ---- */
html body section#quote-form,html body #quote-form{display:none!important}
/* headings inside id-scoped sections were still boxed by their own rules */
html body #obc-calc h2,html body #obc-calc .lead,html body #obc-aptdir h2,html body #obc-opsfacts h2,html body #obc-storyprev h2,html body #obc-depth2 h2,html body #obc-journey h2,html body #obc-journey .jlead,html body #obc-journey p{max-width:none!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
html body #obc-calc .lead,html body #obc-journey p{max-width:76ch!important}
html body #obc-calc .oc-grid{margin-top:26px}

/* ---- zone cards and their buttons; the quote mock total, with enough specificity ---- */
html body .dclose,html body [class] .dclose{background:#14181F!important;background-image:none!important;border-radius:10px!important;color:#fff!important}
html body .dclose p,html body .dclose li{color:rgba(255,255,255,.86)!important;max-width:none!important;text-align:left!important}
html body .dclose h2{color:#fff!important;text-align:left!important;margin-left:0!important}
html body .dclose h2::before{display:none!important}
html body [class] .btn,html body [class] a.btn,html body .dis-btns a,html body .dclose a.p,html body [class] .btn.p,html body .btn[class]{color:#fff!important;-webkit-text-fill-color:#fff!important;background:#D71920!important;background-image:none!important;border-radius:4px!important;box-shadow:none!important}
html body [class] .btn.ghost,html body [class] .btn.g,html body .dis-btns a.g,html body .dclose a.g{background:#fff!important;color:#14181F!important;-webkit-text-fill-color:#14181F!important;border:1.5px solid #14181F!important}
html body .dclose a.g,html body .dclose .btn.ghost{background:transparent!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:rgba(255,255,255,.6)!important}
html body [class] .btn.wa{background:#0F7A3D!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html body [class] [class] .qe-total,html body .qe-win .qe-total,html body .qe-offer .qe-total{background:#fff!important;color:#14181F!important;border:1px solid #E3E6EA!important;border-left:4px solid #D71920!important;border-radius:8px!important;padding:16px 18px!important}
html body [class] [class] .qe-total *{color:#14181F!important;-webkit-text-fill-color:#14181F!important}
html body [class] [class] .qe-total b,html body [class] [class] .qe-total strong{color:#D71920!important;-webkit-text-fill-color:#D71920!important;font-size:1.6rem;display:inline-block}
html body [class] [class] .qe-total .qe-sub,html body [class] [class] .qe-total small,html body [class] [class] .qe-total span{color:#5B6472!important;-webkit-text-fill-color:#5B6472!important;font-size:13px!important;display:inline!important;letter-spacing:0!important}

/* ---- QA agent fixes (2) ---- */
/* rule 2: depth-3 table heads were grey on the charcoal header row (3.0:1); white, and in the site's own family (they asked for Sora) */
html body #obc-depth3 th{color:#fff;font-family:"Plus Jakarta Sans","PJS Fallback",system-ui,sans-serif}
html body #obc-depth3 b,html body .obc-tl .tl-head b,html body .obc-tl b{font-family:"Plus Jakarta Sans","PJS Fallback",system-ui,sans-serif}
/* rule 1: recruiting band, case-study note, journey strip kicker and lead, depth-3 lead: centred, never a narrow left block */
html body .rec h2{max-width:none;margin-left:auto;margin-right:auto;text-align:center}
html body .rec p{max-width:80ch;margin-left:auto;margin-right:auto;text-align:center}
html body .rec ul,html body .rec .recbtns{justify-content:center;text-align:center}
html body .obc-cases .cnote,html body .cnote{text-align:center;max-width:80ch;margin-left:auto;margin-right:auto}
html body .jkick{display:table;margin-left:auto;margin-right:auto;text-align:center}
html body .jsub{text-align:center;max-width:80ch;margin-left:auto;margin-right:auto}
html body #obc-depth3 .d3wrap > p{max-width:none}
html body #obc-depth3 .d3wrap > h2 + p{max-width:80ch;margin-left:auto;margin-right:auto;text-align:center}
/* legibility floor of 12.5px, with enough specificity to beat the pages' own class rules */
html body [class] .lbl,html body [class] .sub,html body .rep td,html body .rep small,html body .fun-eyebrow,html body .of-eyebrow,html body .of-head .of-eyebrow,html body .of-hub .of-hub-k,html body .of-fld label,html body .of-fld small,html body .of-foot,html body p.sub,html body .desknav .dlabel,html body #obc-crumb a,html body #obc-crumb .here,html body .tl-axis span,html body .of-tile small,html body .fun-step,html body .of-step{font-size:12.5px}
html body [class] small{font-size:max(12.5px,.8em)}

/* ---- less red: white funnel head, charcoal kickers, grey chevrons, centred plain heroes ---- */
html body .of-head{background:#fff!important;color:#14181F;border-bottom:1px solid #E3E6EA;padding:18px 24px 14px}
html body .of-eyebrow{color:#5B6472}
html body .of-head h2{color:#14181F!important}
html body .of-dots i{background:#E3E6EA}
html body .of-dots i.on{background:#14181F}
html body .of-step{color:#5B6472!important}
html body .of-tile::after{border-color:#9AA3AE}
html body .tag,html body .section-tag,html body .desk-kicker,html body .ukick,html body #uae-network .uae-tag,html body #obc-vs .vs-tag,html body #obc-uaenet .ukick,html body .dis-kick,html body .jkick,html body .of-hub .of-hub-k{color:#2B323D!important;-webkit-text-fill-color:#2B323D}
html body .dark .tag,html body section.dark .tag,html body .dark .kick,html body #obc-journey .jkick,html body .of-wrap .jkick,html body .cta-band .tag,html body .rec .tag,html body #courier-cta .section-tag,html body #contact .section-tag,html body .of-intro .of-k{color:rgba(255,255,255,.85)!important;-webkit-text-fill-color:rgba(255,255,255,.85)}
html body .stat-number{color:#14181F}
html body header.hero:not(.rhero) .wrap,html body header.hero:not(.rhero) .hero-inner{text-align:center}
html body header.hero:not(.rhero) h1,html body header.hero:not(.rhero) .pill,html body header.hero:not(.rhero) .tag,html body header.hero:not(.rhero) .lede,html body header.hero:not(.rhero) p{max-width:none!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
html body header.hero:not(.rhero) .lede,html body header.hero:not(.rhero) p{max-width:76ch!important}
html body header.hero:not(.rhero) .btns,html body header.hero:not(.rhero) .hp-btns,html body header.hero:not(.rhero) .chips{justify-content:center}
html body .hero .pill,html body header.hero .pill{background:transparent!important;border:0!important;border-left:3px solid #D71920!important;border-radius:0!important;padding:1px 0 1px 10px!important;color:#2B323D!important;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;display:inline-block}
html body header.hero:not(.rhero) .pill{border-left:0!important;padding:0!important}
html body header.hero:not(.rhero) .pill::before{content:'';display:inline-block;width:22px;height:3px;background:#D71920;vertical-align:middle;margin-right:10px}

/* ---- courier application funnel on /join/: one question per step, calm, fixed height ---- */
html body .funnel{padding:56px 0 40px;background:#F5F6F8}
html body .funnel .wrap{max-width:680px;margin:0 auto;padding:0 18px}
html body .funnel .card{background:#fff!important;color:#1F2933!important;border:1px solid #E3E6EA!important;border-radius:12px!important;padding:30px 28px 26px!important;box-shadow:0 24px 50px -30px rgba(20,24,31,.25)!important;min-height:540px}
html body .funnel .progress{height:4px;background:#EEF0F3;border-radius:2px;margin-bottom:10px}
html body .funnel .progress i{background:#D71920!important;border-radius:2px}
html body .funnel .step-count{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5B6472!important;margin-bottom:18px}
html body .funnel .q{font-size:clamp(1.35rem,2.4vw,1.7rem)!important;font-weight:800;color:#14181F!important;line-height:1.2;margin-bottom:8px;text-align:left!important}
html body .funnel .q-sub{font-size:14.5px;color:#5B6472!important;margin-bottom:20px;text-align:left!important}
html body .funnel .opts{display:grid;gap:10px}
html body .funnel .opt{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;background:#fff!important;border:1.5px solid #E3E6EA!important;border-radius:10px!important;font:inherit;font-size:16px;font-weight:700;color:#14181F!important;-webkit-text-fill-color:#14181F;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s;position:relative;padding-right:44px}
html body .funnel .opt::after{content:"";position:absolute;right:16px;top:50%;width:9px;height:9px;border-right:2px solid #9AA3AE;border-bottom:2px solid #9AA3AE;transform:translateY(-50%) rotate(-45deg)}
html body .funnel .opt:hover,html body .funnel .opt:focus-visible{border-color:#14181F!important;background:#fff!important;transform:translateY(-1px);outline:none}
html body .funnel .opt .ico{font-size:24px;flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#F5F6F8;border-radius:8px}
html body .funnel .opt small{color:#5B6472!important;-webkit-text-fill-color:#5B6472;font-size:12.5px;font-weight:500}
html body .funnel .yn{display:flex;gap:10px}
html body .funnel .yn button,html body .funnel .check-row button{flex:1;padding:14px;border:1.5px solid #E3E6EA;border-radius:8px;background:#fff;font:inherit;font-weight:700;color:#14181F;cursor:pointer}
html body .funnel .yn button.sel,html body .funnel .check-row button.sel{background:#14181F!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#14181F!important}
html body .funnel .field label{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2B323D}
html body .funnel .field input,html body .funnel .field select{width:100%;height:50px;border:1.5px solid #CFD4DB;border-radius:6px;padding:0 14px;font:inherit;font-size:16px;color:#1F2933;background:#fff}
html body .funnel .field input:focus,html body .funnel .field select:focus{border-color:#14181F;box-shadow:0 0 0 3px rgba(20,24,31,.12);outline:none}
html body .funnel .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
html body .funnel .btn,html body .funnel a.btn,html body .funnel button.btn{display:flex;width:100%;justify-content:center;padding:15px 20px;border-radius:6px!important;background:#D71920!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:16px;font-weight:700;border:0;box-shadow:none!important;margin-top:8px}
html body .funnel .back{display:inline-block;margin-top:14px;font-size:14px;font-weight:700;color:#5B6472;background:none;border:0;cursor:pointer;text-decoration:none}
html body .funnel .note,html body .funnel .trust-line,html body .funnel .consent-note{font-size:12.5px;color:#5B6472;text-align:center;margin-top:12px}
html body .funnel .consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#1F2933;padding:12px 14px;background:#F5F6F8;border:1px solid #E3E6EA;border-radius:6px;margin:14px 0}
html body .funnel .consent input{width:18px;height:18px;accent-color:#D71920;flex:none;margin-top:2px}
html body .funnel .consent-err{color:#8E0E14;font-size:13px;font-weight:600}
html body .funnel .done{text-align:center;padding:20px 0}
html body .funnel .done .big{background:#E8F5EC!important;color:#0F7A3D!important;width:64px;height:64px}
html body .funnel .done h3{font-size:1.4rem;color:#14181F}
html body .funnel .done p{color:#5B6472;font-size:15px}
html body .funnel .funnel-step{animation:none}
@media(max-width:640px){html body .funnel{padding:36px 0 28px}html body .funnel .card{padding:22px 16px 20px!important;min-height:0}html body .funnel .grid2{grid-template-columns:1fr}html body .funnel .q{font-size:1.3rem!important}}

/* ---- e-mail links: readable before the tap, real after it ------------------ */
html body .obc-mail{cursor:pointer;text-decoration:none;border-bottom:1px dashed currentColor}
html body .obc-mail[data-r]{border-bottom:0;text-decoration:underline}
/* ---- top bar on the recruiting pages (no nav there) ------------------------ */
html body .bar,html body div.bar{background:#fff!important;border-bottom:1px solid #E3E6EA;display:flex;align-items:center;gap:11px;padding:14px 22px;position:sticky;top:0;z-index:50}
html body .bar .mark{width:34px;height:34px;border-radius:6px;background:#D71920!important;display:flex;align-items:center;justify-content:center;box-shadow:none!important}
html body .bar .mark svg path{stroke:#fff!important}
html body .bar .mark svg circle{fill:#fff!important}
html body .bar b{color:#14181F!important;font-size:17px;font-weight:800}
html body .bar b span{color:#D71920!important}

/* ---- QA agent fixes (3) ---- */
/* one family everywhere: components asked for Sora on bold labels, table heads and landmark names */
html body [class] b,html body [class] strong,html body [class] th,html body .lm b,html body .lm-grid .lm b{font-family:inherit}
/* rule 1: the case-study lead sits centred under its heading */
html body #obc-cases .chead p,html body .obc-cases .chead p{margin-left:auto;margin-right:auto;text-align:center}
/* legibility floor 12.5px: case kickers and chips, story band kicker, journey cards, calculator labels, quote form labels, footer column heads */
html body .obc-cases .chead span,html body .obc-sb .sbtext span,html body #obc-journey .jkick,html body .obc-journey .jkick,html body .obc-cases .cind,html body .obc-cases .cnote,html body #obc-journey .jgrid i,html body .jgrid i,html body #obc-calc .oc-l,html body #obc-calc .oc-l b,html body #obc-calc .oc-pills button i,html body #obc-calc .oc-meta,html body #obc-calc .oc-total span,html body #obc-calc .oc-note,html body .qf label,html body footer h3.f4,html body footer h4,html body .fgrid h4,html body .footer-col h4,html body .dis-kick{font-size:12.5px}

/* ---- QA agent fixes (4) ---- */
/* rule 1: the journey strip kicker is centred; the theme's own #obc-journey rule set it inline-block at the left edge */
html body #obc-journey .jkick,html body .obc-journey .jkick,html body .jwrap > .jkick{display:table;margin:0 auto 14px;text-align:center}
/* rule 2: the chat mock's speaker labels were slate on light grey (2.4:1) */
html body .alt .px-turn b,html body .px-turn b{color:#5B6472}
/* legibility floor 12.5px: premium-layer eyebrows, rule labels, panel heads, step numbers, matrix table heads, speaker labels, price notes */
html body .px-eyebrow,html body .px-rule .px-k,html body .px-panel h4,html body .px-step b,html body .px-turn b,html body .px-matrix th,html body #hp-head span,html body #hp-note{font-size:12.5px}

/* ---- the funnel card inside the hero, beside the text (sub-pages) ------------ */
html body header.hero:has(.hero-funnel){display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center;padding:0 max(22px,calc((100% - 1160px) / 2)) 48px!important}
html body header.hero:has(.hero-funnel) > .wrap{max-width:none!important;width:100%;margin:0!important;padding-left:0!important;padding-right:0!important}
html body header.hero:has(.hero-funnel) .hero-funnel{position:relative;z-index:2;padding-top:40px;scroll-margin-top:90px}
html body header.hero:has(.hero-funnel) .obc-funnel{min-height:120px}
html body header.hero:has(.hero-funnel) .of{box-shadow:0 30px 60px -28px rgba(20,24,31,.45)}
html body header.hero:has(.hero-funnel)::after{z-index:1}
@media(max-width:1000px){html body header.hero:has(.hero-funnel){grid-template-columns:1fr;gap:10px}html body header.hero:has(.hero-funnel) .hero-funnel{padding-top:8px;max-width:640px}}
/* ---- recruiting hero: readable on the photograph ---------------------------- */
html body header.hero:has(img.hero-img)::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,24,31,.62) 0%,rgba(20,24,31,.72) 60%,rgba(20,24,31,.86) 100%)}
html body header.hero:has(img.hero-img) > *:not(img):not(.obc-lifeart){position:relative;z-index:1}
html body header.hero:has(img.hero-img) h1{color:#fff!important;text-shadow:0 2px 24px rgba(0,0,0,.35)}
html body header.hero:has(img.hero-img) h1 em{color:#FF5A60!important}
html body header.hero:has(img.hero-img) p,html body header.hero:has(img.hero-img) .lede{color:rgba(255,255,255,.92)!important}
html body header.hero:has(img.hero-img) p strong{color:#fff}
html body header.hero:has(img.hero-img) .pill{color:#fff!important}
html body header.hero:has(img.hero-img) .pill::before{background:#FF5A60}
html body header.hero:has(img.hero-img) .chips span,html body header.hero:has(img.hero-img) .hchips span,html body header.hero:has(img.hero-img) .chip{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.3)!important;color:#fff!important}
html body header.hero:has(img.hero-img) .sub,html body header.hero:has(img.hero-img) small{color:rgba(255,255,255,.8)!important}

/* ---- QA agent fixes (5) ---- */
/* rule 5: the courier pages' closing band was a pink tint; light grey like every other alt band */
html body.obc-courier-page .of-band{background:#F5F6F8}
/* one family: the courier funnel's question lines asked for Sora */
html body .funnel-step .q,html body p.q{font-family:inherit}
/* rule 1: the photo strip label is centred above its strip */
html body.obc-courier-page .strip-label{text-align:center;margin-left:auto;margin-right:auto}
/* legibility floor 12.5px on the recruiting pages: hero pill and chips, hint line, step counter, strip label and captions */
html body.obc-courier-page .pill,html body.obc-courier-page .chip,html body.obc-courier-page .hint,html body.obc-courier-page .step-count,html body.obc-courier-page .strip-label,html body.obc-courier-page figcaption{font-size:12.5px}

/* ---- QA agent fixes (6): jobs directory ---- */
/* rule 4: the page's later .jbsec h3 rule beat .jb-cta h3, leaving charcoal text on the charcoal call-to-action box */
html body .jb-cta h3,html body .jbsec .jb-cta h3{color:#fff}
html body .jb-cta p,html body .jbsec .jb-cta p{color:rgba(255,255,255,.9)}
/* rule 2: the "Ticket paid" line under every desk was 3.6:1; the same grey the rest of the site uses for notes */
html body .jbrow .kind span{color:#5B6472;font-size:12.5px}
/* rule 5: the fee notice was a cream tint, the flag tile a pale blue; white card with a red rule, grey tile */
html body .jb-warn{background:#fff;border:1px solid #E3E6EA;border-left:4px solid #D71920}
html body .jbrow .flag{background:#F5F6F8}
/* rule 1: paragraphs in the jobs section and its panels use the full width instead of a 74ch left block */
html body .jbsec p,html body .jbsec .jb-cta p,html body .jbsec .jb-warn p{max-width:none}
/* one family and the 12.5px floor for the kicker and desk titles; the title column may shrink instead of the row */
html body .jb-kick{font-family:inherit;font-size:12.5px}
html body .jbrow .ttl{font-family:inherit}
html body .jbrow .mid{flex:1 1 auto;min-width:0}

/* ---- QA agent fixes (7): countries hub ---- */
/* rule 1: the UAE network lead is centred under its heading */
html body .ulead,html body #uae-network .ulead{text-align:center;max-width:80ch;margin-left:auto;margin-right:auto}
/* legibility floor 12.5px and one family: region labels above the tables, table heads everywhere, the UAE kicker and its timing notes */
html body .reg,html body .ukick,html body #uae-network .ukick{font-size:12.5px;font-family:inherit}
html body table th,html body .rtable th,html body .hubtab th{font-size:12.5px}
html body #uae-network i,html body .uae-grid i{font-size:12.5px}

/* ---- heroes that carry the funnel card: text column left-aligned ---------------- */
html body header.hero:has(.hero-funnel) .wrap,html body header.hero:has(.hero-funnel) .hero-inner{text-align:left!important}
html body header.hero:has(.hero-funnel) h1,html body header.hero:has(.hero-funnel) .pill,html body header.hero:has(.hero-funnel) .tag,html body header.hero:has(.hero-funnel) .lede,html body header.hero:has(.hero-funnel) p,html body header.hero:has(.hero-funnel) .btns,html body header.hero:has(.hero-funnel) .hp-btns,html body header.hero:has(.hero-funnel) .chips,html body header.hero:has(.hero-funnel) .rfacts{text-align:left!important;margin-left:0!important;justify-content:flex-start;max-width:none!important}
html body header.hero:has(.hero-funnel) .pill::before{display:none}
html body header.hero:has(.hero-funnel) .pill{border-left:3px solid #D71920!important;padding-left:10px!important}
html body header.hero:has(.hero-funnel) .rfacts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
html body header.hero:has(.hero-funnel) .rfact{background:#fff;border:1px solid #E3E6EA;border-radius:8px;padding:12px 14px}
html body header.hero:has(.hero-funnel) .rfact span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#5B6472;font-weight:800;margin-bottom:3px}
html body header.hero:has(.hero-funnel) .rfact b{font-size:15px;color:#14181F}
html body header.hero:has(.hero-funnel) .rpair{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.14em;color:#B3121A;margin-bottom:12px}
html body header.hero:has(.hero-funnel) .rpair i{display:inline-block;width:36px;height:2px;background:#D71920}
html body header.hero:has(.hero-funnel) .micro{color:#5B6472;font-size:13px;margin-top:12px}

/* ---- QA agent fixes (8): legibility floor, final specificity pass ---- */
/* the pages' own two-class rules outranked the earlier floor; [class] boosters keep these at 12.5px without !important */
html body [class] .fld label,html body [class] .fld-req,html body [class] .fun-foot,html body [class] .of-fld label,html body [class] .mb small,html body [class] .msg small,html body [class] .rep small,html body [class] .rep td,html body [class] .rep th,html body [class] p.kick,html body [class] .kick,html body [class] .qe-meta,html body [class] .qe-rule,html body [class] .qe em,html body [class] .qe-meta em,html body [class] .obc-mail,html body [class] table th,html body [class] .rtable th,html body [class] .hubtab th,html body [class] .ct,html body [class] .fun-eyebrow,html body [class] .lbl{font-size:12.5px}
html body [class] [class] small,html body [class] [class] .fld label{font-size:12.5px}

/* ==== v2 components: definitions grid, route map, Outlook-style quote thread ==== */
html body .v2-defs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}
html body .v2-def{background:#fff;border:1px solid #E3E6EA;border-top:4px solid #14181F;border-radius:8px;padding:22px 20px}
html body .v2-def h3{font-size:1.05rem;color:#14181F;margin:0 0 8px!important;text-align:left!important}
html body .v2-def p{font-size:14.5px;color:#3D4652;margin:0;max-width:none!important;text-align:left!important}
@media(max-width:900px){html body .v2-defs{grid-template-columns:1fr}}
html body figure.lane-art{margin:26px 0 30px}
html body .obc-routemap{border:1px solid #E3E6EA;border-radius:10px;overflow:hidden;background:#F5F6F8;min-height:220px}
html body .obc-routemap svg{display:block}
html body figure.lane-art figcaption{font-size:12.5px;color:#5B6472;text-align:center;margin-top:10px}
/* the quote thread as an e-mail client window */
html body .qe{max-width:900px;margin:22px auto 0}
html body .qe-win{background:#fff!important;border:1px solid #E3E6EA!important;border-radius:10px!important;overflow:hidden;box-shadow:0 24px 60px -30px rgba(20,24,31,.3)!important}
html body .qe-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:#F5F6F8!important;border-bottom:1px solid #E3E6EA;font-size:13.5px;font-weight:700;color:#14181F!important}
html body .qe-bar span{width:10px;height:10px;border-radius:50%;background:#D9DDE3;display:inline-block}
html body .qe-bar span:nth-child(1){background:#FF5F57}html body .qe-bar span:nth-child(2){background:#FEBC2E}html body .qe-bar span:nth-child(3){background:#28C840}
html body .qe-bar b{margin-left:8px;color:#14181F!important}
html body .qe-msg{padding:18px 20px 18px 66px;position:relative;border-bottom:1px solid #EEF0F3;background:#fff!important;color:#1F2933!important}
html body .qe-msg::before{content:'C';position:absolute;left:18px;top:18px;width:34px;height:34px;border-radius:50%;background:#14181F;color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
html body .qe-msg.qe-out::before{content:'OC';background:#D71920}
html body .qe-msg.qe-out{background:#FBFBFC!important}
html body .qe-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px!important;letter-spacing:0!important;text-transform:none!important;color:#5B6472!important;margin-bottom:8px}
html body .qe-meta b{color:#14181F!important;font-size:13.5px}
html body .qe-meta .obc-mail{color:#5B6472!important;border-bottom:1px dashed #CFD4DB;font-size:12.5px;letter-spacing:0!important;text-transform:lowercase!important}
html body .qe-stamp{margin-left:auto;font-style:normal;font-size:11.5px!important;font-weight:700;color:#0F7A3D!important;background:#E8F5EC!important;padding:3px 8px;border-radius:3px;border:0!important}
html body .qe-msg > p{font-size:15px;color:#1F2933!important;margin:0;line-height:1.55}
html body .qe-offer{margin-top:6px;border:1px solid #E3E6EA;border-radius:8px;padding:6px 16px 14px;background:#fff!important}
html body .qe-line{display:flex;gap:14px;align-items:baseline;padding:9px 0;border-bottom:1px solid #EEF0F3;font-size:14.5px}
html body .qe-line span{flex:0 0 150px;font-size:11px!important;letter-spacing:.08em;text-transform:uppercase;color:#5B6472!important;font-weight:800}
html body .qe-line b{color:#14181F!important;font-weight:700}
html body .qe-line.qe-route b{color:#B3121A!important}
html body .qe-rule{margin:14px 0 2px;font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;color:#B3121A!important;font-weight:800}
html body .qe-total{margin-top:14px;padding:16px 18px!important;border:1px solid #E3E6EA!important;border-left:4px solid #D71920!important;border-radius:8px!important;background:#F5F6F8!important;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
html body .qe-total > span{flex-basis:100%;font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;color:#5B6472!important;font-weight:800;display:block!important}
html body .qe-total b{font-size:1.7rem!important;color:#D71920!important;-webkit-text-fill-color:#D71920!important;line-height:1.1;display:inline-block}
html body .qe-total b .qe-alt{font-size:13px!important;color:#5B6472!important;-webkit-text-fill-color:#5B6472!important;font-weight:600;margin-left:8px;letter-spacing:0!important;display:inline!important}
html body .qe-total em{font-style:normal;font-size:13.5px!important;color:#3D4652!important;flex-basis:100%;display:block!important}
html body .qe-foot{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
html body .qe-valid,html body .qe-conf{font-size:12.5px!important;font-weight:700;padding:8px 12px;border-radius:4px;letter-spacing:0!important}
html body .qe-valid{background:#FDECEC!important;color:#8E0E14!important;border:1px solid #F5C6C8}
html body .qe-conf{background:#E8F5EC!important;color:#0F7A3D!important;border:1px solid #BFE5CB}
html body .qe-sub{font-size:12.5px!important;color:#5B6472!important;margin:12px 0 0}
html body .qe-last .qe-confirm{font-size:16px;font-weight:800;color:#0F7A3D!important;margin:0}
/* staggered reveal driven by the page's own observer (adds .on) */
html body .qe .qe-msg{opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}
html body .qe.on .qe-msg{opacity:1;transform:none}
html body .qe.on .qe-msg:nth-child(2){transition-delay:.15s}html body .qe.on .qe-msg:nth-child(3){transition-delay:.9s}html body .qe.on .qe-msg:nth-child(4){transition-delay:2.6s}
html body .qe .qe-line,html body .qe .qe-rule,html body .qe .qe-total,html body .qe .qe-foot,html body .qe .qe-sub{opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease;transition-delay:calc(.9s + var(--i,0) * .12s)}
html body .qe.on .qe-line,html body .qe.on .qe-rule,html body .qe.on .qe-total,html body .qe.on .qe-foot,html body .qe.on .qe-sub{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html body .qe .qe-msg,html body .qe .qe-line,html body .qe .qe-rule,html body .qe .qe-total,html body .qe .qe-foot,html body .qe .qe-sub{opacity:1;transform:none;transition:none}}
@media(max-width:640px){html body .qe-msg{padding-left:20px}html body .qe-msg::before{display:none}html body .qe-line{flex-direction:column;gap:2px}html body .qe-line span{flex-basis:auto}}

/* ---- QA agent fixes (9) ---- */
/* rule 1: airport-page leads (terminal note, airline note) sit centred under their headings */
html body .aplede,html body .allead,html body [class] .aplede,html body [class] .allead{text-align:center;max-width:80ch;margin-left:auto;margin-right:auto}

/* ==== premium touches: shadows, sheen on primary buttons, gentle reveal ==== */
html body .card,html body .v2-def,html body .rfact,html body .ccard,html body .ocard,html body .of-hub-card,html body .step,html body .qcard,html body .qbox,html body .vs-col,html body .post-card,html body .desk,html body .case,html body .sv{box-shadow:0 1px 2px rgba(20,24,31,.04),0 12px 28px -22px rgba(20,24,31,.35)!important;transition:transform .25s ease,box-shadow .25s ease,border-color .2s ease,opacity .5s ease}
html body .card:hover,html body .v2-def:hover,html body .ccard:hover,html body .ocard:hover,html body .of-hub-card:hover,html body .step:hover,html body .post-card:hover,html body .desk:hover,html body .case:hover,html body .sv:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(20,24,31,.05),0 24px 40px -24px rgba(20,24,31,.4)!important}
html.obc-anim body .v2-def,html.obc-anim body .rfact,html.obc-anim body .card,html.obc-anim body .ccard,html.obc-anim body .ocard,html.obc-anim body .of-hub-card,html.obc-anim body .step,html.obc-anim body .qcard,html.obc-anim body .qbox,html.obc-anim body .vs-col,html.obc-anim body .post-card,html.obc-anim body .desk,html.obc-anim body .case,html.obc-anim body .sv{opacity:0;transform:translateY(10px)}
html.obc-anim body .obc-in{opacity:1!important;transform:none!important}
html.obc-anim body .obc-in:hover{transform:translateY(-3px)!important}
/* a light wave crossing the primary buttons from right to left */
html body .hp-btn.hp-red,html body .of-btn:not(.of-wa),html body .of-cta-row a.p,html body .of-band a.p,html body .of-mid a.p,html body .of-hub .of-bbtns a.p,html body a.btn:not(.ghost):not(.wa),html body .btn-book,html body .qbtn,html body .obc-stickybar a.q,html body .nav .links a.cta,html body .dis-hero a.p,html body .funnel .btn{position:relative;overflow:hidden;isolation:isolate}
html body .hp-btn.hp-red::after,html body .of-btn:not(.of-wa)::after,html body .of-cta-row a.p::after,html body .of-band a.p::after,html body .of-mid a.p::after,html body .of-hub .of-bbtns a.p::after,html body a.btn:not(.ghost):not(.wa)::after,html body .btn-book::after,html body .qbtn::after,html body .obc-stickybar a.q::after,html body .nav .links a.cta::after,html body .dis-hero a.p::after,html body .funnel .btn::after{content:'';position:absolute;top:-20%;bottom:-20%;left:auto;right:-45%;width:38%;background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.32) 50%,rgba(255,255,255,0) 100%);transform:skewX(-18deg);pointer-events:none;animation:obcSheen 5.5s ease-in-out infinite;animation-delay:1.2s}
@keyframes obcSheen{0%{right:-45%}18%{right:125%}100%{right:125%}}
@media(prefers-reduced-motion:reduce){html body .hp-btn.hp-red::after,html body .of-btn::after,html body .of-cta-row a.p::after,html body a.btn::after,html body .obc-stickybar a.q::after,html body .nav .links a.cta::after{animation:none;display:none}}
html body .hp-btn.hp-red,html body .of-btn,html body .of-cta-row a.p,html body .of-band a.p,html body .of-mid a.p{box-shadow:0 10px 22px -12px rgba(215,25,32,.55)}
html body .hp-btn.hp-red:hover,html body .of-btn:hover,html body .of-cta-row a.p:hover{transform:translateY(-1px);box-shadow:0 14px 26px -12px rgba(215,25,32,.6)}
/* the sample e-mail thread names the desk, not an address */
html body .qe-meta .obc-mail{font-size:0!important;border:0!important}
html body .qe-meta .obc-mail::after{content:'the bookings desk';font-size:12.5px;color:#5B6472}

/* ---- no tracked capitals anywhere: labels in sentence case ---------------------- */
html body .tag,html body .section-tag,html body .desk-kicker,html body .ukick,html body .dis-kick,html body .jkick,html body .kick,html body .of-k,html body .of-hub-k,html body .k,html body .pill,html body .rpair,html body .olive,html body .qe-rule,html body .qe-line span,html body .qe-total > span,html body .rfact span,html body .of-fld label,html body .fld label,html body .fun-eyebrow,html body .of-eyebrow,html body .of-step,html body .fun-step,html body .stat-label,html body .st span,html body .lbl,html body .h3s,html body .cind,html body .desk .ds span,html body .case .cf span,html body .case .ct,html body .post small,html body .footer-col h4,html body .fgrid h4,html body footer h3.f4,html body .contact .ci small,html body .ab-role,html body .step-count,html body .funnel .step-count,html body th,html body .ptable th,html body .dir-h span,html body .qe-meta,html body .fcount,html body .obar,html body .oinfo,html body .of-hub-card h3 small{text-transform:none!important;letter-spacing:0!important}
html body .tag,html body .section-tag,html body .desk-kicker,html body .ukick,html body .dis-kick,html body .jkick,html body .kick,html body .of-k,html body .of-hub-k,html body .k,html body .pill{font-size:13.5px!important;font-weight:700!important}
html body .rpair{font-size:14px;letter-spacing:.04em!important}
html body th,html body .ptable th{font-size:13px!important;font-weight:700}
html body .rfact span,html body .qe-line span,html body .of-fld label,html body .fld label,html body .stat-label,html body .st span{font-size:12.5px!important;font-weight:700!important;color:#5B6472}

/* ---- QA agent fixes (10): last specificity pass ---- */
/* rule 1: the UAE network lead on the countries hub (the page's id-scoped rule outranked the earlier fix) */
html body #uae-network [class] .ulead,html body [id] [class] .ulead,html body [id] [class] [class] .ulead{text-align:center;max-width:80ch;margin-left:auto;margin-right:auto}
/* legibility floor 12.5px: UAE kicker and timing notes, recruiting-page footnotes */
html body #uae-network [class] .ukick,html body [id] [class] .ukick,html body #uae-network [class] i,html body [id] .uae-grid i{font-size:12.5px}
html body.obc-courier-page .earn-note,html body.obc-courier-page .stories-note,html body.obc-courier-page [class] .earn-note,html body.obc-courier-page [class] .stories-note{font-size:12.5px}
/* one family: desk titles, funnel questions and landmark names that still carried a Sora declaration */
html body [class] [class] .ttl,html body [class] [class] .q,html body [class] [class] .lm b,html body [class] [class] .jb-kick{font-family:inherit}

/* ---- QA agent fixes (11): countries hub, id-scoped ---- */
/* rule 1 and legibility: the UAE network section is #obc-uaenet; its own id rule outranked the attribute selectors above */
html body #obc-uaenet .ulead{text-align:center;max-width:80ch;margin-left:auto;margin-right:auto}
html body #obc-uaenet .ukick,html body #obc-uaenet i,html body #obc-uaenet .reg{font-size:12.5px;font-family:inherit}
html body #obc-uaenet [class] i,html body #obc-uaenet [class] .ukick{font-size:12.5px}

/* ---- links: inline text links dark red, block links inherit; never the browser blue or purple ---- */
html body a,html body a:visited{color:inherit}
html body p a,html body li a,html body td a,html body dd a,html body dt a,html body figcaption a,html body small a,html body .lead a,html body .post a:not(.btn),html body article p a,html body p a:visited,html body li a:visited,html body td a:visited,html body dd a:visited,html body .post a:visited:not(.btn){color:#B3121A;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(215,25,32,.35)}
html body p a:hover,html body li a:hover,html body td a:hover,html body .post a:hover:not(.btn){color:#D71920;text-decoration-color:#D71920}
html body h1 a,html body h2 a,html body h3 a,html body h4 a,html body h1 a:visited,html body h2 a:visited,html body h3 a:visited,html body h4 a:visited{color:inherit;text-decoration:none}
html body .of-wrap p a,html body .of-mid p a,html body #quote-form p a,html body .cta-band p a,html body footer p a,html body .of-wrap li a,html body .of-mid li a{color:#fff;text-decoration-color:rgba(255,255,255,.4)}
/* ---- blog closing band on a photo: white copy ---------------------------------- */
html body .cta-band,html body .cta-band h2,html body .cta-band p,html body .cta-band li,html body .post .cta-band h2,html body .post .cta-band h3,html body article .cta-band h2{color:#fff!important}
html body .cta-band h2 em{color:#F0474E!important}
html body .obc-stickybar a.w{background:#fff;color:#14181F}

/* ---- price estimator: one white card pair, charcoal selection, red only on send ------ */
html body #obc-calc .oc-grid{max-width:1080px;gap:28px;margin:30px auto 0}
html body #obc-calc .oc-panel,html body #obc-calc .oc-result{background:#fff;border:1px solid #E3E6EA;border-radius:12px;padding:28px;box-shadow:0 18px 40px -28px rgba(20,24,31,.38)}
html body #obc-calc .oc-l{font-size:13.5px;font-weight:700;letter-spacing:0;text-transform:none;color:#14181F;margin:22px 0 9px}
html body #obc-calc .oc-l:first-child{margin-top:0}
html body #obc-calc .oc-l b{font-size:13.5px;color:#14181F}
html body #obc-calc .oc-pills{gap:10px}
html body #obc-calc .oc-pills button{background:#fff;border:1.5px solid #D9DEE4;border-radius:8px;color:#14181F;font-size:14px;font-weight:700;padding:12px 10px;line-height:1.25;box-shadow:none;transition:border-color .15s,background .15s,color .15s,transform .15s}
html body #obc-calc .oc-pills button i{font-size:12px;font-weight:600;color:#5B6472;margin-top:3px}
html body #obc-calc .oc-pills button:hover{border-color:#14181F;transform:translateY(-1px)}
html body #obc-calc .oc-pills button.on{background:#14181F;border-color:#14181F;color:#fff;-webkit-text-fill-color:#fff}
html body #obc-calc .oc-pills button.on i{color:rgba(255,255,255,.72);-webkit-text-fill-color:rgba(255,255,255,.72)}
html body #obc-calc .oc-in,html body #obc-calc select.oc-in{background:#fff;border:1.5px solid #D9DEE4;border-radius:8px;padding:12px 14px;font-size:15px;color:#14181F;box-shadow:none}
html body #obc-calc .oc-in::placeholder{color:#6B7380;opacity:1}
html body #obc-calc .oc-in:focus{border-color:#14181F;box-shadow:0 0 0 3px rgba(20,24,31,.12);outline:none}
html body #obc-calc .oc-meta{display:block;margin-top:8px;font-size:13.5px;color:#5B6472}
html body #obc-calc .oc-chk{font-size:14.5px;color:#14181F;margin-top:10px}
html body #obc-calc .oc-lines{border:0}
html body #obc-calc .oc-line{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #EEF0F3;font-size:15px;color:#14181F}
html body #obc-calc .oc-line b{font-weight:700}
html body #obc-calc .oc-total{margin-top:22px}
html body #obc-calc .oc-total span{display:block;font-size:13.5px;font-weight:700;letter-spacing:0;text-transform:none;color:#5B6472}
html body #obc-calc .oc-total b{display:block;font-size:clamp(26px,3.2vw,36px);letter-spacing:-.02em;color:#14181F;margin:4px 0 2px}
html body #obc-calc .oc-total em{font-style:normal;font-size:14px;color:#5B6472}
html body #obc-calc .oc-sendbox{background:#fff;border:1px solid #E3E6EA;border-radius:10px;padding:22px;margin-top:22px;box-shadow:0 14px 34px -26px rgba(20,24,31,.35)}
html body #obc-calc .oc-sendtitle{display:block;font-size:16px;font-weight:800;color:#14181F;margin-bottom:14px}
html body #obc-calc .oc-who{margin-bottom:12px}
html body #obc-calc .oc-sendrow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
html body #obc-calc .oc-mt{margin-top:10px}
html body #obc-calc .oc-cta{display:block;width:100%;margin-top:14px;padding:15px 18px;border:0;border-radius:8px;background:#D71920;color:#fff!important;-webkit-text-fill-color:#fff;font-size:15.5px;font-weight:800;position:relative;overflow:hidden;isolation:isolate;box-shadow:0 12px 26px -14px rgba(215,25,32,.6);cursor:pointer}
html body #obc-calc .oc-cta::after{content:'';position:absolute;top:-20%;bottom:-20%;right:-45%;width:38%;background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.32) 50%,rgba(255,255,255,0) 100%);transform:skewX(-18deg);pointer-events:none;animation:obcSheen 5.5s ease-in-out infinite;animation-delay:1.6s}
html body #obc-calc .oc-cta:hover{background:#B3121A!important;transform:translateY(-1px);box-shadow:0 16px 30px -14px rgba(215,25,32,.65)}
html body #obc-calc .oc-ok{background:#F5F6F8;border:1px solid #E3E6EA;border-radius:8px;padding:14px 16px;margin-top:12px;color:#14181F;font-size:14.5px}
html body #obc-calc .oc-err{background:#FDECEC;border:1px solid #D71920;border-radius:8px;padding:12px 14px;margin-top:12px;color:#B3121A;font-size:14px}
html body #obc-calc input[type=range]{width:100%;accent-color:#D71920;margin:6px 0}
@media(max-width:820px){html body #obc-calc .oc-grid{grid-template-columns:1fr;gap:18px}html body #obc-calc .oc-panel,html body #obc-calc .oc-result{padding:20px}html body #obc-calc .oc-sendrow{grid-template-columns:1fr}html body #obc-calc .oc-pills{grid-template-columns:1fr 1fr}html body #obc-calc .oc-pills.oc-3{grid-template-columns:1fr}}

/* ---- tile links: white cards, charcoal type, an arrow that arrives on hover -------------- */
html body .dgrid a,html body #obc-uaenet .ugrid a,html body .obc-citygrid a,html body .rrel a,html body .dnear a,html body .hub-grid a,html body .sm-list a,html body #obc-districts .dgrid a{display:block;background:#fff;border:1px solid #E3E6EA;border-radius:10px;padding:18px 46px 18px 20px;color:#14181F;text-decoration:none;position:relative;box-shadow:0 10px 26px -20px rgba(20,24,31,.35);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
html body .dgrid a::after,html body #obc-uaenet .ugrid a::after,html body .obc-citygrid a::after,html body .rrel a::after,html body .dnear a::after,html body .hub-grid a::after{content:'\2192';position:absolute;right:18px;top:16px;font-size:18px;font-weight:800;color:#B3121A;opacity:0;transform:translateX(-6px);transition:opacity .2s ease,transform .2s ease}
html body .dgrid a:hover,html body #obc-uaenet .ugrid a:hover,html body .obc-citygrid a:hover,html body .rrel a:hover,html body .dnear a:hover,html body .hub-grid a:hover,html body .sm-list a:hover,html body #obc-districts .dgrid a:hover{transform:translateY(-3px);border-color:#14181F;box-shadow:0 22px 40px -24px rgba(20,24,31,.42);color:#14181F}
html body .dgrid a:hover::after,html body #obc-uaenet .ugrid a:hover::after,html body .obc-citygrid a:hover::after,html body .rrel a:hover::after,html body .dnear a:hover::after,html body .hub-grid a:hover::after{opacity:1;transform:none}
html body .dgrid a > b,html body .dgrid a > strong,html body #obc-uaenet .ugrid a > b,html body .obc-citygrid a > b,html body .rrel a > b,html body .dnear a > b,html body .hub-grid a > b,html body .hub-grid a h3,html body .dgrid a h3{display:block;color:#14181F;font-size:16px;font-weight:800;line-height:1.3;letter-spacing:-.01em}
html body .dgrid a > span,html body .dgrid a > small,html body .dgrid a > p,html body #obc-uaenet .ugrid a > span,html body .obc-citygrid a > span,html body .rrel a > span,html body .dnear a > span,html body .hub-grid a > span,html body .hub-grid a > p{display:block;color:#5B6472;font-size:13.5px;font-weight:500;margin-top:5px;letter-spacing:0;text-transform:none;line-height:1.45}
html body .dgrid a > span:first-child,html body .hub-grid a > span:first-child{margin:0 0 6px;font-weight:700;color:#5B6472;font-size:12.5px}
html body .dgrid{gap:14px}

/* ---- the mark: self-coloured, no box behind it ------------------------------------- */
html body .nav .mark,html body .bar .mark{width:34px;height:34px;background:transparent!important;border-radius:0;box-shadow:none;display:inline-flex;align-items:center;justify-content:center}
html body .nav .mark svg,html body .bar .mark svg{width:34px;height:34px;display:block}
html body .nav .mark svg path,html body .bar .mark svg path{stroke:none}
html body .nav .mark svg path[stroke],html body .bar .mark svg path[stroke]{stroke:#fff!important}
html body .nav .brand b{font-size:21px;letter-spacing:-.02em}

/* ---- Emirates, flydubai, Etihad: storytelling blocks --------------------------------- */
html body .obc-air{padding:64px 0;background:#fff;border-top:1px solid #E3E6EA}
html body .obc-air .wrap{max-width:1140px;margin:0 auto;padding:0 22px}
html body .obc-air h2{text-align:center;margin:0 auto 12px;max-width:none;font-size:clamp(1.5rem,2.6vw,2.05rem);letter-spacing:-.02em;color:#14181F}
html body .obc-air h2::before{margin-left:auto;margin-right:auto}
html body .obc-air .lead{text-align:center;margin:0 auto 34px;max-width:70ch;color:#5B6472;font-size:17px}
html body .obc-air .air-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
html body .obc-air .air-card{background:#fff;border:1px solid #E3E6EA;border-radius:12px;padding:26px 24px 24px;box-shadow:0 18px 40px -28px rgba(20,24,31,.4);display:flex;flex-direction:column;gap:10px;transition:transform .25s ease,box-shadow .25s ease}
html body .obc-air .air-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -26px rgba(20,24,31,.45)}
html body .obc-air .air-tag{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-size:13.5px;font-weight:800;color:#14181F;letter-spacing:0;text-transform:none}
html body .obc-air .air-tag::before{content:'';width:10px;height:10px;border-radius:50%;background:#D71920;box-shadow:0 0 0 3px rgba(215,25,32,.14)}
html body .obc-air .air-drive{font-size:13px;color:#5B6472;font-weight:600}
html body .obc-air .air-card h3{margin:2px 0 0;font-size:19px;line-height:1.25;letter-spacing:-.01em;color:#14181F;text-align:left}
html body .obc-air .air-card p{margin:0;color:#3D4552;font-size:15px;line-height:1.6;text-align:left}
html body .obc-air .air-fact{margin-top:auto;padding-top:12px;border-top:1px solid #EEF0F3;font-size:13.5px;color:#14181F}
html body .obc-air .air-note{text-align:center;margin:30px auto 0;max-width:70ch;color:#5B6472;font-size:15px}
html body .obc-air-board .air-board{border:1px solid #E3E6EA;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 18px 40px -28px rgba(20,24,31,.4)}
html body .obc-air-board .air-row{display:grid;grid-template-columns:1.1fr 1.2fr 3fr 1fr;gap:18px;padding:18px 22px;border-top:1px solid #EEF0F3;align-items:center;font-size:15px;color:#14181F}
html body .obc-air-board .air-row:first-child{border-top:0}
html body .obc-air-board .air-row-h{background:#14181F;color:#fff;font-size:12.5px;font-weight:700}
html body .obc-air-board .air-row-h span{color:rgba(255,255,255,.8)}
html body .obc-air-board .air-row b{font-size:16px;font-weight:800}
html body .obc-air-board .air-row span{color:#3D4552;line-height:1.5}
html body .obc-air-board .air-row em{font-style:normal;font-weight:700;font-size:13.5px;color:#B3121A;white-space:nowrap}
html body .obc-air-gateway .air-gw{display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:start}
html body .obc-air-gateway .air-gw-code{background:#14181F;color:#fff;border-radius:14px;padding:34px 26px;text-align:center;box-shadow:0 24px 50px -28px rgba(20,24,31,.6);position:sticky;top:90px}
html body .obc-air-gateway .air-gw-code b{display:block;font-size:64px;line-height:1;letter-spacing:-.03em;color:#fff}
html body .obc-air-gateway .air-gw-code span{display:block;margin-top:10px;font-size:15px;color:rgba(255,255,255,.78)}
html body .obc-air-gateway h2{text-align:left;margin:0 0 14px}
html body .obc-air-gateway h2::before{margin-left:0}
html body .obc-air-gateway .air-gw-body p{text-align:left;color:#3D4552;font-size:16px;line-height:1.65;margin:0 0 14px}
html body .obc-air-gateway .air-gw-body ul{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:12px}
html body .obc-air-gateway .air-gw-body li{padding:16px 18px;border:1px solid #E3E6EA;border-radius:10px;background:#fff;color:#3D4552;font-size:15px;line-height:1.6;box-shadow:0 12px 30px -24px rgba(20,24,31,.4);text-align:left}
html body .obc-air-gateway .air-gw-body li b{color:#14181F;margin-right:6px}
html body .obc-air-gateway .air-note{text-align:left;margin:16px 0 0}
html body .obc-air-courier{background:#F5F6F8}
@media(max-width:900px){html body .obc-air .air-grid{grid-template-columns:1fr}html body .obc-air-board .air-row{grid-template-columns:1fr;gap:6px}html body .obc-air-board .air-row-h{display:none}html body .obc-air-board .air-row em{margin-top:2px}html body .obc-air-gateway .air-gw{grid-template-columns:1fr}html body .obc-air-gateway .air-gw-code{position:static;padding:24px}html body .obc-air-gateway .air-gw-code b{font-size:48px}html body .obc-air{padding:48px 0}}

/* ---- no coloured top bars on anything ------------------------------------------------- */
html body .vs-col.ok,html body section.alt .vs-col.ok,html body #obc-vs .vs-col.ok,html body .vs-col.no,html body section.alt .vs-col.no,html body #obc-vs .vs-col.no{border-top:1px solid #E3E6EA!important}
html body .vs-col{border:1px solid #E3E6EA;border-radius:12px;box-shadow:0 18px 40px -28px rgba(20,24,31,.4)}
html body .of-wrap,html body .of-mid,html body #quote-form,html body footer{border-top-width:0!important}
html body footer{border-top:1px solid rgba(255,255,255,.08)!important}

/* ---- /dubai/: runways, explorer, stories, rules, what leaves --------------------------- */
html body .dxb-runways{padding:64px 0 56px;background:#fff}
html body .dxb-rw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
html body .dxb-rw{background:#fff;border:1px solid #E3E6EA;border-radius:12px;padding:24px 22px;box-shadow:0 18px 40px -28px rgba(20,24,31,.4);display:flex;flex-direction:column;gap:8px;transition:transform .25s ease,box-shadow .25s ease}
html body .dxb-rw:hover{transform:translateY(-4px);box-shadow:0 26px 50px -26px rgba(20,24,31,.45)}
html body .dxb-rw > b{font-size:34px;line-height:1;letter-spacing:-.03em;color:#14181F}
html body .dxb-rw h3{margin:0;font-size:17px;color:#14181F;text-align:left}
html body .dxb-rw p{margin:0;font-size:14.5px;line-height:1.6;color:#3D4552;text-align:left}
html body .dxb-rw > span{margin-top:auto;padding-top:12px;border-top:1px solid #EEF0F3;font-size:13px;font-weight:700;color:#B3121A}
html body .dxb-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px;padding-top:30px;border-top:1px solid #E3E6EA}
html body .dxb-stats div{text-align:center}
html body .dxb-stats b{display:block;font-size:clamp(26px,3vw,34px);letter-spacing:-.03em;color:#14181F;line-height:1.05}
html body .dxb-stats span{display:block;margin-top:6px;font-size:13.5px;color:#5B6472;line-height:1.45}
html body .dxb-explorer{padding:64px 0;background:#F5F6F8;border-top:1px solid #E3E6EA}
html body .dxb-tools{display:flex;flex-direction:column;align-items:center;gap:16px;margin:28px auto 30px;max-width:900px}
html body .dxb-searchwrap{display:block;width:100%;max-width:560px}
html body .dxb-searchwrap .sr{position:absolute;left:-9999px}
html body .dxb-search{width:100%;padding:15px 18px 15px 46px;border:1.5px solid #D9DEE4;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6472' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 17px center/18px no-repeat;font-size:15.5px;color:#14181F;box-shadow:0 12px 30px -22px rgba(20,24,31,.4)}
html body .dxb-search:focus{outline:none;border-color:#14181F;box-shadow:0 0 0 3px rgba(20,24,31,.12)}
html body .dxb-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
html body .dxb-tabs button{padding:9px 16px;border:1.5px solid #D9DEE4;border-radius:999px;background:#fff;color:#14181F;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
html body .dxb-tabs button:hover{border-color:#14181F}
html body .dxb-tabs button.on{background:#14181F;border-color:#14181F;color:#fff}
html body .dxb-group{margin-top:34px}
html body .dxb-group[hidden]{display:none}
html body .dxb-group-h{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:10px 30px;align-items:end;margin-bottom:16px}
html body .dxb-group-h h3{margin:0;font-size:22px;letter-spacing:-.02em;color:#14181F;text-align:left}
html body .dxb-group-h p{margin:0;color:#5B6472;font-size:15px;text-align:left;max-width:none}
html body .dxb-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
html body .dxb-card{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #E3E6EA;border-radius:12px;padding:18px 20px;color:#14181F;text-decoration:none;position:relative;box-shadow:0 10px 26px -20px rgba(20,24,31,.35);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
html body .dxb-card[hidden]{display:none}
html body .dxb-card::after{content:'\2192';position:absolute;right:18px;top:16px;font-size:18px;font-weight:800;color:#B3121A;opacity:0;transform:translateX(-6px);transition:opacity .2s ease,transform .2s ease}
html body .dxb-card:hover{transform:translateY(-3px);border-color:#14181F;box-shadow:0 22px 40px -24px rgba(20,24,31,.42)}
html body .dxb-card:hover::after{opacity:1;transform:none}
html body .dxb-card .dxb-near{font-size:12.5px;font-weight:700;color:#5B6472}
html body .dxb-card b{font-size:16.5px;font-weight:800;line-height:1.3;letter-spacing:-.01em;padding-right:26px}
html body .dxb-card p{margin:0;font-size:13.5px;line-height:1.5;color:#5B6472;text-align:left}
html body .dxb-none{text-align:center;color:#5B6472;margin-top:26px}
html body .dxb-story{padding:64px 0}
html body .dxb-story.alt{background:#F5F6F8;border-top:1px solid #E3E6EA;border-bottom:1px solid #E3E6EA}
html body .dxb-split{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:44px;align-items:center}
html body .dxb-story.alt .dxb-split{grid-template-columns:1fr minmax(0,420px)}
html body .dxb-story.alt .dxb-photo{order:2}
html body .dxb-photo{margin:0;aspect-ratio:4/5;border-radius:16px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(20,24,31,.5)}
html body .dxb-photo.is-land{aspect-ratio:16/11}
html body .dxb-photo img{width:100%;height:100%;object-fit:cover;display:block}
html body .dxb-copy h2{text-align:left!important;margin-left:0!important;max-width:none!important}
html body .dxb-copy h2::before{margin-left:0!important}
html body .dxb-copy p,html body .dxb-copy li{text-align:left!important;margin-left:0!important;max-width:none!important}
html body .dxb-copy h3{text-align:left}
html body .dxb-rules{padding:64px 0}
html body .dxb-rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}
html body .dxb-rule{display:grid;grid-template-columns:52px 1fr;gap:6px 18px;background:#fff;border:1px solid #E3E6EA;border-radius:12px;padding:24px 24px 22px;box-shadow:0 18px 40px -28px rgba(20,24,31,.4)}
html body .dxb-rule i{grid-row:1/3;font-style:normal;font-weight:800;font-size:15px;color:#B3121A;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid #E3E6EA;background:#fff}
html body .dxb-rule h3{margin:0;font-size:18px;color:#14181F;text-align:left;align-self:center}
html body .dxb-rule p{margin:0;font-size:15px;line-height:1.6;color:#3D4552;text-align:left}
html body .dxb-leaves{padding:64px 0;background:#fff}
html body .dxb-leave-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
html body .dxb-leave{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #E3E6EA;border-radius:12px;padding:24px 22px;color:#14181F;text-decoration:none;box-shadow:0 18px 40px -28px rgba(20,24,31,.4);transition:transform .25s ease,box-shadow .25s ease,border-color .2s}
html body .dxb-leave:hover{transform:translateY(-4px);border-color:#14181F;box-shadow:0 26px 50px -26px rgba(20,24,31,.45)}
html body .dxb-leave b{font-size:18px;font-weight:800;letter-spacing:-.01em;line-height:1.25}
html body .dxb-leave p{margin:0;font-size:14.5px;line-height:1.6;color:#3D4552;text-align:left}
html body .dxb-leave span{margin-top:auto;padding-top:12px;border-top:1px solid #EEF0F3;font-size:13.5px;font-weight:700;color:#B3121A}
html body .dxb-leave span::after{content:' \2192'}
@media(max-width:980px){html body .dxb-rw-grid,html body .dxb-stats{grid-template-columns:1fr 1fr}html body .dxb-cards,html body .dxb-leave-grid{grid-template-columns:1fr 1fr}html body .dxb-split,html body .dxb-story.alt .dxb-split{grid-template-columns:1fr}html body .dxb-story.alt .dxb-photo{order:0}html body .dxb-photo,html body .dxb-photo.is-land{aspect-ratio:16/10;max-width:640px}html body .dxb-group-h{grid-template-columns:1fr}}
@media(max-width:640px){html body .dxb-rw-grid,html body .dxb-stats,html body .dxb-cards,html body .dxb-leave-grid,html body .dxb-rule-grid{grid-template-columns:1fr}html body .dxb-runways,html body .dxb-explorer,html body .dxb-story,html body .dxb-rules,html body .dxb-leaves{padding:44px 0}html body .dxb-rule{grid-template-columns:44px 1fr}}

/* ---- footer desks: one accordion, full width, one region open at a time -------------- */
html body .fdesks{display:block!important;grid-template-columns:none!important;columns:auto!important}
html body .fdesks details{display:block;width:100%;border-bottom:1px solid rgba(255,255,255,.1)}
html body .fdesks summary{padding:14px 0;font-size:15px}
html body .fdesks summary::after{color:#FF7075}
html body .fdesks .flinks{padding:4px 0 20px}
/* ---- the route map at full page width ------------------------------------------------ */
html body .obc-routemap{max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0;border-left:0;border-right:0}
html body .obc-routemap svg{width:100%;height:auto;display:block}
html body section > .wrap > h2 + p:not(.lead):not(.of-hub-lead){text-align:center;margin-left:auto;margin-right:auto;max-width:76ch}
/* ---- comparison columns: green ticks on the left, red crosses on the right ----------- */
html body .vs-col.no li::before,html body .vs-col.no h3 i,html body .vs-col.no h3 span,html body .vs-col.no h3 em,html body .vs-col.no .vi,html body .vs-col.no li i,html body .vs-col.no li span:first-child{color:#D71920!important;background:transparent!important;border-color:#D71920!important}
html body .vs-col.ok li::before,html body .vs-col.ok h3 i,html body .vs-col.ok h3 span,html body .vs-col.ok h3 em,html body .vs-col.ok .vi,html body .vs-col.ok li i,html body .vs-col.ok li span:first-child{color:#0F7A3D!important;background:transparent!important}

/* ---- hero copy on the light photo heroes is charcoal, never white ------------------- */
html body:not(.obc-courier-page) header.hero p,html body:not(.obc-courier-page) header.hero .lead,html body:not(.obc-courier-page) section.hero:not(#top) p,html body:not(.obc-courier-page) header.hero li{color:#2B323C!important;-webkit-text-fill-color:#2B323C}
html body:not(.obc-courier-page) header.hero .kick,html body:not(.obc-courier-page) header.hero .tag,html body:not(.obc-courier-page) header.hero .k{color:#14181F!important;-webkit-text-fill-color:#14181F}
html body:not(.obc-courier-page) header.hero a.s,html body:not(.obc-courier-page) header.hero a.ghost,html body:not(.obc-courier-page) header.hero .btn.ghost{color:#14181F!important;-webkit-text-fill-color:#14181F;border-color:#14181F}
/* ---- "where this page leads": white cards on the charcoal band --------------------- */
html body #obc-journey .jgrid a{background:#fff!important;border:1px solid #E3E6EA!important;border-radius:12px;padding:20px 20px 18px;color:#14181F!important;box-shadow:0 18px 40px -28px rgba(0,0,0,.6);transition:transform .2s ease,box-shadow .2s ease}
html body #obc-journey .jgrid a:hover{transform:translateY(-3px);box-shadow:0 26px 50px -26px rgba(0,0,0,.7)}
html body #obc-journey .jgrid a i{color:#5B6472!important;font-size:12.5px!important;font-weight:700}
html body #obc-journey .jgrid a b{color:#14181F!important;font-size:17px!important}
html body #obc-journey .jgrid a span{color:#3D4552!important;font-size:13.5px!important}
html body #obc-journey .jgrid a svg{stroke:#D71920!important;opacity:1!important}
html body #obc-journey .jkick{color:rgba(255,255,255,.7)!important;text-transform:none!important;letter-spacing:0!important;font-size:13.5px!important}
html body #obc-journey .jsub{color:rgba(255,255,255,.78)!important}
/* ---- the sample quotation is labelled as one ---------------------------------------- */
html body .qe-bar{position:relative}
html body .qe-badge{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:#D71920;color:#fff;font-size:11.5px;font-weight:800;padding:5px 10px;border-radius:999px;letter-spacing:0;text-transform:none;white-space:nowrap}
html body .qe-bar b{padding-right:230px}
@media(max-width:640px){html body .qe-badge{position:static;transform:none;display:inline-block;margin:6px 0 0}html body .qe-bar{flex-wrap:wrap}html body .qe-bar b{padding-right:0}}
/* ---- the site guide: our colours -------------------------------------------------- */
html body #hp-fab{background:#D71920;border:0;box-shadow:0 14px 30px -10px rgba(215,25,32,.6)}
html body #hp-fab svg{stroke:#fff!important}
html body #hp-head{background:#14181F;font-family:'Plus Jakarta Sans',Arial,sans-serif}
html body #hp-head span{color:rgba(255,255,255,.7)}
html body #hp-log{background:#F5F6F8}
html body .hp-u{background:#14181F}
html body .hp-b{border-color:#E3E6EA;color:#14181F}
html body .hp-links a{background:#D71920;color:#fff}
html body .hp-links a.alt{background:#fff;color:#B3121A;border-color:#B3121A}
html body #hp-in{border-color:#D9DEE4}
html body #hp-in:focus{outline:none;border-color:#14181F;box-shadow:0 0 0 3px rgba(20,24,31,.12)}
html body #hp-send{background:#D71920}
html body #hp-box{border-color:#E3E6EA;box-shadow:0 30px 70px -25px rgba(20,24,31,.45)}
html body #hp-note{color:#5B6472}
/* ---- homepage network: hubs as cards, destinations and districts as link columns ----- */
html body .hubs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:14px 0 30px}
html body .hubs a{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #E3E6EA;border-radius:12px;padding:18px 18px 16px;color:#14181F;text-decoration:none;box-shadow:0 14px 34px -26px rgba(20,24,31,.4);transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
html body .hubs a:hover{transform:translateY(-3px);border-color:#14181F;box-shadow:0 22px 44px -24px rgba(20,24,31,.42)}
html body .hubs a b{font-size:26px;letter-spacing:-.03em;color:#14181F;line-height:1}
html body .hubs a span{font-size:13px;color:#5B6472;margin-top:2px}
html body .chips.linklist{display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px;margin:10px 0 30px}
html body .chips.linklist a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border:0!important;border-bottom:1px solid #E3E6EA!important;border-radius:0!important;background:transparent!important;color:#14181F!important;font-size:14.5px;font-weight:600;text-decoration:none}
html body .chips.linklist a::after{content:'\2192';color:#B3121A;font-weight:800;opacity:0;transition:opacity .15s,transform .15s;transform:translateX(-4px)}
html body .chips.linklist a:hover{color:#B3121A!important}
html body .chips.linklist a:hover::after{opacity:1;transform:none}
html body p.h3s{font-size:15px;font-weight:800;color:#14181F;margin:26px 0 8px;text-align:left!important;letter-spacing:0;text-transform:none}
@media(max-width:900px){html body .hubs{grid-template-columns:repeat(2,1fr)}html body .chips.linklist{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){html body .hubs{grid-template-columns:1fr 1fr}html body .chips.linklist{grid-template-columns:1fr}}
html body #obc-vs .vs-btns,html body .vs-btns,html body .vs-note+.vs-btns{display:flex;justify-content:center;text-align:center;margin-top:22px}
html body .vs-note{text-align:center;max-width:76ch;margin:22px auto 0}

/* ---- airport directory: search, letter index, cards with the code up front ----------- */
html body .apt-tools{display:flex;flex-direction:column;align-items:center;gap:14px;margin:26px auto 26px;max-width:960px}
html body .apt-searchwrap{display:block;width:100%;max-width:560px}
html body .apt-searchwrap .sr{position:absolute;left:-9999px}
html body .apt-search{width:100%;padding:15px 18px 15px 46px;border:1.5px solid #D9DEE4;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6472' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 17px center/18px no-repeat;font-size:15.5px;color:#14181F;box-shadow:0 12px 30px -22px rgba(20,24,31,.4)}
html body .apt-search:focus{outline:none;border-color:#14181F;box-shadow:0 0 0 3px rgba(20,24,31,.12)}
html body .apt-letters{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
html body .apt-letters button{min-width:38px;padding:8px 10px;border:1.5px solid #D9DEE4;border-radius:999px;background:#fff;color:#14181F;font-size:13.5px;font-weight:700;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
html body .apt-letters button:hover{border-color:#14181F}
html body .apt-letters button.on{background:#14181F;border-color:#14181F;color:#fff}
html body #obc-aptdir .aptgrid-all{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
html body #obc-aptdir .aptgrid-all a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:14px;align-items:start;background:#fff;border:1px solid #E3E6EA;border-radius:12px;padding:16px 18px;color:#14181F;text-decoration:none;box-shadow:0 10px 26px -20px rgba(20,24,31,.35);transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
html body #obc-aptdir .aptgrid-all a[hidden]{display:none}
html body #obc-aptdir .aptgrid-all a:hover{transform:translateY(-3px);border-color:#14181F;box-shadow:0 22px 40px -24px rgba(20,24,31,.42)}
html body #obc-aptdir .aptgrid-all a b{grid-column:2;font-size:16px;font-weight:800;line-height:1.25;color:#14181F;display:block}
html body #obc-aptdir .aptgrid-all a b span{grid-column:1;grid-row:1/4;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:10px;background:#14181F;color:#fff;font-size:15px;font-weight:800;letter-spacing:.02em;float:left;margin:0 14px 0 0}
html body #obc-aptdir .aptgrid-all a i{grid-column:2;font-style:normal;font-size:13.5px;color:#3D4552;line-height:1.4;margin-top:2px}
html body #obc-aptdir .aptgrid-all a em{grid-column:2;font-style:normal;font-size:12.5px;font-weight:700;color:#5B6472;margin-top:4px}
html body .apt-none{text-align:center;color:#5B6472;margin-top:26px}
@media(max-width:1000px){html body #obc-aptdir .aptgrid-all{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){html body #obc-aptdir .aptgrid-all{grid-template-columns:1fr}}

/* ---- the strip above the funnel: one tap on the deadline starts the quote ------------ */
html body .of-lead{background:#fff;border-top:1px solid #E3E6EA;border-bottom:1px solid #E3E6EA;padding:18px 0}
html body .of-lead .wrap{max-width:1140px;margin:0 auto;padding:0 22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px}
html body .of-lead-q b{display:block;font-size:17px;font-weight:800;color:#14181F;letter-spacing:-.01em}
html body .of-lead-q span{display:block;font-size:13.5px;color:#5B6472;margin-top:2px}
html body .of-lead-btns{display:flex;flex-wrap:wrap;gap:8px}
html body .of-lead-btns button{padding:11px 18px;border:1.5px solid #D9DEE4;border-radius:999px;background:#fff;color:#14181F;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .15s}
html body .of-lead-btns button:hover{border-color:#14181F;transform:translateY(-1px)}
html body .of-lead-btns button.on{background:#D71920;border-color:#D71920;color:#fff}
@media(max-width:700px){html body .of-lead .wrap{flex-direction:column;align-items:stretch}html body .of-lead-btns{display:grid;grid-template-columns:1fr 1fr}html body .of-lead-btns button{width:100%}}
/* ---- footer desks: region tabs over link columns ------------------------------------- */
html body .fdesk-wrap{padding:26px 0 8px;border-top:1px solid rgba(255,255,255,.1)}
html body .fdesk-title{margin:0 0 14px;font-size:15px;font-weight:800;color:#fff!important}
html body .fdesk-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
html body .fdesk-tabs button{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:transparent;color:rgba(255,255,255,.82);font-size:13.5px;font-weight:700;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
html body .fdesk-tabs button span{font-weight:600;color:rgba(255,255,255,.55);font-size:12.5px}
html body .fdesk-tabs button:hover{border-color:#fff;color:#fff}
html body .fdesk-tabs button.on{background:#fff;border-color:#fff;color:#14181F}
html body .fdesk-tabs button.on span{color:#5B6472}
html body .fdesk-panel{display:none;columns:5;column-gap:28px}
html body .fdesk-panel.on{display:block}
html body .fdesk-panel a{display:block;padding:5px 0;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:rgba(255,255,255,.78)!important;font-size:13.5px;text-decoration:none;break-inside:avoid}
html body .fdesk-panel a:hover{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){html body .fdesk-panel{columns:3}}
@media(max-width:560px){html body .fdesk-panel{columns:2}}
/* ---- airlines on the airport pages: cards, not chips -------------------------------- */
html body #obc-aplines .alwrap{max-width:1140px;margin:0 auto;padding:0 22px}
html body #obc-aplines .allead{text-align:center;max-width:76ch;margin:0 auto 30px}
html body #obc-aplines .algrp{margin-top:26px}
html body #obc-aplines .algrp h3{font-size:15px;font-weight:800;color:#5B6472;margin:0 0 12px;text-align:left}
html body #obc-aplines .alrow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
html body #obc-aplines .alrow a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;background:#fff;border:1px solid #E3E6EA!important;border-radius:10px;color:#14181F!important;font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 10px 26px -20px rgba(20,24,31,.35);transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
html body #obc-aplines .alrow a::after{content:'\2192';color:#B3121A;font-weight:800;opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .15s}
html body #obc-aplines .alrow a:hover{transform:translateY(-2px);border-color:#14181F!important;box-shadow:0 20px 40px -24px rgba(20,24,31,.4)}
html body #obc-aplines .alrow a:hover::after{opacity:1;transform:none}
html body #obc-aplines .alnote{text-align:center;max-width:76ch;margin:26px auto 0;color:#5B6472;font-size:14px}
@media(max-width:900px){html body #obc-aplines .alrow{grid-template-columns:1fr 1fr}}
@media(max-width:520px){html body #obc-aplines .alrow{grid-template-columns:1fr}}
/* ---- the story written for this page ------------------------------------------------ */
html body .obc-story{padding:64px 0;background:#fff;border-bottom:1px solid #E3E6EA}
html body .obc-story .wrap{max-width:1140px;margin:0 auto;padding:0 22px}
html body .st-grid{display:grid;grid-template-columns:1fr minmax(0,360px);gap:48px;align-items:start}
html body .st-kick{display:block;font-size:13.5px;font-weight:700;color:#5B6472;margin-bottom:8px}
html body .st-copy h2{text-align:left!important;margin:0 0 18px!important;max-width:none!important;font-size:clamp(1.6rem,2.8vw,2.2rem);letter-spacing:-.02em}
html body .st-copy h2::before{margin-left:0!important}
html body .st-copy p{text-align:left!important;margin:0 0 16px!important;max-width:none!important;font-size:16.5px;line-height:1.7;color:#2B323C}
html body .st-copy p:first-of-type::first-letter{font-size:3.1em;font-weight:800;float:left;line-height:.85;margin:6px 10px 0 0;color:#D71920}
html body .st-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:16px}
html body .st-photo{margin:0;aspect-ratio:4/3;border-radius:14px;overflow:hidden;box-shadow:0 26px 50px -30px rgba(20,24,31,.55)}
html body .st-photo img{width:100%;height:100%;object-fit:cover;display:block}
html body .st-facts{background:#fff;border:1px solid #E3E6EA;border-radius:12px;padding:6px 18px;box-shadow:0 14px 34px -26px rgba(20,24,31,.4)}
html body .st-fact{padding:12px 0;border-bottom:1px solid #EEF0F3}
html body .st-fact:last-child{border-bottom:0}
html body .st-fact span{display:block;font-size:12.5px;font-weight:700;color:#5B6472}
html body .st-fact b{display:block;font-size:14.5px;color:#14181F;line-height:1.45;margin-top:2px}
html body .st-cta{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:8px;background:#D71920;color:#fff!important;font-weight:800;font-size:15px;text-decoration:none;box-shadow:0 12px 26px -14px rgba(215,25,32,.6);position:relative;overflow:hidden;isolation:isolate}
html body .st-cta::after{content:'';position:absolute;top:-20%;bottom:-20%;right:-45%;width:38%;background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.32) 50%,rgba(255,255,255,0) 100%);transform:skewX(-18deg);pointer-events:none;animation:obcSheen 5.5s ease-in-out infinite;animation-delay:2s}
html body .st-cta:hover{background:#B3121A}
@media(max-width:900px){html body .st-grid{grid-template-columns:1fr;gap:28px}html body .st-side{position:static}html body .obc-story{padding:44px 0}}

/* ---- steps and definitions as a rail, not a wall of boxes --------------------------- */
html body .v2-defs,html body section > .wrap > .grid:has(> .card > .lhub){display:grid;grid-template-columns:1fr 1fr;gap:0 56px;margin-top:34px}
html body .v2-def,html body section > .wrap > .grid:has(> .card > .lhub) > .card{position:relative;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0 0 30px 44px!important;margin:0!important;transform:none!important}
html body .v2-def::before,html body .grid:has(> .card > .lhub) > .card::before{content:'';position:absolute;left:9px;top:8px;bottom:0;width:2px;background:#E3E6EA}
html body .v2-def::after,html body .grid:has(> .card > .lhub) > .card::after{content:'';position:absolute;left:3px;top:6px;width:14px;height:14px;border-radius:50%;background:#D71920;box-shadow:0 0 0 4px #fff,0 0 0 5px rgba(215,25,32,.25)}
html body .v2-def:last-child::before,html body .grid:has(> .card > .lhub) > .card:last-child::before{bottom:auto;height:0}
html body .v2-def h3,html body .grid:has(> .card > .lhub) > .card h3{margin:0 0 8px;font-size:19px;text-align:left;color:#14181F}
html body .v2-def p,html body .grid:has(> .card > .lhub) > .card p{margin:0;text-align:left;color:#3D4552;font-size:15.5px;line-height:1.65}
html body .grid:has(> .card > .lhub) > .card .lhub{display:block;font-size:13px;font-weight:700;color:#B3121A;margin-bottom:4px;text-transform:none;letter-spacing:0}
@media(max-width:820px){html body .v2-defs,html body section > .wrap > .grid:has(> .card > .lhub){grid-template-columns:1fr;gap:0}}

/* ---- every red button has white type, no exceptions ---------------------------------- */
html body .hp-btn.hp-red,html body .hp-btn.hp-red:visited,html body .hp-btn.hp-red:hover,html body a.p,html body a.p:visited,html body .of-bbtns a.p,html body .of-cta-row a.p,html body .btn-book,html body .qbtn,html body .oc-cta,html body .jb-btn,html body .jb-btn:visited,html body .funnel .btn,html body .obc-stickybar a.q,html body .of-btn:not(.of-wa),html body .st-cta,html body .nav .links a.cta,html body a.btn:not(.ghost):not(.wa):not(.mail),html body [class*="btn"][class*="red"],html body button[type="submit"],html body .dis-hero a.p,html body .uae-btns a,html body #obc-vs .vs-btns a.p{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .hp-btn.hp-red{background:#D71920!important;border-color:#D71920!important}
html body .hp-btn.hp-red:hover{background:#B3121A!important}
/* ---- the country desk navigation: a calm in-page bar, not a sticky one --------------- */
html body .desknav{position:static!important;top:auto!important;background:#fff;border-top:0;border-bottom:1px solid #E3E6EA;padding:0}
html body .desknav .wrap{display:flex;align-items:center;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:10px 22px;white-space:nowrap}
html body .desknav .wrap::-webkit-scrollbar{display:none}
html body .desknav .dlabel{font-size:13.5px;font-weight:800;color:#14181F;text-transform:none!important;letter-spacing:0!important;margin-right:10px;flex:0 0 auto}
html body .desknav a{flex:0 0 auto;padding:8px 14px;border-radius:999px;border:1px solid transparent;color:#3D4552!important;font-size:14px;font-weight:600;text-decoration:none;background:transparent!important}
html body .desknav a:hover{border-color:#D9DEE4;color:#14181F!important}
html body .desknav a.on{background:#14181F!important;color:#fff!important;border-color:#14181F}
/* ---- homepage sub-headings inside the network section -------------------------------- */
html body p.h3s{max-width:none!important;margin:34px 0 10px!important;font-size:20px;letter-spacing:-.01em}
/* ---- content in boxes on the desk pages becomes a rail ------------------------------- */
html body section > .wrap > .grid:has(> .card:not(a) > h3){display:grid;grid-template-columns:1fr 1fr;gap:0 56px;margin-top:30px}
html body section > .wrap > .grid:has(> .card:not(a) > h3) > .card:not(a){position:relative;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0 0 30px 44px!important;margin:0!important;transform:none!important}
html body section > .wrap > .grid:has(> .card:not(a) > h3) > .card:not(a)::before{content:'';position:absolute;left:9px;top:8px;bottom:0;width:2px;background:#E3E6EA}
html body section > .wrap > .grid:has(> .card:not(a) > h3) > .card:not(a)::after{content:'';position:absolute;left:3px;top:6px;width:14px;height:14px;border-radius:50%;background:#D71920;box-shadow:0 0 0 4px #fff,0 0 0 5px rgba(215,25,32,.25)}
html body section > .wrap > .grid:has(> .card:not(a) > h3) > .card:not(a) h3{margin:0 0 8px;font-size:19px;text-align:left;color:#14181F}
html body section > .wrap > .grid:has(> .card:not(a) > h3) > .card:not(a) p,html body section > .wrap > .grid:has(> .card:not(a) > h3) > .card:not(a) li{margin:0 0 6px;text-align:left;color:#3D4552;font-size:15.5px;line-height:1.65}
html body section > .wrap > .grid:has(> .card:not(a) > h3) > .card:not(a) > span:first-child,html body section > .wrap > .grid:has(> .card:not(a) > h3) > .card:not(a) .lhub{display:block;font-size:13px;font-weight:700;color:#B3121A;margin-bottom:4px;text-transform:none;letter-spacing:0}
@media(max-width:820px){html body section > .wrap > .grid:has(> .card:not(a) > h3){grid-template-columns:1fr;gap:0}}
/* ---- jobs pages: the friendly summary and the four steps ---------------------------- */
html body .jb-hero{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 45%,rgba(255,255,255,.55) 100%),url(/images/courier-walking.jpg) center 35%/cover no-repeat!important}
html body .jb-hero .wrap{max-width:1140px;margin:0 auto;padding:56px 22px}
html body .jb-hero h1{color:#14181F!important;max-width:18ch}
html body .jb-hero .lede{color:#2B323C!important;max-width:60ch}
html body .jb-kick{color:#14181F!important;text-transform:none!important;letter-spacing:0!important;font-weight:700}
html body .jb-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 26px;margin:26px 0;max-width:760px}
html body .jb-facts div{padding:12px 0;border-bottom:1px solid #E3E6EA}
html body .jb-facts span{display:block;font-size:12.5px;font-weight:700;color:#5B6472}
html body .jb-facts b{display:block;font-size:15px;color:#14181F;margin-top:2px}
html body .jb-apply{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
html body .jb-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:8px;background:#D71920!important;font-size:15.5px;font-weight:800;text-decoration:none;box-shadow:0 12px 26px -14px rgba(215,25,32,.6)}
html body .jb-posted{font-size:13.5px;color:#5B6472;max-width:46ch}
html body .jb-plain{padding:56px 0;background:#fff;border-bottom:1px solid #E3E6EA}
html body .jb-plain .wrap{max-width:1140px;margin:0 auto;padding:0 22px}
html body .jb-three{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 40px;padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid #E3E6EA}
html body .jb-three b{display:block;font-size:18px;color:#14181F;letter-spacing:-.01em;margin-bottom:6px;padding-left:18px;position:relative}
html body .jb-three b::before{content:'';position:absolute;left:0;top:.45em;width:8px;height:8px;border-radius:50%;background:#D71920}
html body .jb-three span{display:block;font-size:15px;line-height:1.6;color:#3D4552;padding-left:18px}
html body .jb-plain h2{text-align:center;margin:0 auto 26px}
html body .jb-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0 26px;margin-bottom:34px}
html body .jb-step{position:relative;padding:0 0 0 0}
html body .jb-step i{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#14181F;color:#fff;font-style:normal;font-weight:800;font-size:15px;margin-bottom:14px;position:relative;z-index:1}
html body .jb-step::before{content:'';position:absolute;left:40px;right:-26px;top:19px;height:2px;background:#E3E6EA}
html body .jb-step:last-child::before{display:none}
html body .jb-step h3{margin:0 0 6px;font-size:17px;color:#14181F;text-align:left}
html body .jb-step p{margin:0;font-size:14.5px;line-height:1.6;color:#3D4552;text-align:left}
html body .jb-plain .of-bbtns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
html body .jb-plain .of-bbtns a{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:8px;font-weight:700;font-size:15px;text-decoration:none;border:1.5px solid transparent}
html body .jb-plain .of-bbtns a.p{background:#D71920;border-color:#D71920}
html body .jb-plain .of-bbtns a.s{background:#fff;color:#14181F!important;border-color:#14181F}
@media(max-width:900px){html body .jb-three,html body .jb-steps{grid-template-columns:1fr;gap:22px}html body .jb-step::before{display:none}html body .jb-facts{grid-template-columns:1fr 1fr}html body .jb-hero{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.9)),url(/images/courier-walking.jpg) center/cover no-repeat!important}}

/* ---- footer desks, quieter: text tabs with an underline, six columns of plain links ---- */
html body .fdesk-wrap{padding:30px 0 10px}
html body .fdesk-title{font-size:13.5px;font-weight:700;color:rgba(255,255,255,.6)!important;margin-bottom:10px}
html body .fdesk-tabs{gap:0 26px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}
html body .fdesk-tabs button{padding:8px 0 12px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent!important;color:rgba(255,255,255,.7);font-size:14px;font-weight:700;margin-bottom:-1px}
html body .fdesk-tabs button span{color:rgba(255,255,255,.4)}
html body .fdesk-tabs button:hover{color:#fff;border-color:rgba(255,255,255,.35)}
html body .fdesk-tabs button.on{color:#fff;border-bottom-color:#D71920;background:transparent!important}
html body .fdesk-tabs button.on span{color:rgba(255,255,255,.55)}
html body .fdesk-panel{columns:6;column-gap:22px}
html body .fdesk-panel a{padding:3px 0;font-size:12.5px;color:rgba(255,255,255,.62)!important}
@media(max-width:1000px){html body .fdesk-panel{columns:4}}
@media(max-width:700px){html body .fdesk-panel{columns:2}html body .fdesk-tabs{gap:0 16px}}
/* ---- a lone link under a text block sits centred, as a quiet button ------------------ */
html body section > .wrap > .chips,html body section > .wrap > div > .chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px auto 0}
html body section > .wrap .chips > a{display:inline-flex;align-items:center;padding:12px 20px;border:1.5px solid #14181F!important;border-radius:8px;background:#fff!important;color:#14181F!important;font-weight:700;font-size:15px;text-decoration:none}
html body section > .wrap .chips > a:hover{background:#14181F!important;color:#fff!important}
html body .chips.linklist > a{border:0!important;border-bottom:1px solid #E3E6EA!important;border-radius:0!important;padding:9px 0;font-weight:600;background:transparent!important}
html body .chips.linklist > a:hover{background:transparent!important;color:#B3121A!important}
html body .jb-facts span,html body .jb-kick,html body .jb-posted{text-transform:none!important;letter-spacing:0!important}
html body .jb-kick{display:inline-block;padding:6px 12px;border:1px solid #E3E6EA;border-radius:999px;background:#fff;font-size:13px}
html body .desknav .wrap{flex-wrap:nowrap!important;justify-content:flex-start;max-width:1140px}
html body .jb-plain h2,html body .jb-plain h3,html body .jb-plain b{color:#14181F!important;-webkit-text-fill-color:#14181F}
html body .jb-plain .of-bbtns a.p{color:#fff!important;-webkit-text-fill-color:#fff}

/* ---- the Onepage register: air, hairlines, big type, few borders --------------------- */
html body section:not(.of-wrap):not(.of-mid):not(.hero):not(.jb-hero):not(#quote-form){padding-top:76px;padding-bottom:76px}
html body section > .wrap > h2,html body .obc-air h2,html body .dxb-runways h2,html body .dxb-rules h2,html body .dxb-leaves h2,html body .jb-plain h2{font-size:clamp(1.75rem,3.2vw,2.5rem);letter-spacing:-.025em;line-height:1.14;margin-bottom:14px}
html body section > .wrap > p.lead,html body .obc-air .lead,html body .dxb-runways .lead,html body .dxb-rules .lead{font-size:17.5px;line-height:1.65;color:#5B6472;max-width:64ch}
html body section > .wrap > h2 + p.lead{margin-bottom:38px}
/* stats: the number carries the block, the label whispers */
html body .stats,html body .dxb-stats,html body .ostats,html body .st-row{border-top:1px solid #E3E6EA;border-bottom:1px solid #E3E6EA;padding:30px 0}
html body .stats b,html body .dxb-stats b,html body .ostats b,html body .stat b,html body .stat-n{font-size:clamp(30px,4vw,44px);letter-spacing:-.035em;line-height:1;color:#14181F}
html body .stats span,html body .dxb-stats span,html body .ostats span,html body .stat span,html body .stat-label{font-size:13.5px;color:#5B6472;letter-spacing:0;text-transform:none;font-weight:600}
html body .dxb-stats{border-top:1px solid #E3E6EA;margin-top:44px;padding-top:34px}
/* the runway cards lose their frames and become hairline columns */
html body .dxb-rw-grid{gap:0;border-top:1px solid #E3E6EA}
html body .dxb-rw{background:transparent;border:0;border-bottom:1px solid #E3E6EA;border-radius:0;box-shadow:none!important;padding:26px 30px 26px 0;transform:none!important}
html body .dxb-rw:hover{transform:none!important;box-shadow:none!important}
html body .dxb-rw > b{font-size:15px;font-weight:800;color:#B3121A;letter-spacing:0}
html body .dxb-rw h3{font-size:20px;margin:2px 0 4px}
html body .dxb-rw > span{border-top:0;padding-top:6px;color:#5B6472;font-weight:600}
@media(min-width:981px){html body .dxb-rw-grid{grid-template-columns:repeat(2,1fr);column-gap:56px}}
/* the airline cards: hairline columns, the carrier name as the anchor */
html body .obc-air .air-grid{gap:0;border-top:1px solid #E3E6EA}
html body .obc-air .air-card{background:transparent;border:0;border-bottom:1px solid #E3E6EA;border-radius:0;box-shadow:none!important;padding:28px 32px 28px 0;transform:none!important}
html body .obc-air .air-card:hover{transform:none!important;box-shadow:none!important}
html body .obc-air .air-fact{border-top:0;padding-top:4px;color:#5B6472;font-weight:600}
html body .obc-air .air-tag{font-size:15px}
html body .obc-air .air-card h3{font-size:20px}
@media(min-width:981px){html body .obc-air .air-grid{grid-template-columns:repeat(3,1fr);column-gap:48px}}
/* the four collection rules: numbered rows on hairlines */
html body .dxb-rule-grid{gap:0;border-top:1px solid #E3E6EA}
html body .dxb-rule{background:transparent;border:0;border-bottom:1px solid #E3E6EA;border-radius:0;box-shadow:none;padding:26px 30px 26px 0}
html body .dxb-rule i{width:auto;height:auto;border:0;background:transparent;color:#B3121A;font-size:14px;font-weight:800;justify-content:flex-start;padding-top:3px}
@media(min-width:981px){html body .dxb-rule-grid{column-gap:56px}}
/* what leaves in a hurry: text links on hairlines, no card frames */
html body .dxb-leave-grid{gap:0;border-top:1px solid #E3E6EA}
html body .dxb-leave{background:transparent;border:0;border-bottom:1px solid #E3E6EA;border-radius:0;box-shadow:none!important;padding:26px 30px 26px 0;transform:none!important}
html body .dxb-leave:hover{transform:none!important;box-shadow:none!important}
html body .dxb-leave b{font-size:19px}
html body .dxb-leave span{border-top:0;padding-top:2px}
@media(min-width:981px){html body .dxb-leave-grid{grid-template-columns:repeat(3,1fr);column-gap:48px}}
/* the jobs summary: three hairline columns */
html body .jb-three{gap:0;border-top:1px solid #E3E6EA;border-bottom:1px solid #E3E6EA;padding:0;margin-bottom:44px}
html body .jb-three > div{padding:26px 30px 26px 0}
html body .jb-three b{padding-left:0}
html body .jb-three b::before{display:none}
html body .jb-three span{padding-left:0}
@media(min-width:901px){html body .jb-three{grid-template-columns:repeat(3,1fr);column-gap:48px}}
html body .st-photo.st-portrait{aspect-ratio:3/4}

/* ---- the reading rail: real articles, one swipe, a different set per page ------------ */
html body .obc-reads{background:#F5F6F8;border-top:1px solid #E3E6EA;padding:72px 0}
html body .obc-reads .wrap{max-width:1140px;margin:0 auto;padding:0 22px}
html body .rd-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
html body .rd-head h2{text-align:left!important;margin:0 0 10px!important;max-width:22ch}
html body .rd-head h2::before{margin-left:0!important}
html body .rd-head .lead{text-align:left!important;margin:0!important;max-width:62ch}
html body .rd-nav{display:flex;gap:8px;flex:0 0 auto}
html body .rd-nav button{width:46px;height:46px;border-radius:50%;border:1.5px solid #D9DEE4;background:#fff;color:#14181F;font-size:18px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
html body .rd-nav button:hover{border-color:#14181F;background:#14181F;color:#fff}
html body .rd-nav button[disabled]{opacity:.35;cursor:default;border-color:#E3E6EA;background:#fff;color:#14181F}
html body .rd-rail{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(310px,340px);grid-template-columns:none!important;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:6px}
html body .rd-rail::-webkit-scrollbar{display:none}
html body .rd-card{scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #E3E6EA;border-radius:12px;padding:24px 22px;color:#14181F!important;text-decoration:none;box-shadow:0 14px 34px -26px rgba(20,24,31,.4);transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
html body .rd-card:hover{transform:translateY(-3px);border-color:#14181F;box-shadow:0 24px 44px -24px rgba(20,24,31,.45)}
html body .rd-cat{font-size:12.5px;font-weight:700;color:#B3121A}
html body .rd-card h3{margin:0;font-size:18px;line-height:1.3;letter-spacing:-.01em;text-align:left;color:#14181F}
html body .rd-card p{margin:0;font-size:14.5px;line-height:1.6;color:#5B6472;text-align:left}
html body .rd-more{margin-top:auto;padding-top:12px;border-top:1px solid #EEF0F3;font-size:13px;font-weight:600;color:#5B6472}
html body .rd-all{margin-top:24px;text-align:center}
html body .rd-all a{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border:1.5px solid #14181F;border-radius:8px;color:#14181F!important;font-weight:700;font-size:15px;text-decoration:none}
html body .rd-all a:hover{background:#14181F;color:#fff!important}
html body .rd-all a::after{content:'\2192'}
@media(max-width:760px){html body .obc-reads{padding:48px 0}html body .rd-head{flex-direction:column;align-items:stretch}html body .rd-nav{display:none}html body .rd-rail{grid-auto-columns:minmax(84%,86%)}}
html body .mail .mh{position:relative;flex-wrap:wrap;gap:8px 14px;align-items:center}
html body .mail .mh .qe-badge{position:static;transform:none;order:-1;width:100%}

/* ---- inline light-red links the generator wrote: readable on light, light on dark ----- */
html body a[style*="E53A41" i],html body a[style*="E8343B" i],html body a[style*="EF5B61" i],html body a[style*="F7B4B7" i],html body a[style*="FF7075" i]{color:#B3121A!important;-webkit-text-fill-color:#B3121A}
html body footer a[style*="E53A41" i],html body footer a[style*="E8343B" i],html body footer a[style*="EF5B61" i],html body footer a[style*="FF7075" i],
html body .of-wrap a[style*="E53A41" i],html body .of-mid a[style*="E53A41" i],html body #obc-journey a[style*="E53A41" i],html body .cta-band a[style*="E53A41" i],
html body #quote-form a[style*="E53A41" i]{color:#FF7075!important;-webkit-text-fill-color:#FF7075}
html body .qe-bar .qe-badge{position:static!important;transform:none!important;display:inline-flex!important;align-items:center;width:auto!important;height:auto!important;min-width:0;flex:0 0 auto;order:9;margin-left:auto;padding:5px 11px!important;border-radius:999px!important;background:#D71920!important;color:#fff!important;-webkit-text-fill-color:#fff;font-style:normal;font-size:11.5px;font-weight:800;letter-spacing:0;text-transform:none;white-space:nowrap}
html body .qe-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
html body .qe-bar b{padding-right:0}
html body .st-photo{position:relative}
html body .st-credit{position:absolute;left:0;right:0;bottom:0;padding:16px 14px 8px;background:linear-gradient(180deg,rgba(20,24,31,0),rgba(20,24,31,.72));color:rgba(255,255,255,.9);font-size:11px;line-height:1.35}
html body .st-credit a{color:#fff!important;text-decoration:underline;text-underline-offset:2px}

/* ---- the rail: no dot where an icon or a number already marks the step --------------- */
html body section > .wrap > .grid > .card[data-rail]::after,html body section > .wrap > .grid > .card[data-rail]::before{display:none!important;content:none!important}
html body section > .wrap > .grid > .card[data-rail]{padding-left:0!important}
html body section > .wrap > .grid > .card[data-rail="num"] h3,html body .grid > .card[data-rail="num"] h3{color:#14181F}
html body section > .wrap > .grid > .card[data-rail="icon"] svg,html body section > .wrap > .grid > .card[data-rail="icon"] i{margin-bottom:12px}
/* ---- the route map: a centred block, not a full-bleed band --------------------------- */
html body figure.lane-art,html body .pwrap figure.lane-art,html body .wrap figure.lane-art{margin:26px 0 34px!important;grid-column:1/-1!important;column-span:all;width:100%!important;max-width:none!important;float:none!important;order:-1}
html body .obc-routemap{position:relative;left:50%;transform:translateX(-50%);width:100vw;max-width:100vw;margin:0;border:0;border-top:1px solid #E3E6EA;border-bottom:1px solid #E3E6EA;border-radius:0;overflow:hidden;box-shadow:none}
html body .obc-routemap + figcaption,html body .obc-routemap ~ figcaption{text-align:center;max-width:70ch;margin:16px auto 0}
html body .obc-routemap svg{width:100%;height:auto;display:block}
html body .obc-routemap + figcaption,html body figure:has(> .obc-routemap) figcaption,html body .obc-routemap-cap{text-align:center;max-width:70ch;margin:14px auto 0;color:#5B6472;font-size:14px}
html body section > .wrap > .grid > .card[data-rail="label"] > span:first-child,html body section > .wrap > .grid > .card[data-rail="label"] > small:first-child{color:#B3121A;font-weight:700;font-size:13px;letter-spacing:0;text-transform:none}

/* ---- "In detail": a lead, then two columns, instead of one long wall ------------------ */
html body .dt-lead{font-size:19px!important;line-height:1.62;color:#14181F!important;max-width:74ch;margin:0 auto 28px!important;text-align:left!important}
html body .dt-cols{columns:2;column-gap:52px;max-width:1080px;margin:0 auto}
html body .dt-cols p{break-inside:avoid;margin:0 0 16px!important;text-align:left!important;max-width:none!important;color:#3D4552;font-size:16px;line-height:1.68}
html body .dt-cols p:first-child::first-letter{font-size:2.6em;font-weight:800;float:left;line-height:.86;margin:5px 9px 0 0;color:#D71920}
@media(max-width:820px){html body .dt-cols{columns:1}html body .dt-lead{font-size:17.5px!important}}

/* ---- the closing band on the blog: white type on the dark ground, red and white buttons ---- */
html body .pnext{background:#14181F;padding:64px 0}
html body .pnext .wrap{max-width:900px;margin:0 auto;padding:0 22px;text-align:center}
html body .pnext h2{color:#fff!important;-webkit-text-fill-color:#fff;text-align:center;margin:0 auto 12px}
html body .pnext h2 em{color:#FF7075!important}
html body .pnext p{color:rgba(255,255,255,.82)!important;text-align:center;max-width:66ch;margin:0 auto 26px}
html body .pnext a{display:inline-flex;align-items:center;justify-content:center;margin:0 6px;padding:14px 24px;border-radius:8px;background:#D71920;color:#fff!important;-webkit-text-fill-color:#fff;border:1.5px solid #D71920;font-weight:700;font-size:15px;text-decoration:none}
html body .pnext a:hover{background:#B3121A;border-color:#B3121A}
html body .pnext a.ghost{background:transparent;border-color:rgba(255,255,255,.5);color:#fff!important}
html body .pnext a.ghost:hover{background:#fff;color:#14181F!important;-webkit-text-fill-color:#14181F;border-color:#fff}
@media(max-width:600px){html body .pnext a{display:flex;width:100%;margin:8px 0}}

/* ---- the heritage quote card: readable on the photograph, on every screen ------------- */
html body .obc-her .hpanel{position:relative;margin:0;border-radius:14px;overflow:hidden}
html body .obc-her .hart{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92)}
html body .obc-her .hquote{position:absolute;left:0;right:0;bottom:0;padding:34px 28px 26px;background:linear-gradient(180deg,rgba(20,24,31,0) 0%,rgba(20,24,31,.72) 42%,rgba(20,24,31,.94) 100%)}
html body .obc-her .hquote blockquote{margin:0 0 10px;color:#fff!important;-webkit-text-fill-color:#fff;font-size:clamp(17px,2.2vw,22px);line-height:1.42;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.35)}
html body .obc-her .hquote cite{display:block;font-style:normal;color:#FFB3B6!important;-webkit-text-fill-color:#FFB3B6;font-size:13.5px;font-weight:700;letter-spacing:0;text-transform:none}
@media(max-width:760px){html body .obc-her .hquote{padding:26px 20px 20px;background:linear-gradient(180deg,rgba(20,24,31,.15) 0%,rgba(20,24,31,.8) 38%,rgba(20,24,31,.96) 100%)}html body .obc-her .hquote blockquote{font-size:17px}}

/* ---- the three ways to move it: a page-builder price table without prices ------------- */
html body .obc-plans{padding:76px 0;background:#F5F6F8;border-top:1px solid #E3E6EA}
html body .obc-plans .wrap{max-width:1140px;margin:0 auto;padding:0 22px}
html body .obc-plans h2{text-align:center;margin:0 auto 12px}
html body .obc-plans .lead{text-align:center;margin:0 auto 38px;max-width:70ch}
html body .pl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
html body .pl-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid #E3E6EA;border-radius:14px;padding:30px 26px 26px;box-shadow:0 18px 44px -30px rgba(20,24,31,.4)}
html body .pl-card.pl-mid{background:#14181F;border-color:#14181F;box-shadow:0 26px 54px -26px rgba(20,24,31,.6);transform:translateY(-8px)}
html body .pl-kick{font-size:13px;font-weight:700;color:#B3121A}
html body .pl-card.pl-mid .pl-kick{color:#FF7075}
html body .pl-card h3{margin:0 0 6px;font-size:22px;letter-spacing:-.02em;color:#14181F;text-align:left}
html body .pl-card.pl-mid h3{color:#fff}
html body .pl-card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
html body .pl-card li{position:relative;padding-left:26px;font-size:15px;line-height:1.55;color:#3D4552;text-align:left}
html body .pl-card li::before{content:'';position:absolute;left:0;top:.45em;width:13px;height:8px;border-left:2.5px solid #0F7A3D;border-bottom:2.5px solid #0F7A3D;transform:rotate(-45deg)}
html body .pl-card.pl-mid li{color:rgba(255,255,255,.84)}
html body .pl-card.pl-mid li::before{border-color:#5BD08A}
html body .pl-note{margin:14px 0 0;font-size:14px;color:#5B6472;text-align:left}
html body .pl-card.pl-mid .pl-note{color:rgba(255,255,255,.66)}
html body .pl-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border-radius:8px;border:1.5px solid #14181F;background:#fff;color:#14181F!important;font-weight:700;font-size:15px;text-decoration:none}
html body .pl-cta:hover{background:#14181F;color:#fff!important}
html body .pl-card.pl-mid .pl-cta{background:#D71920;border-color:#D71920;color:#fff!important}
html body .pl-card.pl-mid .pl-cta:hover{background:#B3121A;border-color:#B3121A}
html body .pl-foot{text-align:center;margin:30px auto 0;max-width:70ch;color:#5B6472;font-size:14px}
@media(max-width:980px){html body .pl-grid{grid-template-columns:1fr;gap:16px}html body .pl-card.pl-mid{transform:none}html body .obc-plans{padding:52px 0}}

/* ---- the cover strip: three facts under the hero, Onepage style --------------------- */
html body .hfacts-band{background:#fff;border-bottom:1px solid #E3E6EA;padding:26px 0}
html body .hfacts-band .wrap{max-width:1140px;margin:0 auto;padding:0 22px;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:0 32px;align-items:center}
html body .hfacts-band div{padding:4px 26px 4px 0;border-right:1px solid #E3E6EA}
html body .hfacts-band div:nth-child(3){border-right:0}
html body .hfacts-band span{display:block;font-size:12.5px;font-weight:700;color:#5B6472;margin-bottom:3px}
html body .hfacts-band b{display:block;font-size:15.5px;color:#14181F;line-height:1.4}
html body .hfacts-cta{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:8px;background:#D71920;color:#fff!important;-webkit-text-fill-color:#fff;font-weight:800;font-size:15px;text-decoration:none;white-space:nowrap}
html body .hfacts-cta:hover{background:#B3121A}
@media(max-width:900px){html body .hfacts-band .wrap{grid-template-columns:1fr;gap:0}html body .hfacts-band div{border-right:0;border-bottom:1px solid #E3E6EA;padding:12px 0}html body .hfacts-cta{margin-top:14px;width:100%}}
/* ---- the stat band: four numbers, hairlines, nothing else ---------------------------- */
html body .obc-stats{padding:44px 0;background:#fff;border-top:1px solid #E3E6EA}
html body .obc-stats .wrap{max-width:1140px;margin:0 auto;padding:0 22px;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
html body .obc-stats div{padding:6px 24px;border-left:1px solid #E3E6EA;text-align:left}
html body .obc-stats div:first-child{border-left:0;padding-left:0}
html body .obc-stats b{display:block;font-size:clamp(30px,4vw,44px);letter-spacing:-.035em;line-height:1;color:#14181F}
html body .obc-stats span{display:block;margin-top:8px;font-size:13.5px;color:#5B6472;line-height:1.45;max-width:22ch}
@media(max-width:820px){html body .obc-stats .wrap{grid-template-columns:1fr 1fr;gap:22px 0}html body .obc-stats div:nth-child(3){border-left:0;padding-left:0}}
/* ---- the FAQ in two columns, the way a builder sets an accordion --------------------- */
@media(min-width:981px){
  html body section:has(> .wrap > details) > .wrap > details,html body .faqs,html body .faq-list{columns:2;column-gap:44px}
  html body section:has(> .wrap > details) > .wrap > details{break-inside:avoid}
}

/* ---- mobile: nothing may sit on top of the funnel ------------------------------------ */
@media(max-width:760px){
  html body{padding-bottom:84px}
  html body .obc-stickybar{transition:transform .25s ease;will-change:transform}
  html.obc-hidebar body .obc-stickybar{transform:translateY(130%)}
  html body #hp-fab{bottom:calc(84px + 14px)!important}
  html.obc-hidebar body #hp-fab{bottom:18px!important}
  html body #hp-box{bottom:calc(84px + 76px)!important;max-height:64vh}
  html body .of-wrap,html body #quote{scroll-margin-top:80px}
}
@media(min-width:761px){html body #hp-fab{bottom:20px}}

/* ---- questions and answers: open on the page, two calm columns, no boxes -- */
html body .obc-qa{display:block;columns:2 330px;column-gap:48px;max-width:1080px;margin:24px auto 0;text-align:left}
html body .obc-qa .qa{padding:20px 0 18px;border-top:1px solid #E3E6EA;break-inside:avoid;-webkit-column-break-inside:avoid;display:block}
html body .obc-qa .qa:first-child{border-top:0;padding-top:6px}
html body .obc-qa .qa-q{display:flex;gap:12px;align-items:baseline;margin:0 0 9px;font-size:16px;line-height:1.35;font-weight:800;color:#14181F}
html body .obc-qa .qa-n{flex:none;color:#D71920;font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums}
html body .obc-qa .qa-a{margin:0 0 9px;padding:0;font-size:15px;line-height:1.72;color:#3D4552;max-width:64ch}
html body .obc-qa .qa-a:last-child{margin-bottom:0}
@media(max-width:820px){
  html body .obc-qa{columns:1}
  html body .obc-qa .qa-a{font-size:14.5px}
}

/* ---- long copy, packaged: a lead, then numbered notes, never a grey wall -- */
html body .obc-essay{background:#fff;padding:56px 22px}
html body .obc-essay .pwrap{max-width:1080px;margin:0 auto;padding:0}
html body .obc-essay h2{text-align:center;margin:0 0 12px}
html body .pr-lead{max-width:74ch;margin:0 auto 6px;text-align:center;font-size:17px;line-height:1.7;color:#3D4552}
html body .pr-grid{display:block;columns:2 330px;column-gap:48px;margin:14px auto 0;max-width:1080px;text-align:left}
html body .pr-item{display:block;padding:22px 0 18px;border-top:1px solid #E3E6EA;break-inside:avoid;-webkit-column-break-inside:avoid}
html body .pr-item:first-child{border-top:0;padding-top:10px}
html body .pr-n{display:block;margin:0 0 7px;color:#D71920;font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums}
html body .pr-item h3{margin:0 0 8px;font-size:16.5px;line-height:1.35;font-weight:800;color:#14181F}
html body .pr-item p{margin:0 0 11px;font-size:15px;line-height:1.72;color:#3D4552;max-width:64ch}
html body .pr-item p:last-child{margin-bottom:0}
html body .obc-essay .lane-art,html body .pr-grid+.lane-art{max-width:660px;margin:18px auto 4px}
@media(max-width:820px){
  html body .pr-grid{columns:1}
  html body .obc-essay{padding:44px 16px}
  html body .pr-lead{font-size:16px;text-align:left}
  html body .pr-item p{font-size:14.5px}
}

/* ---- the heritage band was almost black: the photograph carries it now ---- */
html body .obc-her .hpanel{background:#EDEFF2!important}
html body .obc-her img.hart,html body .obc-her .hart{opacity:1!important;filter:none!important;height:clamp(230px,28vw,340px)!important}
html body .obc-her .hpanel::before{background:linear-gradient(180deg,rgba(20,24,31,0) 44%,rgba(20,24,31,.08) 66%,rgba(20,24,31,.22) 100%)!important}
html body .obc-her .hquote,html body .obc-her .hquote.hq-right{top:auto!important;bottom:0!important;left:0!important;right:0!important;
  transform:none!important;padding:70px 28px 22px!important;text-align:left!important;
  background:linear-gradient(180deg,rgba(20,24,31,0) 0%,rgba(20,24,31,.34) 38%,rgba(20,24,31,.80) 100%)!important}
html body .obc-her .hquote blockquote{font-size:clamp(17px,1.9vw,22px)!important;max-width:64ch}
@media(max-width:760px){html body .obc-her .hquote,html body .obc-her .hquote.hq-right{padding:52px 18px 16px!important;position:absolute!important}
  html body .obc-her img.hart,html body .obc-her .hart{height:210px!important}}

/* ---- the phone menu: the quote button first, the list scrolls under it ---- */
@media(max-width:760px){
  html body .nav .links{flex-direction:column;padding:12px 20px 28px!important;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  html body .nav .links>*{flex:0 0 auto}
  html body .nav .links a.cta{order:-1;position:sticky;top:0;z-index:3;margin:0 0 8px!important;width:100%;text-align:center;
    padding:14px!important;font-size:15.5px!important;box-shadow:0 10px 18px -14px rgba(20,24,31,.6)}
  html body .nav .links a:not(.cta){font-size:15px;padding:12px 2px}
  html body .nav .links .oport-m{padding:12px 2px}
  html:has(#obc-nav-toggle:checked) body .obc-stickybar{display:none!important}
  html:has(#obc-nav-toggle:checked) body #hp-fab,html:has(#obc-nav-toggle:checked) body #hp-box{display:none!important}
  html:has(#obc-nav-toggle:checked) body{overflow:hidden}
}

/* ---- the desk cells: hairline and a red index, never a pink 3px bar ------- */
html body .xgrid,html body #obc-dxb .xgrid,html body .pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;counter-reset:dxb}
@media(max-width:860px){html body .xgrid,html body #obc-dxb .xgrid,html body .pgrid{grid-template-columns:minmax(0,1fr)}}
html body .dxb-cell,html body .pcell{border-top:1px solid #E3E6EA!important;padding:22px 0 18px!important;min-width:0}
html body .dxb-cell::before,html body .pcell::before{counter-increment:dxb;content:counter(dxb,decimal-leading-zero);
  display:block;margin:0 0 7px;color:#D71920;font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums}
html body .dxb-cell h3,html body .pcell h3{margin:0 0 8px;font-size:16.5px;line-height:1.35;font-weight:800;color:#14181F}
html body .dxb-cell p,html body .pcell p{margin:0 0 11px;font-size:15px;line-height:1.72;color:#3D4552;max-width:64ch}
html body .dxb-cell p:last-child,html body .pcell p:last-child{margin-bottom:0}

/* ---- the lists on lane and guide pages: hairline rows, a red index, no bullets ---- */
html body .lane-list{list-style:none;margin:18px auto 0;padding:0;max-width:1080px;display:block;columns:2 330px;column-gap:48px;text-align:left}
html body .lane-list li{position:relative;margin:0;padding:15px 0 14px 34px;border-top:1px solid #E3E6EA;
  font-size:15px;line-height:1.62;color:#3D4552;break-inside:avoid;-webkit-column-break-inside:avoid;display:block}
html body .lane-list li::marker{content:''}
html body .lane-list li::before{counter-increment:lane;content:counter(lane,decimal-leading-zero);position:absolute;left:0;top:16px;
  color:#D71920;font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
html body .lane-list{counter-reset:lane}
html body .lane-list li:first-child{border-top:0;padding-top:6px}
html body .lane-list li:first-child::before{top:7px}
html body .lane-list b,html body .lane-list strong{color:#14181F;font-weight:800}
@media(max-width:820px){html body .lane-list{columns:1}html body .lane-list li{font-size:14.5px}}

/* ---- the footer grid: six columns, and never one column left on its own ----
   The footer carries six headings (Services, Guides, Network, UAE collection,
   Couriers, Contact) while the generated pages force five tracks, so Contact
   dropped onto a row of its own and two thirds of that row was empty. Every
   count below divides six exactly, which is the whole point: 6, 3, 2, 1. */
/* The six column rule that used to live here forced its track list with
   !important, so the twelve column base further down never applied and the
   footer drew two groups per row. The layout is set once, at the end of
   this file, where the row arithmetic can refine it. */



html body footer .fgrid>div{min-width:0}
html body footer .fgrid a{overflow-wrap:anywhere}

/* ---- the booking asks who is booking: a company or a private person ------ */
html body .of-toggle{display:flex;gap:8px;margin-top:6px}
html body .of-toggle .of-w{flex:1;border:1.5px solid #E3E6EA;background:#fff;border-radius:8px;padding:11px 12px;
  font-size:14px;font-weight:700;color:#3D4552;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
html body .of-toggle .of-w:hover{border-color:#CBD0D8;color:#14181F}
html body .of-toggle .of-w.on{border-color:#D71920;background:#FDECEC;color:#B3121A}
@media(max-width:520px){html body .of-toggle{flex-direction:column}}

/* ---- where this leads: the internal links a reader can actually use ------ */
html body .obc-rel{background:#fff;padding:44px 22px;border-top:1px solid #E3E6EA}
html body .obc-rel .wrap{max-width:1080px;margin:0 auto;text-align:center}
html body .obc-rel h2{margin:0 0 8px}
html body .obc-rel .lead{margin:0 auto 18px;max-width:60ch}
html body .obc-rel .chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
@media(max-width:640px){html body .obc-rel{padding:34px 16px}}
html body .qf-who{grid-column:1/-1}
html body .qf-who>label{display:block;margin-bottom:4px}

/* ---- the departure board header: white type on the charcoal row ---------- */
/* `.air-row span` came later in the file with the same weight and turned the
   header labels grey on charcoal. The header wins now. */
html body .obc-air-board .air-row-h span,html body .obc-air-board .air-row-h b,
html body .obc-air-board .air-row-h em{color:rgba(255,255,255,.86)!important}
html body .obc-air-board .air-row-h{color:#fff}

/* ---- a form field saying no ----------------------------------------------
   The page's own <style> loses every colour to the purge, by design, so the
   red for a rejected field has to live here. Without it the message rendered
   in body grey and the funnel still looked like a dead button. */
html body .funnel .field-err{color:#8E0E14;font-size:13px;font-weight:600;line-height:1.45}
html body .funnel .field input.bad,
html body .funnel input.bad{border-color:#B3121A;background:#FEF2F2}
html body .funnel .field input.bad:focus{border-color:#8E0E14;outline-color:#B3121A}

/* ---- the funnel card's red top rule ---------------------------------------
   The card is rounded 12px but the red bar is a square cornered ::before, so
   it cut straight across both top corners and read as a line running out of
   the box. It follows the corner now. */
html body .funnel .card::before{border-top-left-radius:12px;border-top-right-radius:12px}

/* ---- the small print under a focus page -----------------------------------
   Light, centred and on one level. The first try was charcoal with grey type
   on it, and the theme's prose transformer then numbered the paragraphs 01 and
   02 and set them in two columns, which made a legal notice look like a
   feature grid. It is excluded from that transformer now, and forced flat here
   as well in case anything else tries. */
html body .obc-fineprint{background:#FAFBFC;border-top:1px solid #E6EAF0;padding:24px 0 28px}
html body .obc-fineprint .fp-in{display:block!important;max-width:760px;margin:0 auto;padding:0 22px;text-align:center}
html body .obc-fineprint .pr-grid{display:block!important}
html body .obc-fineprint .pr-item{display:block!important;margin:0 0 8px}
html body .obc-fineprint .pr-n{display:none!important}
html body .obc-fineprint p{margin:0 0 9px;counter-increment:none}
html body .obc-fineprint p:last-child{margin-bottom:0}
html body .obc-fineprint p::before{content:none!important;display:none!important}
html body .obc-fineprint .fp-line,html body .obc-fineprint .pr-lead{font-size:13.5px;line-height:1.65;color:#5B6472}
html body .obc-fineprint .fp-line a,html body .obc-fineprint .pr-lead a{color:#B3121A;font-weight:700;text-decoration:underline}
html body .obc-fineprint .fp-line a:hover,html body .obc-fineprint .pr-lead a:hover{color:#8E0E14}
html body .obc-fineprint .fp-small{font-size:11.5px;line-height:1.7;color:#8A919C}

/* ============================================================================
   Lane pages, second generation. Everything here is namespaced under .r2 so a
   page that does not carry the class cannot be touched by any of it, which is
   what lets the 343 lanes already ranking stay exactly as they are while the
   new ones look like this.

   The idea: a lane is a flight, so the page opens like a departure board and
   the facts are laid out like a timetable rather than as prose with numbers
   buried in it. Machines quote tables and short answers; people read boards.
   ========================================================================== */

html body .r2 *{box-sizing:border-box}

/* ---- the board -------------------------------------------------------- */
html body .r2-hero{position:relative;background:#0A1628;color:#fff;overflow:hidden;isolation:isolate}
html body .r2-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(1200px 420px at 78% 18%,rgba(215,25,32,.20),transparent 62%)}
html body .r2-hero .wrap{max-width:1120px;margin:0 auto;padding:52px 22px 44px}
html body .r2-kick{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;
  padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.16);
  font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#FFD9DB}
html body .r2-kick i{width:6px;height:6px;border-radius:50%;background:#4ADE80;font-style:normal;flex:none}

html body .r2-board{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;margin:0 0 26px}
html body .r2-board b{display:block;font-family:Sora,"Plus Jakarta Sans",system-ui,sans-serif;
  font-size:clamp(38px,7.4vw,68px);line-height:.94;font-weight:800;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums}
html body .r2-board span{display:block;margin-top:7px;font-size:12.5px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:#9FB0C6}
html body .r2-board .r2-leg{position:relative;height:2px;background:linear-gradient(90deg,#33415A 0 60%,transparent 60% 100%);
  background-size:9px 2px;background-repeat:repeat-x}
html body .r2-board .r2-leg::after{content:"";position:absolute;right:-2px;top:50%;transform:translateY(-50%);
  width:0;height:0;border-left:11px solid #D71920;border-top:6px solid transparent;border-bottom:6px solid transparent}
/* Centred with auto margins rather than translateX(-50%): the entry animation
   owns transform, and a keyframe that also carried the centring shifted the
   badge off the left edge of a phone. */
html body .r2-board .r2-leg em{position:absolute;left:0;right:0;margin-inline:auto;
  width:max-content;top:-27px;
  white-space:nowrap;font-style:normal;font-size:12px;font-weight:800;color:#fff;
  background:#D71920;padding:3px 10px;border-radius:999px}

html body .r2-hero h1{margin:0 0 12px;font-size:clamp(23px,3.5vw,35px);line-height:1.18;
  font-weight:800;letter-spacing:-.015em;color:#fff;max-width:22ch}
html body .r2-hero h1 em{font-style:normal;color:#FF6B72}
html body .r2-hero .r2-lede{margin:0;max-width:64ch;font-size:16.5px;line-height:1.68;color:#C7D2E0}

/* three numbers that answer the first three questions anybody asks */
html body .r2-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:1px;
  margin:30px 0 0;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:10px;overflow:hidden}
html body .r2-metrics div{background:#0D1B2E;padding:16px 18px}
html body .r2-metrics dt,html body .r2-metrics p:first-child{margin:0;font-size:11px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;color:#8FA3BC}
html body .r2-metrics dd,html body .r2-metrics p:last-child{margin:5px 0 0;font-size:19px;font-weight:800;
  color:#fff;font-variant-numeric:tabular-nums;line-height:1.25}

html body .r2-hero .btns{margin:26px 0 0}

/* ---- jump bar: a 2,500 word page needs a way in --------------------- */
html body .r2-jump{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(160%) blur(9px);border-bottom:1px solid #E3E6EA}
html body .r2-jump ul{display:flex;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;
  max-width:1120px;margin:0 auto;padding:0 14px;list-style:none;scrollbar-width:none}
html body .r2-jump ul::-webkit-scrollbar{display:none}
html body .r2-jump a{display:block;padding:13px 12px;white-space:nowrap;font-size:13.5px;
  font-weight:700;color:#5B6472;border-bottom:2px solid transparent;text-decoration:none}
html body .r2-jump a:hover{color:#B3121A;border-bottom-color:#FDECEC}

/* ---- the short answer, written to be quoted -------------------------- */
html body .r2-answer{background:#fff;border:1px solid #E3E6EA;border-left:4px solid #D71920;
  border-radius:8px;padding:26px 28px;max-width:860px;margin:0 auto}
html body .r2-answer p.r2-a{margin:0;font-size:19px;line-height:1.62;color:#14181F;font-weight:600}
html body .r2-answer p.r2-a strong{color:#B3121A}
html body .r2-answer .r2-by{margin:16px 0 0;padding-top:13px;border-top:1px solid #EEF0F3;
  font-size:12.5px;color:#8A919C}

/* ---- the timetable ---------------------------------------------------- */
html body .r2 .r2-spec{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;
  background:#fff;border:1px solid #E3E6EA;border-radius:8px;overflow:hidden}
html body .r2 .r2-spec th{background:#F5F6F8;text-align:left;padding:12px 15px;
  font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5B6472;
  border-bottom:1px solid #E3E6EA;white-space:nowrap}
html body .r2 .r2-spec td{padding:13px 15px;border-bottom:1px solid #EEF0F3;color:#3D4552;
  line-height:1.58;vertical-align:top}
html body .r2 .r2-spec tbody tr:last-child td{border-bottom:0}
html body .r2 .r2-spec td:first-child{font-weight:700;color:#14181F;white-space:nowrap}
html body .r2 .r2-spec .num{font-variant-numeric:tabular-nums;white-space:nowrap}
html body .r2-code{display:inline-block;min-width:30px;padding:2px 7px;margin-right:8px;
  border-radius:4px;background:#14181F;color:#fff;font-size:11.5px;font-weight:800;
  letter-spacing:.04em;text-align:center;font-variant-numeric:tabular-nums}

/* ---- the assignment, hour by hour ------------------------------------ */
html body .r2-time{list-style:none;margin:0;padding:0;position:relative}
html body .r2-time::before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:2px;background:#E3E6EA}
html body .r2-time li{position:relative;padding:0 0 22px 34px}
html body .r2-time li:last-child{padding-bottom:0}
html body .r2-time li::before{content:"";position:absolute;left:2px;top:5px;width:14px;height:14px;
  border-radius:50%;background:#fff;border:3px solid #D71920}
html body .r2-time li.done::before{background:#D71920}
html body .r2-time h3{margin:0 0 4px;font-size:15.5px;font-weight:800;color:#14181F;line-height:1.35}
html body .r2-time .r2-at{display:inline-block;margin-right:9px;padding:1px 8px;border-radius:4px;
  background:#FDECEC;color:#B3121A;font-size:11.5px;font-weight:800;font-variant-numeric:tabular-nums}
html body .r2-time p{margin:0;font-size:14.5px;line-height:1.65;color:#3D4552;max-width:62ch}

/* ---- what goes wrong, and the answer to it --------------------------- */
html body .r2-risks{display:grid;gap:14px;margin:0;padding:0;list-style:none}
html body .r2-risks li{display:grid;grid-template-columns:minmax(180px,.85fr) 1.15fr;gap:0;
  background:#fff;border:1px solid #E3E6EA;border-radius:8px;overflow:hidden}
html body .r2-risks b{display:block;padding:16px 18px;background:#F5F6F8;border-right:1px solid #E3E6EA;
  font-size:14.5px;font-weight:800;color:#14181F;line-height:1.45}
html body .r2-risks span{display:block;padding:16px 18px;font-size:14.5px;line-height:1.65;color:#3D4552}

/* ---- sector chips ----------------------------------------------------- */
html body .r2-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
html body .r2-chips a{display:inline-block;padding:8px 14px;border-radius:999px;background:#fff;
  border:1px solid #E3E6EA;font-size:13.5px;font-weight:700;color:#14181F;text-decoration:none}
html body .r2-chips a:hover{border-color:#D71920;color:#B3121A;background:#FDECEC}

@media(max-width:820px){
  html body .r2-hero .wrap{padding:40px 16px 34px}
  /* The route badge is wider than the middle column can ever be on a phone, so
     it used to sit on top of both airport codes. Below 820 the two codes share
     one row and the leg gets a row of its own underneath, badge left aligned. */
  html body .r2-board{grid-template-columns:1fr 1fr;gap:16px 18px;margin-bottom:30px}
  html body .r2-board .r2-leg{grid-column:1 / -1;order:3;margin-top:26px}
  html body .r2-board .r2-leg em{right:auto;margin-inline:0;top:-27px;font-size:11.5px}
  html body .r2-answer{padding:20px 18px}
  html body .r2-answer p.r2-a{font-size:17px}
  html body .r2-risks li{grid-template-columns:1fr}
  html body .r2-risks b{border-right:0;border-bottom:1px solid #E3E6EA}
  html body .r2 .r2-spec{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* Three metrics into a two column grid leaves the third one alone beside an
   empty cell, which reads as a page that did not finish loading. Below 560 they
   stack, so every row is full. */
@media(max-width:560px){
  html body .r2-metrics{grid-template-columns:1fr}
}

/* ---- movement ----------------------------------------------------------
   Restrained on purpose. The flight path draws itself once, the sections
   arrive as you reach them, and the jump bar marks where you are. Nothing
   loops, nothing bounces, nothing moves after you have read it, because a
   logistics page that fidgets reads as a landing page rather than as a desk.
   Everything here is switched off entirely for a visitor who has asked their
   system for reduced motion, and every animated element is fully legible
   before its animation runs, so a failed script hides nothing.
   ---------------------------------------------------------------------- */

@media(prefers-reduced-motion:no-preference){

  /* the leg draws from origin to destination, once, on load */
  html body .r2 .r2-board .r2-leg{transform-origin:left center;animation:r2draw .9s cubic-bezier(.22,.61,.36,1) .25s both}
  html body .r2 .r2-board .r2-leg::after{animation:r2fade .4s ease 1.1s both}
  html body .r2 .r2-board .r2-leg em{animation:r2pop .45s cubic-bezier(.2,.8,.3,1.2) 1.15s both}
  @keyframes r2draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes r2fade{from{opacity:0}to{opacity:1}}
  @keyframes r2pop{from{opacity:0;transform:translateY(6px) scale(.94)}
                   to{opacity:1;transform:none}}

  /* the codes and the numbers settle in behind it */
  html body .r2 .r2-board > div:first-child{animation:r2up .7s cubic-bezier(.22,.61,.36,1) both}
  html body .r2 .r2-board > div:last-child{animation:r2up .7s cubic-bezier(.22,.61,.36,1) .12s both}
  html body .r2 .r2-metrics div{animation:r2up .6s cubic-bezier(.22,.61,.36,1) both}
  html body .r2 .r2-metrics div:nth-child(2){animation-delay:.08s}
  html body .r2 .r2-metrics div:nth-child(3){animation-delay:.16s}
  @keyframes r2up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

  /* sections arrive as they are reached, once each */
  html body .r2 .r2-rv{opacity:0;transform:translateY(14px);
    transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1)}
  html body .r2 .r2-rv.in{opacity:1;transform:none}
  html body .r2 .r2-time li.r2-rv{transition-delay:calc(var(--i,0) * 70ms)}
  html body .r2 .r2-spec tbody tr.r2-rv{transition-delay:calc(var(--i,0) * 45ms)}
  html body .r2 .r2-risks li.r2-rv{transition-delay:calc(var(--i,0) * 60ms)}

  /* the dot fills when its step is on screen */
  html body .r2 .r2-time li::before{transition:background-color .4s ease .15s}
  html body .r2 .r2-time li:not(.in)::before{background:#fff}
}

@media(prefers-reduced-motion:reduce){
  html body .r2 .r2-rv{opacity:1;transform:none}
}

/* the jump bar marks the section you are actually in */
html body .r2-jump a.on{color:#B3121A;border-bottom-color:#D71920}

/* a script that never runs must not leave the page blank */
html body .r2:not(.r2-live) .r2-rv{opacity:1;transform:none}

/* ============================================================================
   The network map. Namespaced under .lm, so nothing here can reach any other
   page. The map is an enhancement over the written list underneath it: if the
   script never runs, every lane is still a link.
   ========================================================================== */

html body .lm-head{background:#0A1628;color:#fff}
html body .lm-head .wrap{max-width:1180px;margin:0 auto;padding:48px 22px 40px}
html body .lm-head h1{margin:0 0 12px;font-size:clamp(26px,4vw,40px);line-height:1.15;
  font-weight:800;letter-spacing:-.015em;color:#fff}
html body .lm-head h1 em{font-style:normal;color:#FF6B72}
html body .lm-head p{margin:0;max-width:66ch;font-size:16.5px;line-height:1.68;color:#C7D2E0}
html body .lm-head .lm-n{display:inline-block;margin-top:18px;padding:7px 14px;border-radius:999px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);
  font-size:13px;font-weight:800;color:#FFD9DB;font-variant-numeric:tabular-nums}

html body .lm-tools{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);
  backdrop-filter:saturate(160%) blur(9px);border-bottom:1px solid #E3E6EA}
html body .lm-tools .wrap{max-width:1180px;margin:0 auto;padding:12px 22px;
  display:flex;flex-wrap:wrap;gap:10px;align-items:center}
html body #lm-filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
html body #lm-filters::-webkit-scrollbar{display:none}
html body #lm-filters button{flex:none;padding:8px 14px;border-radius:999px;cursor:pointer;
  background:#fff;border:1px solid #E3E6EA;font-size:13.5px;font-weight:700;color:#3D4552}
html body #lm-filters button:hover{border-color:#D71920;color:#B3121A}
html body #lm-filters button[aria-pressed="true"]{background:#14181F;border-color:#14181F;color:#fff}
html body #lm-search{flex:1;min-width:180px;padding:9px 14px;border-radius:8px;
  border:1px solid #E3E6EA;font:inherit;font-size:14px;color:#14181F;background:#fff}
html body #lm-search:focus{outline:0;border-color:#D71920;box-shadow:0 0 0 3px #FDECEC}
html body #lm-count{font-size:13px;font-weight:800;color:#5B6472;font-variant-numeric:tabular-nums;
  white-space:nowrap}

html body #obc-lanemap{position:relative;background:#F5F6F8;border-bottom:1px solid #E3E6EA;
  min-height:220px}
html body #obc-lanemap svg{display:block}
html body .lm-sea{fill:#EDF1F6}
html body .lm-land{fill:#DDE3EA;stroke:#F5F6F8;stroke-width:.6}
html body .lm-arc{stroke:rgba(215,25,32,.34);stroke-width:1.1;cursor:pointer;
  transition:stroke .16s ease,stroke-width .16s ease}
html body .lm-arc:hover,html body .lm-arc.on{stroke:#B3121A;stroke-width:2.6}
html body .lm-dot{fill:#14181F;fill-opacity:.72;stroke:#fff;stroke-width:1.2;pointer-events:none}
html body .lm-tip{position:absolute;display:none;pointer-events:none;transform:translate(-50%,-140%);
  background:#14181F;color:#fff;padding:7px 11px;border-radius:6px;white-space:nowrap;z-index:5;
  box-shadow:0 6px 18px rgba(10,22,40,.28)}
html body .lm-tip b{display:block;font-size:13.5px;font-weight:800}
html body .lm-tip span{display:block;margin-top:2px;font-size:11.5px;color:#FFB3B7;
  font-variant-numeric:tabular-nums;letter-spacing:.04em}

/* while the script is still working, and if it never does */
html body #obc-lanemap:not([data-ready]) .lm-hint{display:block}
html body #obc-lanemap[data-ready] .lm-hint{display:none}
html body .lm-hint{display:none;padding:34px 22px;text-align:center;font-size:14px;color:#5B6472}
html body #obc-lanemap[data-failed] .lm-hint::after{content:" The written list below has every lane."}

html body .lm-list{max-width:1180px;margin:0 auto;padding:40px 22px 8px}
html body .lm-list section{margin:0 0 30px}
html body .lm-list h2{margin:0 0 14px;font-size:17px;font-weight:800;color:#14181F;
  padding-bottom:9px;border-bottom:2px solid #D71920;display:inline-block}
html body .lm-list ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:2px 22px;margin:0;padding:0;list-style:none}
html body .lm-list a{display:block;padding:7px 0;font-size:14.5px;color:#3D4552;
  text-decoration:none;border-bottom:1px solid #F0F2F5}
html body .lm-list a:hover{color:#B3121A}
html body .lm-list a b{font-weight:700;color:#14181F}
html body .lm-list a:hover b{color:#B3121A}
html body .lm-list a i{font-style:normal;color:#8A919C;font-size:12px;
  font-variant-numeric:tabular-nums;letter-spacing:.04em}
html body #lm-empty{padding:26px 0;color:#5B6472;font-size:15px}

@media(max-width:820px){
  html body .lm-head .wrap{padding:36px 16px 30px}
  html body .lm-tools .wrap{padding:10px 16px}
  html body #lm-count{width:100%;order:3}
  html body .lm-list{padding:30px 16px 8px}
}

/* ---- onward connections, on every lane page ---------------------------
   Three columns of real lanes: out of this origin, into this destination,
   and across the same corridor. It is navigation first and internal linking
   second, which is the right order: a forwarder reading one lane almost
   always wants a second one out of the same airport.
   ---------------------------------------------------------------------- */
html body .obc-conn{background:#F5F6F8;border-top:1px solid #E3E6EA}
html body .obc-conn .wrap{max-width:1120px;margin:0 auto;padding:46px 22px 42px}
html body .obc-conn h2{margin:0 0 10px;font-size:clamp(21px,3vw,27px);font-weight:800;color:#14181F}
html body .obc-conn .lead{margin:0 0 26px;max-width:70ch;font-size:15.5px;line-height:1.7;color:#5B6472}
html body .cn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:26px}
html body .cn-col h3{margin:0 0 4px;font-size:14px;font-weight:800;color:#14181F;
  padding-bottom:8px;border-bottom:2px solid #D71920;display:inline-block}
html body .cn-col > p{margin:8px 0 12px;font-size:12.5px;line-height:1.6;color:#8A919C}
html body .cn-col ul{margin:0;padding:0;list-style:none}
html body .cn-col li{margin:0}
html body .cn-col a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:8px 0;border-bottom:1px solid #E8EBEF;text-decoration:none}
html body .cn-col a:last-child{border-bottom:0}
html body .cn-col a b{font-size:14px;font-weight:700;color:#14181F;line-height:1.4}
html body .cn-col a i{font-style:normal;font-size:11.5px;font-weight:700;color:#8A919C;
  white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.04em}
html body .cn-col a:hover b{color:#B3121A}
html body .cn-col a:hover i{color:#D71920}
html body .cn-all{margin:26px 0 0}
html body .cn-all a{font-size:14.5px;font-weight:800;color:#B3121A;text-decoration:none}
html body .cn-all a:hover{text-decoration:underline}
@media(max-width:820px){
  html body .obc-conn .wrap{padding:34px 16px 30px}
  html body .cn-grid{gap:22px}
}

/* ============================================================================
   The Atlas. A reference section, and it has to look like one: quiet, dense,
   no colour doing sales work. The test is whether a competing operator could
   use it to answer a question quickly, so the table is the page and everything
   else gets out of its way.
   ========================================================================== */
html body .atlas{background:#fff}
html body .at-head{background:#F5F6F8;border-bottom:1px solid #E3E6EA}
html body .at-head .wrap,html body .at-sec .wrap{max-width:1140px;margin:0 auto;padding:0 22px}
html body .at-head .wrap{padding-top:40px;padding-bottom:34px}
html body .at-kick{margin:0 0 12px;font-size:11.5px;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;color:#8A919C}
html body .at-head h1{margin:0 0 8px;font-size:clamp(24px,3.6vw,34px);font-weight:800;
  letter-spacing:-.015em;color:#14181F;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
html body .at-code{display:inline-block;padding:4px 11px;border-radius:6px;background:#14181F;
  color:#fff;font-size:.72em;font-weight:800;letter-spacing:.04em;font-variant-numeric:tabular-nums}
html body .at-sub{margin:0;font-size:15.5px;line-height:1.65;color:#5B6472;max-width:70ch}
html body .at-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
  margin:26px 0 0;background:#E3E6EA;border:1px solid #E3E6EA;border-radius:8px;overflow:hidden}
html body .at-facts > div{background:#fff;padding:14px 16px}
html body .at-facts dt{margin:0;font-size:11px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:#8A919C}
html body .at-facts dd{margin:5px 0 0;font-size:20px;font-weight:800;color:#14181F;
  font-variant-numeric:tabular-nums}

html body .at-sec{padding:38px 0}
html body .at-sec h2{margin:0 0 8px;font-size:19px;font-weight:800;color:#14181F}
html body .at-note{margin:0 0 18px;font-size:13.5px;line-height:1.65;color:#8A919C;max-width:78ch}

html body .at-tab{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;
  border:1px solid #E3E6EA;border-radius:8px;overflow:hidden;background:#fff}
html body .at-tab th{position:sticky;top:0;z-index:2;background:#F5F6F8;text-align:left;
  padding:10px 13px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#5B6472;border-bottom:1px solid #E3E6EA;white-space:nowrap}
html body .at-tab td{padding:9px 13px;border-bottom:1px solid #F0F2F5;color:#3D4552;
  line-height:1.5;vertical-align:top}
html body .at-tab tbody tr:nth-child(even) td{background:#FCFCFD}
html body .at-tab tbody tr:last-child td{border-bottom:0}
html body .at-tab td b{font-weight:700;color:#14181F}
html body .at-tab td i{font-style:normal;margin-left:6px;font-size:11.5px;font-weight:700;
  color:#8A919C;letter-spacing:.04em}
html body .at-tab .num,html body .at-tab td:nth-child(3),html body .at-tab td:nth-child(5){
  font-variant-numeric:tabular-nums;white-space:nowrap}

html body .at-ind{margin:0;padding:0;list-style:none;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
html body .at-ind li{padding:15px 17px;border:1px solid #E3E6EA;border-left:3px solid #D71920;
  border-radius:6px;font-size:14px;line-height:1.6;color:#3D4552}
html body .at-ind li b{color:#14181F}
html body .at-ind li span{display:block;margin-top:6px;font-size:12.5px;color:#8A919C}

html body .at-src{background:#F5F6F8;border-top:1px solid #E3E6EA}
html body .at-src ul{margin:0 0 18px;padding-left:20px;font-size:13.5px;line-height:1.75;color:#5B6472;
  max-width:80ch}
html body .at-src li b{color:#3D4552}
html body .at-who{margin:0 0 12px;padding:14px 16px;background:#fff;border:1px solid #E3E6EA;
  border-radius:6px;font-size:13.5px;line-height:1.7;color:#5B6472;max-width:80ch}
html body .at-who a{color:#B3121A;font-weight:700}
html body .at-more{margin:0;font-size:13.5px}
html body .at-more a{color:#B3121A;font-weight:700;text-decoration:none}
html body .at-more a:hover{text-decoration:underline}

@media(max-width:820px){
  html body .at-head .wrap,html body .at-sec .wrap{padding-left:16px;padding-right:16px}
  html body .at-tab{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
html body .at-ours{margin:12px 0 0;padding-top:12px;border-top:1px solid #EEF0F3;
  font-size:13px;line-height:1.7;color:#8A919C}
html body .at-ours a{color:#B3121A;font-weight:700}
html body .at-alt li{border-left-color:#14181F}
html body .at-alt li i{font-style:normal;margin-left:7px;padding:1px 7px;border-radius:4px;
  background:#14181F;color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em}
html body .at-n{font-weight:600;color:#8A919C;font-size:13px}
html body .at-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));
  gap:0 24px;margin:0;padding:0;list-style:none}
html body .at-grid a{display:flex;align-items:baseline;gap:8px;padding:7px 0;
  border-bottom:1px solid #F0F2F5;text-decoration:none;font-size:14px;color:#3D4552}
html body .at-grid a b{font-weight:700;color:#14181F}
html body .at-grid a i{font-style:normal;font-size:11px;font-weight:800;color:#8A919C;letter-spacing:.04em}
html body .at-grid a span{margin-left:auto;font-size:11.5px;color:#B0B6BE;font-variant-numeric:tabular-nums}
html body .at-grid a:hover b{color:#B3121A}

/* ---- the route calculator --------------------------------------------- */
html body .ca-form{background:#fff;border:1px solid #E3E6EA;border-radius:10px;padding:22px}
html body .ca-pair{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px}
html body .ca-form label{display:block;font-size:12px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;color:#5B6472}
html body .ca-form input{display:block;width:100%;margin-top:6px;padding:11px 13px;border-radius:8px;
  border:1px solid #D8DDE3;font:inherit;font-size:15px;color:#14181F;background:#fff}
html body .ca-form input:focus{outline:0;border-color:#D71920;box-shadow:0 0 0 3px #FDECEC}
html body .ca-adv{margin:16px 0 0;border-top:1px solid #EEF0F3;padding-top:14px}
html body .ca-adv summary{cursor:pointer;font-size:13.5px;font-weight:700;color:#5B6472}
html body .ca-adv summary:hover{color:#B3121A}
html body .ca-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;
  margin:16px 0 0}
html body .ca-go{margin:18px 0 0;padding:13px 24px;border:0;border-radius:8px;cursor:pointer;
  background:#D71920;color:#fff;font:inherit;font-size:15px;font-weight:800}
html body .ca-go:hover{background:#B3121A}
html body #obc-calc{margin:26px 0 0}
html body .ca-msg{padding:16px 18px;background:#F5F6F8;border:1px solid #E3E6EA;border-radius:8px;
  font-size:14px;line-height:1.7;color:#5B6472}
html body .ca-msg a{color:#B3121A;font-weight:700}
html body .ca-head h2{margin:0 0 6px;font-size:21px;font-weight:800;color:#14181F}
html body .ca-head p{margin:0 0 20px;font-size:14.5px;line-height:1.7;color:#5B6472;max-width:78ch}
html body .ca-opt{background:#fff;border:1px solid #E3E6EA;border-radius:10px;padding:20px 22px;
  margin:0 0 16px}
html body .ca-opt.ca-best{border-left:4px solid #D71920}
html body .ca-opt header{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  flex-wrap:wrap;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #EEF0F3}
html body .ca-opt h3{margin:0;font-size:17px;font-weight:800;color:#14181F}
html body .ca-opt header p{margin:0;font-size:13.5px;font-weight:700;color:#B3121A}
html body .ca-legs{list-style:none;margin:0 0 16px;padding:0}
html body .ca-legs li{padding:10px 0;border-bottom:1px dashed #EEF0F3}
html body .ca-legs li:last-child{border-bottom:0}
html body .ca-legs b{display:block;font-size:14.5px;font-weight:700;color:#14181F}
html body .ca-legs span{display:flex;flex-wrap:wrap;gap:0 16px;margin-top:4px}
html body .ca-legs i{font-style:normal;font-size:12.5px;color:#8A919C;font-variant-numeric:tabular-nums}
html body .ca-conn b{color:#B3121A}
html body .ca-conn span{font-size:12.5px;color:#8A919C}
html body .ca-sum{width:100%;border-collapse:collapse;font-size:13.5px}
html body .ca-sum td{padding:6px 0;border-bottom:1px solid #F5F6F8;color:#5B6472}
html body .ca-sum td:last-child{text-align:right;font-variant-numeric:tabular-nums;color:#14181F;
  font-weight:700;white-space:nowrap}
html body .ca-sum .ca-tot td{border-bottom:0;border-top:2px solid #14181F;padding-top:9px;
  font-size:15px;font-weight:800;color:#14181F}
html body .ca-arr{margin:14px 0 0;padding:12px 14px;background:#FDECEC;border-radius:6px;
  font-size:13.5px;line-height:1.6;color:#8E0E14}
html body .ca-arr b{color:#B3121A}
html body .ca-live{background:#0A1628;color:#fff;border-radius:10px;padding:22px;margin:8px 0 0}
html body .ca-live h3{margin:0 0 6px;font-size:17px;font-weight:800;color:#fff}
html body .ca-note{margin:0 0 16px;font-size:12.5px;line-height:1.65;color:#9FB0C6;max-width:80ch}
html body .ca-tab{width:100%;border-collapse:collapse;font-size:13.5px}
html body .ca-tab th{text-align:left;padding:8px 10px;font-size:10.5px;font-weight:800;
  letter-spacing:.07em;text-transform:uppercase;color:#8FA3BC;border-bottom:1px solid #24344B}
html body .ca-tab td{padding:9px 10px;border-bottom:1px solid #1A2942;color:#C7D2E0;vertical-align:top}
html body .ca-tab tbody tr:last-child td{border-bottom:0}
html body .ca-tab td b{display:block;color:#fff;font-weight:800;font-variant-numeric:tabular-nums}
html body .ca-tab td i{font-style:normal;font-size:12px;color:#8FA3BC}
html body .ca-tab .num{font-variant-numeric:tabular-nums;white-space:nowrap;color:#fff;font-weight:700}
@media(max-width:820px){
  html body .ca-pair{grid-template-columns:1fr}
  html body .ca-form{padding:16px}
  html body .ca-tab{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
html body .ca-cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}
html body .ca-cases article{background:#fff;border:1px solid #E3E6EA;border-top:3px solid #D71920;
  border-radius:8px;padding:18px 20px}
html body .ca-cases h3{margin:0 0 8px;font-size:15.5px;font-weight:800;color:#14181F;line-height:1.35}
html body .ca-cases p{margin:0;font-size:14px;line-height:1.68;color:#3D4552}
html body .ca-cases em{font-style:italic;color:#B3121A;font-weight:700}
html body .ca-hint{margin:12px 0 0;font-size:12.5px;color:#8A919C}
html body .ca-form .of-fld{position:relative}
html body .ca-form .of-ac{position:absolute;left:0;right:0;top:100%;z-index:20;display:none}
html body .ca-form .of-ac.open{display:block}
/* The theme paints every table white. Inside the dark departures panel that
   turned the flight number and the times white on white, which is how a table
   full of data can look empty. */
html body .ca-live table.ca-tab{background:transparent;border:0;border-radius:0}
html body .ca-live table.ca-tab th{background:transparent;color:#8FA3BC;border-bottom:1px solid #24344B}
html body .ca-live table.ca-tab td{background:transparent;color:#C7D2E0;border-bottom:1px solid #1A2942}
html body .ca-live table.ca-tab tbody tr:nth-child(even) td{background:rgba(255,255,255,.03)}
html body .ca-live table.ca-tab td b{color:#fff}
html body .ca-live table.ca-tab td .num{color:#fff}
html body .ca-gloss{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:16px}
html body .ca-gloss article{background:#fff;border:1px solid #E3E6EA;border-radius:8px;padding:18px 20px}
html body .ca-gloss h3{margin:0 0 6px;font-size:15.5px;font-weight:800;color:#14181F}
html body .ca-src{display:inline-block;margin:0 0 10px;padding:2px 9px;border-radius:999px;
  background:#EEF2F7;color:#5B6472;font-size:11px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase}
html body .ca-src.ca-est{background:#FFF4E5;color:#8A5A00}
html body .ca-src.ca-live-tag{background:#14181F;color:#fff}
html body .ca-gloss p{margin:0;font-size:14px;line-height:1.68;color:#3D4552}
html body .ca-gloss .ca-real{border-left:3px solid #D71920}

/* ============================================================================
   Route calculator, second build. Editorial and airline, not a dashboard:
   rules, tabular figures and hierarchy do the work. No boxes with a coloured
   top edge, no pill grids, no partial rows. Namespaced under .rc.
   ========================================================================== */
html body .rc{background:#fff}
html body .rc .wrap{max-width:1120px;margin:0 auto;padding:0 22px}

/* ---- title and mask ---------------------------------------------------- */
html body .rc-top{padding:52px 0 26px;border-bottom:1px solid #E3E6EA}
html body .rc-kick{margin:0 0 10px;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#B3121A}
html body .rc-top h1{margin:0 0 12px;max-width:22ch;font-family:Sora,"Plus Jakarta Sans",system-ui,sans-serif;
  font-size:clamp(30px,4.6vw,50px);line-height:1.04;letter-spacing:-.025em;font-weight:800;color:#14181F}
html body .rc-lede{margin:0;max-width:66ch;font-size:16.5px;line-height:1.68;color:#5B6472}
html body .rc-stat{display:flex;align-items:center;gap:9px;margin:20px 0 0;font-size:12.5px;font-weight:700;
  letter-spacing:.04em;color:#5B6472;font-variant-numeric:tabular-nums}
html body .rc-live{width:8px;height:8px;border-radius:50%;background:#16A34A;flex:none;position:relative}
html body .rc-live::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #16A34A;opacity:.6}
html body .rc-live.rc-wait{background:#8A919C}
html body .rc-live.rc-wait::after{border-color:#8A919C}
@media(prefers-reduced-motion:no-preference){
  html body .rc-live::after{animation:rcping 1.8s cubic-bezier(.2,.7,.3,1) infinite}
  @keyframes rcping{0%{transform:scale(.5);opacity:.8}100%{transform:scale(1.9);opacity:0}}
}

html body .rc-mask{display:grid;grid-template-columns:1.3fr auto 1.3fr 1fr auto;align-items:stretch;
  margin:26px 0 0;background:#0A1628;border-radius:6px;overflow:visible}
html body .rc-f{position:relative;padding:14px 18px 12px;border-right:1px solid rgba(255,255,255,.14)}
html body .rc-f label{display:block;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8FA3BC;margin:0 0 4px}
html body .rc-f input{display:block;width:100%;padding:4px 0;border:0;background:transparent;color:#fff;
  font:inherit;font-size:18px;font-weight:700;letter-spacing:-.01em;outline:0}
html body .rc-f input::placeholder{color:#5A6C85;font-weight:600}
html body .rc-f input[type="datetime-local"]{font-size:15px;color-scheme:dark}
html body .rc-swapb{align-self:center;margin:0 -14px;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.22);
  background:#0A1628;color:#fff;font-size:15px;line-height:1;cursor:pointer;position:relative;z-index:2}
html body .rc-swapb:hover{background:#D71920;border-color:#D71920}
html body .rc-go{border:0;background:#D71920;color:#fff;font:inherit;font-size:15px;font-weight:800;padding:0 28px;
  cursor:pointer;border-radius:0 6px 6px 0;white-space:nowrap}
html body .rc-go:hover{background:#B3121A}
html body .rc-acbox{position:absolute;left:0;right:0;top:100%;z-index:30;display:none;margin-top:1px;
  background:#fff;border:1px solid #E3E6EA;border-radius:0 0 6px 6px;box-shadow:0 18px 40px rgba(10,22,40,.22);overflow:hidden}
html body .rc-acbox.open{display:block}
html body .rc-aci{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:baseline;padding:10px 14px;cursor:pointer;
  border-bottom:1px solid #F0F2F5;font-size:14px;color:#14181F}
html body .rc-aci:last-child{border-bottom:0}
html body .rc-aci b{font-weight:800;letter-spacing:.04em;color:#B3121A;font-variant-numeric:tabular-nums}
html body .rc-aci span{font-weight:600}
html body .rc-aci i{font-style:normal;font-size:12px;color:#8A919C;font-variant-numeric:tabular-nums;white-space:nowrap}
html body .rc-aci:hover,html body .rc-aci.sel{background:#F5F6F8}
html body .rc-aci.rc-wait{grid-template-columns:1fr;color:#8A919C;cursor:default}

html body .rc-adv{margin:14px 0 0}
html body .rc-adv summary{cursor:pointer;display:inline-block;font-size:13px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:#5B6472;padding-bottom:2px;border-bottom:2px solid #E3E6EA}
html body .rc-adv summary:hover{color:#B3121A;border-color:#D71920}
html body .rc-advg{display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px;margin:16px 0 0}
html body .rc-advg label{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8A919C;
  padding:10px 0;border-top:1px solid #E3E6EA}
html body .rc-advg input{display:inline-block;width:78px;margin:6px 6px 0 0;padding:6px 8px;border:0;border-bottom:2px solid #14181F;
  font:inherit;font-size:18px;font-weight:800;color:#14181F;background:transparent;font-variant-numeric:tabular-nums}
html body .rc-advg input:focus{outline:0;border-color:#D71920}
html body .rc-advg span{font-size:12px;color:#8A919C;text-transform:none;letter-spacing:0}
html body .rc-adv p{margin:14px 0 0;max-width:80ch;font-size:13.5px;line-height:1.65;color:#8A919C}
html body .rc-chk{display:block;margin:14px 0 0;font-size:13.5px;line-height:1.6;color:#5B6472;text-transform:none;letter-spacing:0;font-weight:600}
html body .rc-chk input{margin:0 8px 0 0;vertical-align:-1px;accent-color:#D71920}

/* ---- results ----------------------------------------------------------- */
html body .rc-res{padding:0 0 10px}
html body .rc-res .wrap:empty{display:none}
html body .rc-msg{margin:28px 0;padding:18px 0;border-top:2px solid #14181F;border-bottom:1px solid #E3E6EA;font-size:15px;line-height:1.7;color:#3D4552;max-width:80ch}
html body .rc-msg a{color:#B3121A;font-weight:700}
html body .rc-head{padding:38px 0 6px}
html body .rc-head h2{margin:0 0 6px;font-family:Sora,"Plus Jakarta Sans",system-ui,sans-serif;font-size:clamp(24px,3.4vw,36px);letter-spacing:-.02em;font-weight:800;color:#14181F}
html body .rc-head h2 em{font-style:normal;font-size:.6em;font-weight:800;letter-spacing:.06em;color:#B3121A;vertical-align:.22em;margin:0 2px}
html body .rc-head p{margin:0;font-size:14.5px;line-height:1.65;color:#5B6472;max-width:80ch}

html body .rc-sheet{margin:26px 0 0;border-top:2px solid #14181F}
html body .rc-sheet.rc-fastest{border-top-color:#D71920}
html body .rc-sh{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:18px;padding:16px 0 14px;border-bottom:1px solid #E3E6EA}
html body .rc-kind{margin:0 0 2px;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#5B6472}
html body .rc-kind em{font-style:normal;color:#B3121A}
html body .rc-route{margin:0;font-size:19px;font-weight:800;color:#14181F;letter-spacing:-.01em}
html body .rc-route em{font-style:normal;font-size:12px;letter-spacing:.06em;color:#8A919C;vertical-align:.18em;margin:0 3px}
html body .rc-tag{align-self:center;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#B3121A;padding-bottom:2px;border-bottom:2px solid #D71920}
html body .rc-tot{text-align:right}
html body .rc-tot b{display:block;font-size:30px;font-weight:800;letter-spacing:-.02em;color:#14181F;line-height:1;font-variant-numeric:tabular-nums}
html body .rc-tot span{display:block;margin-top:4px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8A919C}

html body .rc-tl{list-style:none;margin:0;padding:6px 0 0}
html body .rc-leg,html body .rc-transit{display:grid;grid-template-columns:82px 22px 1fr 82px;gap:0 14px;align-items:stretch;padding:14px 0}
html body .rc-t b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;color:#14181F;font-variant-numeric:tabular-nums;line-height:1}
html body .rc-t span{display:block;margin-top:4px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8A919C}
html body .rc-arr{text-align:right}
html body .rc-rail{position:relative}
html body .rc-rail::before{content:"";position:absolute;left:10px;top:-14px;bottom:-14px;width:2px;background:#14181F}
html body .rc-rail i{position:absolute;left:5px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid #14181F}
html body .rc-leg:first-child .rc-rail::before{top:6px}
html body .rc-leg:last-child .rc-rail::before{bottom:auto;height:14px}
html body .rc-rail-dash::before{background:repeating-linear-gradient(180deg,#B0B6BE 0 5px,transparent 5px 10px)}
html body .rc-rail-dash i{border-color:#B0B6BE;border-style:solid}
html body .rc-city{margin:0 0 4px;font-size:16px;font-weight:800;color:#14181F;line-height:1.35}
html body .rc-city em{font-style:normal;font-weight:600;color:#8A919C}
html body .rc-transit .rc-city{color:#5B6472}
html body .rc-transit .rc-city em{font-weight:800;letter-spacing:.06em;font-size:12px;vertical-align:.15em;color:#B3121A}
html body .rc-meta{margin:0;display:flex;flex-wrap:wrap;gap:0 14px;font-size:12.5px;color:#8A919C;font-variant-numeric:tabular-nums}
html body .rc-meta span+span::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:#C6CBD2;margin:0 10px 3px 0}
html body .rc-ops{margin:8px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
html body .rc-logo{height:18px;width:auto;max-width:74px;object-fit:contain}
html body .rc-code{display:inline-block;min-width:30px;padding:2px 6px;border:1px solid #14181F;font-size:11px;font-weight:800;letter-spacing:.05em;color:#14181F;text-align:center;line-height:1.3}
html body .rc-transit .rc-t b{color:#5B6472;font-size:17px}

html body .rc-sf{padding:14px 0 18px;border-top:1px solid #E3E6EA}
html body .rc-sf dl{display:flex;flex-wrap:wrap;margin:0;padding:0}
html body .rc-sf dl div{flex:1 1 0;min-width:120px;padding:0 16px 0 0;margin:0 16px 8px 0;border-right:1px solid #E3E6EA}
html body .rc-sf dl div:last-child{border-right:0}
html body .rc-sf dt{margin:0;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8A919C}
html body .rc-sf dd{margin:3px 0 0;font-size:15px;font-weight:800;color:#14181F;font-variant-numeric:tabular-nums}
html body .rc-when{margin:8px 0 0;font-size:14.5px;line-height:1.6;color:#3D4552}
html body .rc-when b{color:#14181F}

html body .rc-actions{display:flex;flex-wrap:wrap;gap:0 22px;align-items:center;margin:18px 0 0;padding:14px 0;border-top:2px solid #14181F;border-bottom:1px solid #E3E6EA}
html body .rc-actions button,html body .rc-actions a{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:13px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;color:#14181F;text-decoration:none;border-bottom:2px solid transparent}
html body .rc-actions button:hover,html body .rc-actions a:hover{color:#B3121A;border-bottom-color:#D71920}
html body #rc-copied{font-size:12px;color:#16A34A;font-weight:700;letter-spacing:.04em}

html body .rc-notes{margin:26px 0 0;padding:0 0 0 18px;border-left:3px solid #D71920}
html body .rc-notes h3{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#B3121A}
html body .rc-notes ul{margin:0;padding:0;list-style:none}
html body .rc-notes li{padding:7px 0;border-bottom:1px solid #F0F2F5;font-size:14px;line-height:1.6;color:#3D4552}
html body .rc-notes li b{display:block;color:#14181F}
html body .rc-notes li b em{font-style:normal;font-size:11px;letter-spacing:.06em;color:#8A919C;vertical-align:.15em}
html body .rc-notes p{margin:8px 0 0;font-size:12.5px;color:#8A919C}

/* ---- the departures board ---------------------------------------------- */
html body .rc-bd{margin:26px 0 0;background:#0B0F14;color:#fff;padding:22px 24px;border-radius:6px}
html body .rc-bd header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 18px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #1F2933}
html body .rc-bd h3{display:flex;align-items:center;gap:10px;margin:0;font-size:15px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff}
html body .rc-bd header p{margin:0;font-size:12.5px;color:#8FA3BC}
html body .rc-bd table{width:100%;border-collapse:collapse;background:transparent;border:0;font-size:14px}
html body .rc-bd th{text-align:left;padding:6px 10px 8px 0;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#6B7A90;background:transparent;border:0;border-bottom:1px solid #1F2933}
html body .rc-bd td{padding:11px 10px 11px 0;border:0;border-bottom:1px solid #161D26;color:#C7D2E0;background:transparent;vertical-align:middle}
html body .rc-bd tbody tr:last-child td{border-bottom:0}
html body .rc-bd td.rc-fl{display:flex;align-items:center;gap:10px}
html body .rc-bd td.rc-fl b{color:#fff;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em}
html body .rc-bd td.rc-fl span{font-size:12px;color:#8FA3BC}
html body .rc-bd .rc-logo{height:16px;max-width:60px;background:#fff;padding:2px 4px;border-radius:2px}
html body .rc-bd .rc-code{border-color:#3A4656;color:#C7D2E0}
html body .rc-bd .rc-num{font-variant-numeric:tabular-nums;font-weight:800;color:#fff;font-size:16px;white-space:nowrap}
html body .rc-bd td span{color:#8FA3BC}
html body .rc-st{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 8px 1px 0;background:#8FA3BC}
html body .rc-go.rc-st,html body .rc-st.rc-go{background:#16A34A}
html body .rc-st.rc-ok{background:#8FA3BC}
html body .rc-st.rc-warn{background:#F59E0B}
html body .rc-st.rc-bad{background:#EF4444}
html body .rc-cargo{display:inline-block;margin-left:6px;padding:1px 6px;border:1px solid #3A4656;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8FA3BC}
html body .rc-none{margin:0;font-size:13.5px;line-height:1.65;color:#8FA3BC}
@media(prefers-reduced-motion:no-preference){
  html body .rc-bd .rc-live{animation:rcglow 1.6s ease-in-out infinite}
  @keyframes rcglow{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,.7)}50%{box-shadow:0 0 0 6px rgba(22,163,74,0)}}
}

/* ---- the writing under the tool --------------------------------------- */
html body .rc-sec{padding:44px 0;border-top:1px solid #E3E6EA}
html body .rc-alt{background:#F5F6F8}
html body .rc-prose{max-width:820px}
html body .rc-prose h2{margin:0 0 12px;font-family:Sora,"Plus Jakarta Sans",system-ui,sans-serif;font-size:clamp(22px,3vw,30px);letter-spacing:-.02em;font-weight:800;color:#14181F}
html body .rc-prose p{margin:0 0 14px;font-size:15.5px;line-height:1.72;color:#3D4552}
html body .rc-prose p b{color:#14181F}
html body .rc-ol{margin:8px 0 0;padding:0;list-style:none;counter-reset:rc}
html body .rc-ol li{position:relative;padding:16px 0 16px 58px;border-top:1px solid #E3E6EA;font-size:15px;line-height:1.7;color:#3D4552;counter-increment:rc}
html body .rc-ol li::before{content:counter(rc,decimal-leading-zero);position:absolute;left:0;top:14px;font-family:Sora,"Plus Jakarta Sans",system-ui,sans-serif;font-size:26px;font-weight:800;letter-spacing:-.03em;color:#D71920;line-height:1}
html body .rc-ol li b{display:block;margin-bottom:4px;font-size:16.5px;color:#14181F}
html body .rc-dl{margin:8px 0 0;padding:0;columns:2 300px;column-gap:44px}
html body .rc-dl div{break-inside:avoid;padding:12px 0;border-top:1px solid #E3E6EA}
html body .rc-dl dt{margin:0 0 4px;font-size:15px;font-weight:800;color:#14181F}
html body .rc-dl dt i{font-style:normal;margin-left:8px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8A919C}
html body .rc-dl dt i.est{color:#B45309}
html body .rc-dl dt i.live{color:#16A34A}
html body .rc-dl dd{margin:0;font-size:14px;line-height:1.66;color:#3D4552}
html body .rc-src{background:#F5F6F8}
html body .rc-who{padding-top:14px;border-top:1px solid #E3E6EA}
html body .rc-prose a{color:#B3121A;font-weight:700}
html body .rc-more{margin:0;font-size:13.5px;font-weight:800;letter-spacing:.04em}
html body .rc-more a{text-decoration:none}

@media(max-width:820px){
  html body .rc .wrap{padding:0 16px}
  html body .rc-top{padding:34px 0 20px}
  html body .rc-mask{grid-template-columns:1fr;border-radius:6px}
  html body .rc-f{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  html body .rc-swapb{justify-self:end;margin:-15px 14px -15px 0}
  html body .rc-go{padding:16px;border-radius:0 0 6px 6px}
  html body .rc-advg{grid-template-columns:1fr 1fr}
  html body .rc-sh{grid-template-columns:1fr auto}
  html body .rc-tag{grid-column:1/-1;justify-self:start}
  html body .rc-leg,html body .rc-transit{grid-template-columns:62px 18px 1fr;gap:0 10px}
  html body .rc-arr{grid-column:3;text-align:left;padding-top:6px}
  html body .rc-t b{font-size:18px}
  html body .rc-bd{padding:16px}
  html body .rc-bd table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  html body .rc-bd td.rc-fl{display:table-cell}
}

/* ---- print: the itinerary only, black on white ------------------------- */
@media print{
  html body .rc-top,html body .rc-sec,html body .rc-actions,html body header.obar,html body nav,html body footer,html body .obc-stickybar{display:none!important}
  html body .rc-sheet{break-inside:avoid;border-top:2px solid #000}
  html body .rc-bd{background:#fff;color:#000;border:1px solid #000;border-radius:0}
  html body .rc-bd td,html body .rc-bd th,html body .rc-bd h3,html body .rc-bd .rc-num,html body .rc-bd td.rc-fl b{color:#000}
  html body .rc-live{display:none}
}

/* ---- calculator, second pass: via field, drawer, share row, contrast ---- */
html body .rc-mask{grid-template-columns:1.25fr auto 1.25fr 1fr 1.1fr auto}
html body .rc-f label{color:#A9B8CC}
html body .rc-f label span{font-weight:600;letter-spacing:.02em;text-transform:none;color:#7C8DA6;margin-left:6px}
html body .rc-f input::placeholder{color:#7C8DA6}
html body .rc-under{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:14px 0 0}
html body .rc-advb{background:none;border:0;padding:0 0 3px;cursor:pointer;font:inherit;font-size:12.5px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;color:#14181F;border-bottom:2px solid #14181F}
html body .rc-advb::after{content:"";display:inline-block;width:7px;height:7px;margin:0 0 2px 9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
html body .rc-advb[aria-expanded="true"]::after{transform:rotate(-135deg);margin-bottom:-2px}
html body .rc-advb:hover{color:#B3121A;border-color:#D71920}
html body .rc-underhint{font-size:13px;color:#5B6472}
html body .rc-adv{margin:18px 0 0;padding:18px 0 4px;border-top:1px solid #E3E6EA}
html body .rc-adv[hidden]{display:none}
html body .rc-advg{display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px;margin:0}
html body .rc-advg > div{display:flex;flex-direction:column;justify-content:flex-end;min-height:96px;padding:0 0 10px;border-bottom:1px solid #E3E6EA}
html body .rc-advg label{display:block;padding:0;border:0;margin:0 0 auto;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5B6472;line-height:1.4}
html body .rc-advg input{width:74px;margin:10px 6px 0 0;padding:4px 0;border:0;border-bottom:2px solid #14181F;font:inherit;font-size:22px;font-weight:800;color:#14181F;background:transparent;font-variant-numeric:tabular-nums}
html body .rc-advg span{font-size:12px;color:#8A919C}
html body .rc-adv p{margin:14px 0 0;max-width:80ch;font-size:13.5px;line-height:1.65;color:#5B6472}
html body .rc-chk{margin:14px 0 0;color:#3D4552}

html body .rc-actions{gap:6px 4px;padding:12px 0}
html body .rc-al{width:100%;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8A919C;margin:0 0 6px}
html body .rc-actions button,html body .rc-actions a{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;margin:0 6px 6px 0;
  border:1px solid #14181F;border-radius:4px;font-size:12.5px;letter-spacing:.06em;color:#14181F;background:#fff;text-transform:uppercase;font-weight:800}
html body .rc-actions button:hover,html body .rc-actions a:hover{background:#14181F;color:#fff;border-color:#14181F}
html body .rc-actions svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html body #rc-copied{margin-left:6px;padding:0;border:0;text-transform:none;letter-spacing:0}
html body .rc-ol li b{color:#14181F}

@media(max-width:1024px){
  html body .rc-mask{grid-template-columns:1fr auto 1fr;grid-auto-rows:auto}
  html body .rc-f:nth-child(4),html body .rc-f:nth-child(5){grid-column:span 1}
  html body .rc-go{grid-column:1/-1;border-radius:0 0 6px 6px;padding:16px}
  html body .rc-f{border-bottom:1px solid rgba(255,255,255,.14)}
}
@media(max-width:820px){
  html body .rc-mask{grid-template-columns:1fr}
  html body .rc-f:nth-child(4),html body .rc-f:nth-child(5){grid-column:auto}
  html body .rc-advg{grid-template-columns:1fr 1fr;gap:0 20px}
  html body .rc-advg > div{min-height:88px}
  html body .rc-actions button,html body .rc-actions a{flex:1 1 44%;justify-content:center;margin:0 0 8px}
  html body .rc-al{margin-bottom:8px}
}

/* ---- calculator, third pass: two row mask, airline field, change route --- */
html body .rc-mask{grid-template-columns:1.2fr auto 1.2fr 1fr auto;grid-template-areas:"from swap to dep go" "via via al al go"}
html body .rc-mask .rc-f:nth-of-type(1){grid-area:from}
html body .rc-mask .rc-swapb{grid-area:swap}
html body .rc-mask .rc-f:nth-of-type(2){grid-area:to}
html body .rc-mask .rc-f:nth-of-type(3){grid-area:via;border-top:1px solid rgba(255,255,255,.14)}
html body .rc-mask .rc-f:nth-of-type(4){grid-area:al;border-top:1px solid rgba(255,255,255,.14)}
html body .rc-mask .rc-f:nth-of-type(5){grid-area:dep}
html body .rc-mask .rc-go{grid-area:go}
html body .rc-mask .rc-f:nth-of-type(3) input,html body .rc-mask .rc-f:nth-of-type(4) input{font-size:15px;font-weight:600}
html body .rc-sf dl div{border-right-color:#E3E6EA}
html body .rc-when{margin:12px 0 0;padding:12px 0 0 16px;border-left:3px solid #D71920;font-size:16px;line-height:1.55;color:#14181F}
html body .rc-when b{color:#B3121A}
html body .rc-change{display:inline-flex;align-items:center;margin:10px 0 0;padding:0 0 3px;border:0;border-bottom:2px solid #14181F;background:none;cursor:pointer;
  font:inherit;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#14181F}
html body .rc-change:hover{color:#B3121A;border-color:#D71920}
html body .rc-actions .rc-change{margin:0 0 6px 6px;border:0;border-bottom:2px solid #14181F;border-radius:0;padding:9px 0 6px;background:none}
html body .rc-actions .rc-change:hover{background:none;color:#B3121A;border-color:#D71920}
@media(max-width:1024px){
  html body .rc-mask{grid-template-columns:1fr auto 1fr;grid-template-areas:"from swap to" "via via al" "dep dep dep" "go go go"}
  html body .rc-mask .rc-f:nth-of-type(5){border-top:1px solid rgba(255,255,255,.14)}
}
@media(max-width:820px){
  html body .rc-mask{grid-template-columns:1fr;grid-template-areas:"from" "swap" "to" "via" "al" "dep" "go"}
  html body .rc-mask .rc-swapb{justify-self:end;margin:-15px 14px -15px 0}
  html body .rc-mask .rc-f{border-top:0}
}

/* ---- calculator, fourth pass: deadline, flags, clear, one page print ----- */
html body .rc-claim{margin:12px 0 0;max-width:60ch;font-size:15px;font-weight:700;line-height:1.55;color:#14181F}
html body .rc-mask{grid-template-columns:1.2fr auto 1.2fr 1fr auto;grid-template-areas:"from swap to dep go" "via via al need go"}
html body .rc-mask .rc-f:nth-of-type(5){grid-area:dep}
html body .rc-mask .rc-f:nth-of-type(6){grid-area:need;border-top:1px solid rgba(255,255,255,.14)}
html body .rc-mask .rc-f:nth-of-type(6) input{font-size:15px;color-scheme:dark}
html body .rc-btns{grid-area:go;display:flex;flex-direction:column}
html body .rc-btns .rc-go{flex:1;border-radius:0 6px 0 0}
html body .rc-clear{flex:none;border:0;border-top:1px solid rgba(255,255,255,.18);background:#14213A;color:#C7D2E0;font:inherit;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:12px 18px;cursor:pointer;border-radius:0 0 6px 0}
html body .rc-clear:hover{background:#1D2C4A;color:#fff}
html body .rc-flag{margin:10px 0 0;padding:10px 0 10px 16px;border-left:3px solid #B45309;font-size:14px;line-height:1.6;color:#3D4552}
html body .rc-flag b{color:#92400E}
html body .rc-flag-duty{border-left-color:#14181F}
html body .rc-flag-duty b{color:#14181F}
html body .rc-ok{margin:10px 0 0;padding:10px 0 10px 16px;border-left:3px solid #16A34A;font-size:14px;line-height:1.6;color:#3D4552}
html body .rc-ok b{color:#14532D}
html body .rc-late{opacity:.92}
html body .rc-late .rc-sh{border-bottom-color:#B45309}
@media(max-width:1024px){
  html body .rc-mask{grid-template-areas:"from swap to" "via via al" "dep dep need" "go go go"}
  html body .rc-btns{flex-direction:row}
  html body .rc-btns .rc-go{border-radius:0 0 0 6px}
  html body .rc-clear{border-top:0;border-left:1px solid rgba(255,255,255,.18);border-radius:0 0 6px 0}
}
@media(max-width:820px){
  html body .rc-mask{grid-template-areas:"from" "swap" "to" "via" "al" "dep" "need" "go"}
}
/* Print: one page, the answer only. A routing is sent, not filed. */
@media print{
  @page{margin:12mm}
  html body .rc-head{padding:0 0 4px}
  html body .rc-head h2{font-size:18pt}
  html body .rc-head p{font-size:9pt}
  html body .rc-sheet{margin:8px 0 0;page-break-inside:avoid}
  html body .rc-sheet:nth-of-type(n+3){display:none}   /* fastest and one alternative fit one page */
  html body .rc-sh{padding:6px 0}
  html body .rc-route{font-size:12pt}
  html body .rc-tot b{font-size:16pt}
  html body .rc-leg,html body .rc-transit{padding:5px 0}
  html body .rc-t b{font-size:12pt}
  html body .rc-city{font-size:10pt}
  html body .rc-meta,html body .rc-sf dt,html body .rc-sf dd,html body .rc-when,html body .rc-flag,html body .rc-ok{font-size:8.5pt}
  html body .rc-ops{display:none}
  html body .rc-notes{font-size:8pt;margin-top:8px}
  html body .rc-bd{display:none}
  html body .rc-change,html body .rc-under,html body .rc-adv{display:none}
  html body .rc-res::after{content:"Printed from onboardcourier.ae/atlas/route-calculator. Times on the sheet are estimates; live departures are on the page. Printed only when needed: most routings are better sent than filed.";display:block;margin-top:10px;font-size:7.5pt;color:#555;border-top:1px solid #000;padding-top:4px}
}

/* ---- calculator, fifth pass: board hover and status dots, switches ------- */
html body .rc-bd table tbody tr:hover td,html body .rc-bd table tbody tr:hover td b,html body .rc-bd table tbody tr:hover td span,
html body .rc-bd table tbody tr:hover td.rc-num{background:rgba(255,255,255,.05);color:#fff}
html body .rc-bd table tbody tr:hover td span{color:#C7D2E0}
html body .rc-bd td .rc-st,html body .rc-bd table td i.rc-st{display:inline-block;width:8px;height:8px;min-width:8px;max-width:8px;
  border-radius:50%;margin:0 8px 2px 0;vertical-align:middle;padding:0;font-size:0;line-height:0}
html body .rc-bd td.rc-fl{display:flex;align-items:center;gap:10px;min-width:220px}
html body .rc-bd td.rc-fl .rc-logo{flex:none}
html body .rc-advh{margin:18px 0 4px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8A919C}
html body .rc-chk{margin:8px 0 0;font-weight:600}

/* ---- the Atlas and the calculator set their own type: left, no centred rule */
html body .rc section > .wrap > h2,html body .atlas section > .wrap > h2,html body .rc h1,html body .rc h2{text-align:left}
html body .rc section > .wrap > h2::before,html body .atlas section > .wrap > h2::before{display:none}
html body .rc-prose p,html body .rc-prose li,html body .rc-lede,html body .rc-claim,html body .rc-kick{text-align:left}
html body .rc-top .wrap,html body .rc-sec .wrap{margin-left:auto;margin-right:auto}

/* ---- calculator, sixth pass: the frame is left aligned, full stop --------- */
html body .rc .wrap,html body .rc .wrap > *,html body .rc-top .wrap > *{text-align:left}
html body .rc .wrap{margin-left:auto;margin-right:auto}
html body .rc-kick,html body .rc-claim,html body .rc-lede,html body .rc-stat{margin-left:0;margin-right:0}
html body .rc-stat{display:flex}
html body .rc-more{text-align:center;margin:18px 0 0}
html body .rc-src .rc-more{text-align:center}
html body .rc-alts{display:inline-flex;align-items:center;gap:8px;margin:14px 0 0;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#14181F;cursor:pointer}
html body .rc-alts input{accent-color:#D71920;margin:0}
html body .rc-onlybest .rc-sheet:not(.rc-fastest){display:none}

/* ============================================================================
   Route calculator, final layout. Light, mobile first, one block, new class
   names for the mask so nothing above can reach it. Airline booking mask on
   the left of the eye, results as an itinerary, departures as a light board.
   ========================================================================== */
html body .rq-mask{margin:26px 0 0;background:#fff;border:1px solid #D8DDE3;border-radius:8px;overflow:visible}
html body .rq-row{display:grid;grid-template-columns:1fr;gap:0}
html body .rq-f{position:relative;padding:12px 16px 12px;border-bottom:1px solid #E3E6EA;background:#fff}
html body .rq-f label{display:block;margin:0 0 3px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#5B6472}
html body .rq-f label span{font-weight:600;letter-spacing:.02em;text-transform:none;color:#8A919C;margin-left:6px}
html body .rq-f input{display:block;width:100%;padding:4px 0;border:0;background:transparent;color:#14181F;font:inherit;font-size:18px;font-weight:700;letter-spacing:-.01em;outline:0;color-scheme:light;min-height:30px}
html body .rq-f input::placeholder{color:#9AA3AE;font-weight:600}
html body .rq-f input[type="datetime-local"]{font-size:16px;font-weight:700}
html body .rq-f:focus-within{background:#FBFBFC}
html body .rq-f:focus-within label{color:#B3121A}
html body .rq-swap{justify-self:end;margin:-16px 14px -16px 0;width:32px;height:32px;border-radius:50%;border:1px solid #D8DDE3;background:#fff;color:#14181F;font-size:16px;line-height:1;cursor:pointer;position:relative;z-index:2}
html body .rq-swap:hover{background:#D71920;border-color:#D71920;color:#fff}
html body .rq-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;background:#F5F6F8;border-radius:0 0 8px 8px}
html body .rq-go{flex:1 1 100%;border:0;border-radius:6px;background:#D71920;color:#fff;font:inherit;font-size:16px;font-weight:800;padding:14px 22px;cursor:pointer}
html body .rq-go:hover{background:#B3121A}
html body .rq-clear,html body .rq-advb{background:none;border:0;padding:6px 0 3px;cursor:pointer;font:inherit;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5B6472;border-bottom:2px solid transparent}
html body .rq-clear:hover,html body .rq-advb:hover{color:#B3121A;border-color:#D71920}
html body .rq-advb::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 2px 8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
html body .rq-advb[aria-expanded="true"]::after{transform:rotate(-135deg);margin-bottom:-2px}
html body .rc-acbox{top:100%;border-radius:0 0 6px 6px}
@media(min-width:721px){
  html body .rq-row{grid-template-columns:1fr auto 1fr}
  html body .rq-f{border-bottom:0;border-right:1px solid #E3E6EA}
  html body .rq-row .rq-f:last-child{border-right:0}
  html body .rq-swap{align-self:center;justify-self:center;margin:0 -16px;z-index:2}
  html body .rq-row2{grid-template-columns:1fr 1fr 1fr 1fr;border-top:1px solid #E3E6EA}
  html body .rq-go{flex:0 0 auto;padding:12px 26px;font-size:15px}
}

/* the departures board, light */
html body .rc-bd{background:#fff;color:#14181F;border:1px solid #D8DDE3;padding:18px 20px}
html body .rc-bd header{border-bottom:1px solid #E3E6EA}
html body .rc-bd h3{color:#14181F}
html body .rc-bd header p,html body .rc-bd td span,html body .rc-bd td.rc-fl span,html body .rc-none{color:#5B6472}
html body .rc-bd th{color:#8A919C;border-bottom:1px solid #E3E6EA}
html body .rc-bd td{color:#3D4552;border-bottom:1px solid #F0F2F5}
html body .rc-bd td.rc-fl b,html body .rc-bd .rc-num{color:#14181F}
html body .rc-bd .rc-logo{background:transparent;padding:0}
html body .rc-bd .rc-code{border-color:#14181F;color:#14181F}
html body .rc-bd .rc-cargo{border-color:#C6CBD2;color:#5B6472}
html body .rc-bd table tbody tr:hover td,html body .rc-bd table tbody tr:hover td b,html body .rc-bd table tbody tr:hover td.rc-num{background:#F5F6F8;color:#14181F}
html body .rc-bd table tbody tr:hover td span{color:#5B6472}
html body .rc-st.rc-ok{background:#9AA3AE}

/* the faq as a list, the essay in two columns */
html body .rq-faq{margin:6px 0 0;padding:0}
html body .rq-faq dt{margin:0;padding:16px 0 6px;border-top:1px solid #E3E6EA;font-size:16px;font-weight:800;color:#14181F}
html body .rq-faq dd{margin:0 0 6px;font-size:15px;line-height:1.7;color:#3D4552}
html body .rq-essay{max-width:1120px}
html body .rq-essay h2{max-width:820px}
html body .rq-essay p{margin:0 0 14px;text-align:left}
@media(min-width:900px){
  html body .rq-essay .rq-cols{columns:2;column-gap:44px}
  html body .rq-essay .rq-cols p{break-inside:avoid}
}
@media print{ html body .rq-mask{display:none} }

/* ============================================================================
   Atlas and calculator: alignment, settled once.

   The theme centres h1, h2 and the lead paragraph of every <section>, and it
   does so from inside media queries as well as at the top level. On a
   reference page and on a tool that reads as text that has slipped its grid,
   and chasing it selector by selector is how an afternoon disappears. These
   few declarations are deliberately marked important: they are scoped to two
   page types this file owns, and they exist to beat a global rule from a
   scoped context, which is what the keyword is actually for.
   ========================================================================== */
html body main.rc,html body main.atlas{text-align:left!important}
html body main.rc h1,html body main.rc h2,html body main.rc h3,html body main.rc p,html body main.rc li,html body main.rc dt,html body main.rc dd,
html body main.atlas h1,html body main.atlas h2,html body main.atlas h3,html body main.atlas p,html body main.atlas li,html body main.atlas dt,html body main.atlas dd{
  text-align:left!important;margin-left:0;margin-right:0}
html body main.rc h2::before,html body main.atlas h2::before,html body main.rc h1::before,html body main.atlas h1::before{display:none!important}
/* the one line that is meant to sit in the middle */
html body main.rc .rc-more,html body main.atlas .at-more{text-align:center!important}
html body main.rc .rc-more a,html body main.atlas .at-more a{display:inline-block}

/* The block above set text-align important but left the margins alone, and the
   theme centres each paragraph inside its own max-width with margin auto. That
   produced a staircase: kicker indented 216px, claim 113px, lead 55px, each
   one centred in a different width. The margins have to carry the same weight
   as the alignment, and the heading needs a selector that outranks the
   theme's own. */
html body main.rc .wrap > h1,html body main.rc .wrap > h2,html body main.atlas .wrap > h1,html body main.atlas .wrap > h2{
  text-align:left!important;margin-left:0!important;margin-right:0!important}
html body main.rc .wrap > p,html body main.rc .wrap > ol,html body main.rc .wrap > ul,html body main.rc .wrap > dl,
html body main.atlas .wrap > p,html body main.atlas .wrap > ol,html body main.atlas .wrap > ul,html body main.atlas .wrap > dl,
html body main.rc .rc-kick,html body main.rc .rc-claim,html body main.rc .rc-lede,html body main.rc .rc-stat{
  margin-left:0!important;margin-right:0!important}
html body main.rc .rc-more,html body main.atlas .at-more{text-align:center!important;margin-left:auto!important;margin-right:auto!important}

/* ============================================================================
   Corrected. The head of the calculator is a centred block, and the boxed
   cards are gone: no bordered tiles, no rounded panels with a coloured edge.
   Rules and type do the separating instead.
   ========================================================================== */
html body main.rc .rc-top .wrap{max-width:900px;margin-left:auto;margin-right:auto}
html body main.rc .rc-top .wrap > *,
html body main.rc .rc-kick,html body main.rc .rc-claim,html body main.rc .rc-lede,html body main.rc .rc-stat,
html body main.rc .rc-top h1{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
html body main.rc .rc-top h1{max-width:20ch}
html body main.rc .rc-claim{max-width:62ch}
html body main.rc .rc-lede{max-width:70ch}
html body main.rc .rc-stat{justify-content:center}
html body main.rc .rq-mask{text-align:left}
html body main.rc .rq-mask *{text-align:left!important}
html body main.rc .rq-go,html body main.rc .rq-clear,html body main.rc .rq-advb{text-align:center!important}

/* the section headings and their intro line, centred like the rest of the site */
html body main.rc .rc-sec > .wrap > h2,html body main.atlas .at-sec > .wrap > h2{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
html body main.rc .rc-sec > .wrap > h2 + p,html body main.atlas .at-sec > .wrap > .at-note{text-align:center!important;max-width:78ch;margin-left:auto!important;margin-right:auto!important}
html body main.rc .rq-essay .rq-cols p,html body main.rc .rq-faq dt,html body main.rc .rq-faq dd,
html body main.rc .rc-ol li,html body main.atlas .at-tab td,html body main.atlas .at-tab th{text-align:left!important}

/* no boxed tiles anywhere in the Atlas or the calculator */
html body main.atlas .at-ind,html body main.rc .rc-notes ul{display:block;columns:2 320px;column-gap:40px}
html body main.atlas .at-ind li,html body main.rc .rc-notes li{background:none!important;border:0!important;border-radius:0!important;
  padding:0 0 14px!important;margin:0 0 14px;break-inside:avoid;border-bottom:1px solid #E3E6EA!important}
html body main.atlas .at-ind li b{display:block;color:#14181F}
html body main.atlas .at-who,html body main.rc .rc-who{background:none!important;border:0!important;border-top:1px solid #E3E6EA!important;
  border-radius:0!important;padding:14px 0 0!important;max-width:none}
html body main.atlas .at-facts{background:none!important;border:0!important;border-radius:0!important;
  border-top:2px solid #14181F!important;gap:0}
html body main.atlas .at-facts > div{background:none!important;padding:14px 22px 14px 0;border-right:1px solid #E3E6EA}
html body main.atlas .at-facts > div:last-child{border-right:0}
html body main.atlas .at-tab{border:0!important;border-radius:0!important;border-top:2px solid #14181F!important}
html body main.atlas .at-tab th{background:none!important}
@media(max-width:820px){
  html body main.atlas .at-ind,html body main.rc .rc-notes ul{columns:1}
}

/* Every field the same height, whatever its label does. The label sits on a
   fixed two line block and the input is pinned to the bottom of the cell, so a
   caption that wraps cannot push its own input out of line with its
   neighbours. Same idea for the list items: one row, one baseline. */
html body main.rc .rq-f{display:flex;flex-direction:column;justify-content:flex-start;min-height:92px}
html body main.rc .rq-f label{min-height:30px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:0 6px;line-height:1.35}
html body main.rc .rq-f input{margin-top:auto}
html body main.rc .rq-row2 .rq-f{min-height:96px}
html body main.atlas .at-ind{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 40px;columns:auto}
html body main.atlas .at-ind li{display:flex;flex-direction:column;height:100%}
html body main.atlas .at-ind li span{margin-top:auto;padding-top:6px}
html body main.atlas .at-alt li i{align-self:flex-start;margin:4px 0 0}
@media(max-width:720px){
  html body main.rc .rq-f{min-height:0}
  html body main.rc .rq-f label{min-height:0}
}

/* wider frame, a stronger mask, and the city option marked out */
html body main.rc .rc-top .wrap,html body main.rc .rc-res .wrap{max-width:1180px}
html body main.rc .rq-mask{border:2px solid #14181F;border-radius:0;box-shadow:0 18px 44px rgba(10,22,40,.10)}
html body main.rc .rq-f{border-color:#E3E6EA}
html body main.rc .rq-row2{border-top:2px solid #14181F}
html body main.rc .rq-actions{background:#14181F;border-radius:0}
html body main.rc .rq-go{border-radius:0;padding:15px 30px;letter-spacing:.02em}
html body main.rc .rq-clear,html body main.rc .rq-advb{color:#9FB0C6;border-bottom-color:transparent}
html body main.rc .rq-clear:hover,html body main.rc .rq-advb:hover{color:#fff;border-bottom-color:#D71920}
html body main.rc .rq-f label span{color:#8A919C}
html body main.rc .rc-aci.rc-acity b{background:#14181F;color:#fff;padding:2px 6px;border-radius:3px;font-size:10.5px;letter-spacing:.08em}
html body main.rc .rc-aci.rc-acity{background:#FBFBFC}
html body main.rc .rc-aci.rc-acity span{font-weight:800}

/* The colophon is one block, set flush left, headline included. Three
   different alignments inside one section is what made it look broken.
   Written against the same structure as the centring rule it has to beat. */
html body main.rc .rc-sec.rc-src,html body main.atlas .at-sec.at-src{text-align:left!important}
html body main.rc .rc-sec.rc-src > .wrap > h2,
html body main.atlas .at-sec.at-src > .wrap > h2{
 text-align:left!important;margin:0 0 14px!important;font-size:13px!important;
 letter-spacing:.1em!important;text-transform:uppercase!important;color:#8A919C!important;font-weight:800!important}
html body main.rc .rc-sec.rc-src > .wrap > h2 + p,
html body main.rc .rc-sec.rc-src > .wrap p,
html body main.rc .rc-sec.rc-src > .wrap li,
html body main.atlas .at-sec.at-src > .wrap > h2 + p,
html body main.atlas .at-sec.at-src > .wrap > .at-note,
html body main.atlas .at-sec.at-src > .wrap p,
html body main.atlas .at-sec.at-src > .wrap li{
 text-align:left!important;max-width:84ch!important;margin-left:0!important;margin-right:0!important}
html body main.rc .rc-sec.rc-src > .wrap .rc-more,
html body main.atlas .at-sec.at-src > .wrap .at-more{
 text-align:left!important;margin-left:0!important;margin-right:0!important}
html body main.rc .rc-sec.rc-src .btnrow,html body main.atlas .at-sec.at-src .btnrow{
 justify-content:flex-start!important;margin-left:0!important}
html body main.rc .rc-sec.rc-src > .wrap,html body main.atlas .at-sec.at-src > .wrap{max-width:1180px}

/* every destination in the atlas opens its own entry */
html body main.atlas .at-tab a.at-l{color:#14181F;text-decoration:none;border-bottom:1px solid #D9DDE3}
html body main.atlas .at-tab a.at-l:hover{color:#D71920;border-bottom-color:#D71920}
html body main.atlas .at-tab a.at-c{color:#D71920;font-weight:700;font-size:12.5px;text-decoration:none;white-space:nowrap}
html body main.atlas .at-tab a.at-c:hover{text-decoration:underline}
html body main.atlas .at-tabx td:last-child,html body main.atlas .at-tabx th:last-child{text-align:right}
html body main.atlas .at-ind a.at-l{color:#14181F;text-decoration:none;border-bottom:1px solid #D9DDE3}
html body main.atlas .at-ind a.at-l:hover{color:#D71920;border-bottom-color:#D71920}

/* an empty result names the dead end and offers the field that flies */
html body main.rc .rc-dead{border-left:4px solid #D71920;padding-left:16px;text-align:left}
html body main.rc .rc-swap{background:#14181F;color:#fff;border:0;padding:4px 10px;font:700 13px/1.3 inherit;cursor:pointer}
html body main.rc .rc-swap:hover{background:#D71920}

/* ---- the menu, rebuilt as a directory of the site -----------------------
   A site of nine thousand pages was showing nine links, so it read as a site
   of nine pages. The bar keeps its short list; the button opens the whole
   directory, at every width, grouped and counted. */

/* the bar itself: the wrappers add no box, so the inline layout is unchanged */
html body .nav .nsheet-bar{display:contents}
html body .nav .nsheet-h,html body .nav .nsheet-g,html body .nav .nsheet-f,
html body .nav .links .ni,html body .nav .links .nsw{display:none}

/* The burger belongs on a telephone. On a wide screen the bar carries the
   links and there is nothing to hide, so the button stays out of the way: Nami
   looked at it on the desktop twice and did not want it either time. */
@media(max-width:940px){
 html body .nav .hamb{display:flex!important;flex-direction:column;align-items:center;
  justify-content:center;gap:5px;margin-left:auto;padding:9px 8px;cursor:pointer;order:9;border:0;background:none}
 html body .nav .hamb span:not(.vh-obc){display:block;width:22px;height:2px;border-radius:2px;
  background:currentColor;transition:transform .2s ease,opacity .2s}
 html body .nav .navtoggle:checked ~ .hamb span:nth-child(2){opacity:0}
}

/* the panel */
@media(max-width:940px){
html body .nav .navtoggle:checked ~ .links{position:fixed!important;inset:0!important;
 background:#fff!important;padding:0!important;display:flex!important;flex-direction:column!important;
 gap:0!important;z-index:999;overflow-y:auto;overscroll-behavior:contain}
html body .nav .navtoggle:checked ~ .links .nsheet-bar{display:none!important}
html body .nav .navtoggle:checked ~ .links .nsheet-h{display:flex;align-items:center;gap:12px;
 padding:16px 18px;border-bottom:1px solid #EAEDF1;position:sticky;top:0;background:#fff;z-index:2}
html body .nav .links .nsheet-h b{font-size:17px;font-weight:800;color:#14181F;letter-spacing:-.01em}
html body .nav .links .nsheet-grab{width:34px;height:4px;border-radius:4px;background:#DDE1E6;flex:0 0 auto}
html body .nav .links .nsheet-x{margin-left:auto;width:38px;height:38px;display:flex;
 align-items:center;justify-content:center;color:#5A6572;cursor:pointer}
html body .nav .links .nsheet-x svg{width:20px;height:20px}

html body .nav .navtoggle:checked ~ .links .nsheet-g{display:block!important;
 padding:18px 16px 4px;max-width:1180px;margin:0 auto;width:100%;box-sizing:border-box}
html body .nav .navtoggle:checked ~ .links .nsheet-grp{margin-bottom:22px}
html body .nav .links .nsheet-grp h3{margin:0 0 10px;font:800 11.5px/1 inherit;letter-spacing:.12em;
 text-transform:uppercase;color:#8A919C}
html body .nav .links .nsheet-rows{display:grid;grid-template-columns:1fr 1fr;gap:8px}
html body .nav .navtoggle:checked ~ .links .nsheet-rows a{display:flex!important;align-items:center;
 gap:10px;border:1px solid #E6E9ED!important;border-radius:10px;background:#fff;
 padding:13px 12px!important;font-size:14px!important;font-weight:700!important;
 color:#14181F!important;text-decoration:none;min-height:52px;line-height:1.25}
html body .nav .navtoggle:checked ~ .links .nsheet-rows a:active{background:#F4F5F7}
html body .nav .navtoggle:checked ~ .links .ni{display:flex;flex:0 0 20px;color:#5A6572}
html body .nav .links .ni svg{width:20px;height:20px}
html body .nav .links .nsheet-n{margin-left:auto;font:800 11.5px/1 inherit;font-style:normal;
 letter-spacing:.04em;color:#D71920;background:#FFF1F1;padding:4px 7px;border-radius:20px}
html body .nav .links .nsheet-total{margin:4px 0 18px;font-size:13px;color:#8A919C;text-align:center}

html body .nav .navtoggle:checked ~ .links .nsheet-f{display:grid!important;
 grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px calc(18px + env(safe-area-inset-bottom));
 margin-top:auto;border-top:1px solid #EAEDF1;position:sticky;bottom:0;background:#fff;
 box-shadow:0 -10px 22px rgba(10,22,40,.06);z-index:3;max-width:1180px;margin-left:auto;
 margin-right:auto;width:100%;box-sizing:border-box}
html body .nav .navtoggle:checked ~ .links .nsheet-f a{display:flex!important;align-items:center;
 gap:10px;border:1px solid #E6E9ED!important;border-radius:10px;background:#fff;
 padding:14px 12px!important;font-size:14.5px!important;font-weight:700!important;
 color:#14181F!important;text-decoration:none;justify-content:center}
html body .nav .navtoggle:checked ~ .links .nsheet-f .oport-m .ni{color:#D71920}
html body .nav .navtoggle:checked ~ .links a.cta{grid-column:1/-1;justify-content:center;
 background:#D71920!important;border-color:#D71920!important;color:#fff!important;
 -webkit-text-fill-color:#fff!important;border-radius:10px!important;padding:15px!important;
 font-size:15.5px!important}
html body .nav .navtoggle:checked ~ .links .nsw{display:flex!important;grid-column:1/-1;
 justify-content:center;border-color:#14181F!important;color:#14181F!important}

}
@media(max-width:520px){
 html body .nav .links .nsheet-rows{grid-template-columns:1fr}
}
/* the page's own sticky bar must not sit on top of the open menu */
body:has(.navtoggle:checked) .obc-stickybar{display:none!important}

/* a code in a table is a page we publish, so it reads as one */
html body td a.at-x{color:#14181F;text-decoration:none;border-bottom:1px solid #D9DDE3;font-weight:inherit}
html body td a.at-x:hover{color:#D71920;border-bottom-color:#D71920}

/* the stat quad: four, then two, then one, and never a clipped figure */
html body .obc-stats .wrap{overflow:hidden}
html body .obc-stats b{overflow-wrap:anywhere}
@media(max-width:1000px){html body .obc-stats .wrap{grid-template-columns:1fr 1fr;gap:26px 0}
 html body .obc-stats div:nth-child(odd){border-left:0;padding-left:0}
 html body .obc-stats div:nth-child(even){padding-left:22px}}
@media(max-width:520px){html body .obc-stats{padding:32px 0}
 html body .obc-stats .wrap{grid-template-columns:1fr;gap:22px}
 html body .obc-stats div{border-left:0;padding:0}
 html body .obc-stats b{font-size:34px}
 html body .obc-stats span{max-width:none}}

/* on a phone the tool comes first and the essay comes after it */
@media(max-width:760px){
 html body main.rc .rc-top .rc-lede{display:none}
 html body main.rc .rc-top .rc-claim{font-size:15px;line-height:1.5;margin-bottom:14px}
 html body main.rc .rc-top h1{font-size:27px;line-height:1.15}
 html body main.rc .rc-top{padding-top:22px}
 html body main.rc .rq-mask{border-width:2px}
}

/* "Needed by" stays optional but stops hiding */
html body main.rc .rq-f label .rq-opt{color:#8A919C;font-weight:600}
html body main.rc .rq-need label{color:#14181F}
html body main.rc .rq-need input:not([value=""]){border-color:#14181F}

/* the embed page: the snippet, the copy button and the live frame */
html body main.em .em-code{position:relative;background:#14181F;padding:18px 18px 16px;margin:14px 0 8px;overflow-x:auto}
html body main.em .em-code pre{margin:0;color:#E8ECF1;font:600 13.5px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-all}
html body main.em .em-copy{margin-top:12px;background:#D71920;color:#fff;border:0;padding:11px 20px;font:800 13.5px/1 inherit;cursor:pointer}
html body main.em .em-copy:hover{background:#B3121A}
html body main.em .em-done{margin-left:12px;color:#4ADE80;font-weight:700;font-size:13px}
html body main.em .em-demo{margin-top:8px}
html body main.em code{background:#F2F4F7;padding:2px 5px;font:600 13px/1.5 ui-monospace,Menlo,monospace}
html body main.em .rc-sec h3{font-size:17px;margin:22px 0 6px}

/* the desk contracts with companies, so a private enquiry gets told plainly */
html body .qf-only{border-left:4px solid #D71920;background:#FFF5F5;padding:14px 16px;margin:14px 0 4px}
html body .qf-only b{display:block;font-size:15px;color:#14181F;margin-bottom:5px}
html body .qf-only span{display:block;font-size:14px;line-height:1.55;color:#5B6472}
html body .qf-only em{font-style:normal;font-weight:700;color:#14181F}
html body form button[type=submit][disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}

/* who you are actually contracting with, said once, near the top */
html body .obc-entity{margin:14px 0 0;padding:12px 0 0;border-top:1px solid #E3E6EA;
 font-size:13.5px;line-height:1.6;color:#5B6472;max-width:74ch}
html body .obc-entity a{color:#D71920;font-weight:700;text-decoration:none}
html body .obc-entity a:hover{text-decoration:underline}

/* The stat band sat flush against the screen edge on a phone, so the first
   figure looked cut off. The wrap's own padding was being zeroed by a page
   rule, so this band carries its own and does not rely on inheriting it. */
html body .obc-stats > .wrap{padding-left:22px!important;padding-right:22px!important;
 box-sizing:border-box;width:100%;max-width:1140px}
@media(max-width:520px){
 html body .obc-stats > .wrap{padding-left:18px!important;padding-right:18px!important}
 html body .obc-stats > .wrap > div{padding-left:0!important;padding-right:0!important}
}

/* the air freight small print: said plainly, set quietly */
html body .obc-afnote{background:#fff;border-top:1px solid #E3E6EA;padding:26px 0 30px}
html body .obc-afnote .wrap{max-width:1140px;margin:0 auto;padding:0 22px;box-sizing:border-box}
html body .obc-afnote p{margin:0;font-size:12.5px;line-height:1.75;color:#8A919C;max-width:96ch;text-align:left}
html body .obc-afnote a{color:#8A919C;text-decoration:underline}
html body .obc-afnote a:hover{color:#D71920}

/* the earnings calculator: figures on hairlines, never boxes */
html body .obc-earncalc{background:#fff;border-top:1px solid #E3E6EA;padding:44px 0 48px}
html body .obc-earncalc .wrap{max-width:1140px;margin:0 auto;padding:0 22px;box-sizing:border-box}
html body .obc-earncalc h2{text-align:center}
html body .obc-earncalc .lead{text-align:center;max-width:78ch;margin:0 auto 22px}
html body .ec-in{display:grid;grid-template-columns:2fr 1fr;gap:18px 26px;align-items:end;
 padding-bottom:20px;border-bottom:2px solid #14181F}
html body .ec-f{display:flex;flex-direction:column;gap:6px;min-width:0}
html body .ec-f > span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8A919C}
html body .ec-f select{width:100%;padding:12px 10px;border:1px solid #D9DDE3;background:#fff;
 font:600 14.5px/1.3 inherit;color:#14181F;border-radius:0}
html body .ec-f input[type=range]{width:100%;accent-color:#D71920}
html body .ec-f output{font:800 20px/1 inherit;color:#14181F}
html body .ec-chk{grid-column:1/-1;display:flex;gap:9px;align-items:flex-start;
 font-size:13.5px;line-height:1.55;color:#5B6472}
html body .ec-chk input{margin-top:3px;accent-color:#D71920}
html body .ec-out{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:22px}
html body .ec-fig{padding:6px 22px;border-left:1px solid #E3E6EA}
html body .ec-fig:first-child{border-left:0;padding-left:0}
html body .ec-k{display:block;font-size:12px;font-weight:800;letter-spacing:.07em;
 text-transform:uppercase;color:#8A919C}
html body .ec-fig b{display:block;margin-top:7px;font-size:clamp(22px,2.6vw,31px);line-height:1.05;
 letter-spacing:-.03em;color:#14181F}
html body .ec-n{display:block;margin-top:8px;font-size:13px;line-height:1.5;color:#5B6472}
html body .ec-note{margin-top:24px;padding-top:16px;border-top:1px solid #E3E6EA;
 font-size:12.5px;line-height:1.75;color:#8A919C;max-width:96ch}
@media(max-width:900px){html body .ec-in{grid-template-columns:1fr}
 html body .ec-out{grid-template-columns:1fr 1fr;gap:22px 0}
 html body .ec-fig:nth-child(odd){border-left:0;padding-left:0}}
@media(max-width:560px){html body .ec-out{grid-template-columns:1fr;gap:20px}
 html body .ec-fig{border-left:0;padding:0}}

/* Printing a routing prints the routing, on whatever page it was calculated.
   The calculator lifts a copy of the sheet into .rc-printroot and sets the
   class below, so everything else on the page steps out of the way. */
html body .rc-printroot{display:none}
@media print{
 html.rc-printing body > *{display:none!important}
 html.rc-printing body .rc-printroot{display:block!important;margin:0;padding:0}
 html.rc-printing body .rc-printroot .rc-sheet{break-inside:avoid;border-top:2px solid #000}
 html.rc-printing body .rc-printroot .rc-sheet:nth-of-type(n+3){display:none}
 html.rc-printing body .rc-printroot .rc-bd,
 html.rc-printing body .rc-printroot .rc-ops,
 html.rc-printing body .rc-printroot .rc-live,
 html.rc-printing body .rc-printroot .rc-under{display:none!important}
 html.rc-printing body .rc-printroot .rc-bd,
 html.rc-printing body .rc-printroot table{background:#fff;color:#000}
 html.rc-printing body .rc-printmark{margin-top:10px;padding-top:6px;border-top:1px solid #000;
  font-size:8pt;line-height:1.5;color:#000}
}

/* ---- full rows, always -------------------------------------------------
   A four across grid holding six tiles draws four and then two, and the two
   empty cells beside them are the thing Nami rejects on sight. The count is
   not knowable in advance, so the track is computed from it: twelve columns
   underneath, each tile spanning whatever makes its own row come out whole.
   Six become two rows of three, five become three and two, seven four and
   three. apply_theme.py puts .rowfill on the grids this applies to, which is
   why this is one selector and not twenty three.
   Only above 900px: below it the one and two column rules already fill.
   -------------------------------------------------------------------- */
@media(min-width:901px){
html body .rowfill:has(>:nth-child(5):last-child){grid-template-columns:repeat(12,minmax(0,1fr))!important}
html body .rowfill:has(>:nth-child(5):last-child)>:nth-child(1),html body .rowfill:has(>:nth-child(5):last-child)>:nth-child(2),html body .rowfill:has(>:nth-child(5):last-child)>:nth-child(3){grid-column:span 4}
html body .rowfill:has(>:nth-child(5):last-child)>:nth-child(4),html body .rowfill:has(>:nth-child(5):last-child)>:nth-child(5){grid-column:span 6}
html body .rowfill:has(>:nth-child(6):last-child){grid-template-columns:repeat(12,minmax(0,1fr))!important}
html body .rowfill:has(>:nth-child(6):last-child)>:nth-child(1),html body .rowfill:has(>:nth-child(6):last-child)>:nth-child(2),html body .rowfill:has(>:nth-child(6):last-child)>:nth-child(3){grid-column:span 4}
html body .rowfill:has(>:nth-child(6):last-child)>:nth-child(4),html body .rowfill:has(>:nth-child(6):last-child)>:nth-child(5),html body .rowfill:has(>:nth-child(6):last-child)>:nth-child(6){grid-column:span 4}
html body .rowfill:has(>:nth-child(7):last-child){grid-template-columns:repeat(12,minmax(0,1fr))!important}
html body .rowfill:has(>:nth-child(7):last-child)>:nth-child(1),html body .rowfill:has(>:nth-child(7):last-child)>:nth-child(2),html body .rowfill:has(>:nth-child(7):last-child)>:nth-child(3),html body .rowfill:has(>:nth-child(7):last-child)>:nth-child(4){grid-column:span 3}
html body .rowfill:has(>:nth-child(7):last-child)>:nth-child(5),html body .rowfill:has(>:nth-child(7):last-child)>:nth-child(6),html body .rowfill:has(>:nth-child(7):last-child)>:nth-child(7){grid-column:span 4}
html body .rowfill:has(>:nth-child(9):last-child){grid-template-columns:repeat(12,minmax(0,1fr))!important}
html body .rowfill:has(>:nth-child(9):last-child)>:nth-child(1),html body .rowfill:has(>:nth-child(9):last-child)>:nth-child(2),html body .rowfill:has(>:nth-child(9):last-child)>:nth-child(3){grid-column:span 4}
html body .rowfill:has(>:nth-child(9):last-child)>:nth-child(4),html body .rowfill:has(>:nth-child(9):last-child)>:nth-child(5),html body .rowfill:has(>:nth-child(9):last-child)>:nth-child(6){grid-column:span 4}
html body .rowfill:has(>:nth-child(9):last-child)>:nth-child(7),html body .rowfill:has(>:nth-child(9):last-child)>:nth-child(8),html body .rowfill:has(>:nth-child(9):last-child)>:nth-child(9){grid-column:span 4}
html body .rowfill:has(>:nth-child(10):last-child){grid-template-columns:repeat(12,minmax(0,1fr))!important}
html body .rowfill:has(>:nth-child(10):last-child)>:nth-child(1),html body .rowfill:has(>:nth-child(10):last-child)>:nth-child(2),html body .rowfill:has(>:nth-child(10):last-child)>:nth-child(3),html body .rowfill:has(>:nth-child(10):last-child)>:nth-child(4){grid-column:span 3}
html body .rowfill:has(>:nth-child(10):last-child)>:nth-child(5),html body .rowfill:has(>:nth-child(10):last-child)>:nth-child(6),html body .rowfill:has(>:nth-child(10):last-child)>:nth-child(7){grid-column:span 4}
html body .rowfill:has(>:nth-child(10):last-child)>:nth-child(8),html body .rowfill:has(>:nth-child(10):last-child)>:nth-child(9),html body .rowfill:has(>:nth-child(10):last-child)>:nth-child(10){grid-column:span 4}
html body .rowfill:has(>:nth-child(11):last-child){grid-template-columns:repeat(12,minmax(0,1fr))!important}
html body .rowfill:has(>:nth-child(11):last-child)>:nth-child(1),html body .rowfill:has(>:nth-child(11):last-child)>:nth-child(2),html body .rowfill:has(>:nth-child(11):last-child)>:nth-child(3),html body .rowfill:has(>:nth-child(11):last-child)>:nth-child(4){grid-column:span 3}
html body .rowfill:has(>:nth-child(11):last-child)>:nth-child(5),html body .rowfill:has(>:nth-child(11):last-child)>:nth-child(6),html body .rowfill:has(>:nth-child(11):last-child)>:nth-child(7),html body .rowfill:has(>:nth-child(11):last-child)>:nth-child(8){grid-column:span 3}
html body .rowfill:has(>:nth-child(11):last-child)>:nth-child(9),html body .rowfill:has(>:nth-child(11):last-child)>:nth-child(10),html body .rowfill:has(>:nth-child(11):last-child)>:nth-child(11){grid-column:span 4}
}

/* ---- the footer fills its own box --------------------------------------
   Seven link groups in a six column grid draw six and then one, and the
   seventh sits alone above five empty cells: on a 1728 screen that is most
   of a screen height of nothing. A grid cannot fix that, because the groups
   are eleven links and four links long and no arrangement of seven unequal
   blocks fills six equal cells.

   A column flow can. The browser balances the seven groups across the
   columns after it knows how tall each one is, so one column takes two short
   groups and the rest take one, and the footer ends level. break-inside is
   what keeps a group from being split down the middle.
   -------------------------------------------------------------------- */
/* Seven groups, and a column flow cannot balance them: it fills in document
   order and may not split a group, so five columns ended around 600px while
   the sixth stacked two groups and ran to 1,098. Five columns of white.

   A twelve column grid can, because the row arithmetic in "full rows,
   always" above gives seven items rows of four and three with the spans to
   match, and both rows come out whole. apply_theme.py puts .rowfill on the
   footer grid so those rules apply to it. */
html body footer .fgrid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:30px 24px}
html body footer .fgrid>*{min-width:0;grid-column:span 3}
@media(max-width:1240px){html body footer .fgrid{gap:28px 22px}html body footer .fgrid>*{grid-column:span 4}}
@media(max-width:760px){html body footer .fgrid{gap:24px 18px}html body footer .fgrid>*{grid-column:span 6}}
@media(max-width:480px){html body footer .fgrid>*{grid-column:span 12}}

/* ---- one item is not two columns --------------------------------------
   .pr-grid is `columns: 2 330px`, which is right for a set of paragraphs and
   wrong for one. A section that ended up with a single .pr-item drew it at
   494px inside a 1036px band and left 542 measured pixels of white beside it,
   which is the defect Nami has photographed more than once.

   Column boxes cannot be told to balance a single child, so the container
   stops being multi-column when there is only one thing in it. The same rule
   covers the grid based containers, where a lone tile leaves an empty track.
   -------------------------------------------------------------------- */
html body .pr-grid:has(> :only-child),
html body .rowfill:has(> :only-child),
html body .of-tiles:has(> :only-child),
html body .city-grid:has(> :only-child),
html body .hubs:has(> :only-child),
html body .jb-three:has(> :only-child){
  columns:1!important;
  grid-template-columns:minmax(0,1fr)!important;
}
/* And centre it. A 703px paragraph pinned to the left edge of a 1036px band,
   under a centred heading and a centred lead, still reads as a hole on the
   right even once the empty column is gone. Centring the block turns the same
   white space into a measure, which is what it is. */
html body .pr-grid:has(> :only-child) > *{max-width:74ch;margin-left:auto;margin-right:auto}

/* ---- a grid inside a grid cell -----------------------------------------
   `.obc-stats .wrap` is itself the four column grid that lays the figures
   out. An edition that wraps its figures in a container of its own puts a
   single element into that grid, so the container lands in one 274px cell
   and its four figures get 68px each: the numbers stayed on one line and
   every label fell into a vertical strip one word wide. That is the German
   homepage as it shipped.

   Where the band has exactly one element child, the band stops being a grid
   and lets that child use the full width. It costs nothing when the figures
   are direct children, which is the normal case.
   -------------------------------------------------------------------- */
html body .obc-stats .wrap:has(> :only-child),
html body .hfacts-band .wrap:has(> :only-child){
  display:block!important;
}

/* ---- a figure band on a light ground -----------------------------------
   .obc-stats is painted for a dark band, so its numbers are white. An
   edition that uses the same band on the page's own light ground gets white
   numbers on white: the German homepage showed four labels with nothing
   above them, which is the screenshot Nami sent.

   Any bare variant of the band flips the two colours back. Adding the
   modifier is how a build says "this one sits on the light ground".
   -------------------------------------------------------------------- */
html body .obc-stats.de-figs-bare b,
html body .obc-stats.obc-stats-bare b,
html body .obc-stats.is-bare b{color:#14181F}
html body .obc-stats.de-figs-bare span,
html body .obc-stats.obc-stats-bare span,
html body .obc-stats.is-bare span{color:#3D4552}
html body .obc-stats.de-figs-bare,
html body .obc-stats.obc-stats-bare,
html body .obc-stats.is-bare{background:transparent}

/* ---- the footer's link groups fill their rows --------------------------
   The desks block spans the full width and takes a row of its own, so the
   row arithmetic has to be done on the groups beside it rather than on the
   child count. Six groups read as two rows of three; seven read as four and
   then three, the second row on wider spans so it comes out level. Both are
   full rows, which is the whole point.
   -------------------------------------------------------------------- */
@media(min-width:901px){
  /* six groups and the desks */
  html body footer .fgrid:has(> :nth-child(7):last-child):has(.fdesks) > div:not(.fdesks){grid-column:span 4}
  /* seven groups and the desks */
  html body footer .fgrid:has(> :nth-child(8):last-child):has(.fdesks) > div:not(.fdesks):nth-child(-n+4){grid-column:span 3}
  html body footer .fgrid:has(> :nth-child(8):last-child):has(.fdesks) > div:not(.fdesks):nth-child(n+5){grid-column:span 4}
  /* no desks block: three across, which is full for three, six and nine */
  html body footer .fgrid:not(:has(.fdesks)) > div{grid-column:span 4}
}
