/* obc-fr.css
   fr.onboardcourier.ae charge la meme chrome que onboardcourier.ae. Le corps de
   ce fichier est l'union des feuilles de style que porte chaque page generee du
   site anglais, reprise telle quelle pour que les deux sites ne divergent pas.
   /assets/obc-theme.css est charge apres et l'emporte, exactement comme sur
   l'arbre anglais. Aucune couleur nouvelle, aucune forme nouvelle.
   Les seuls ajouts sont en bas de fichier: le lien vers la page anglaise, la
   liste de faits, et surtout la mise en page en colonnes equilibrees qui
   remplace la grille a deux colonnes du site allemand. Cette grille laissait
   la moitie droite de la bande vide des qu'il n'y avait qu'un seul paragraphe;
   ici les colonnes sont remplies par le navigateur et finissent a la meme
   hauteur, ou il n'y a pas de colonnes du tout. */

@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')}
@font-face{font-family:'Sora';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/Sora-var.woff2') format('woff2')}
@font-face{font-family:'PJS Fallback';src:local('Arial'),local('Liberation Sans');size-adjust:106.05%;ascent-override:97.88%;descent-override:20.93%;line-gap-override:0%}


/* ---- lifted block 00 ---- */
:root{--navy:#14181F;--navy2:#1F2530;--gold:#D71920;--gold3:#E53A41;--white:#fff;--ink:#14181F;--sub:#5B6472;--line:#E6EAF0;--grad:linear-gradient(135deg,#E8343B,#D71920 55%,#B3121A);--glow:0 12px 34px -8px rgba(215,25,32,.55);--ease:cubic-bezier(.22,.8,.32,1)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;line-height:1.6}
h1,h2,h3{line-height:1.15}
a{}::selection{}
img{display:block;max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;padding:14px 22px;backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav .mark{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nav b{font-size:15px}.nav b span{}
.nav .brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;transition:opacity .2s}
.nav .brand:hover{opacity:.82}
.nav .links{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:13px;font-weight:600}
.nav .links a{color:rgba(255,255,255,.72);text-decoration:none}
.nav .links a:hover{}
.nav .cta{padding:9px 18px;border:1px solid rgba(74,222,128,.5);font-weight:700;transition:background .2s,border-color .2s,color .2s}
.nav .cta:hover{}
@media(max-width:760px){.nav .links a:not(.cta){display:none}}
.hero{position:relative;padding:70px 0 56px;isolation:isolate;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;z-index:-1}
.tag{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(215,25,32,.42);font-size:11px;font-weight:700;padding:7px 15px;margin-bottom:18px}
.tag .dot{width:7px;height:7px}
h1{font-size:clamp(2rem,4.6vw,3.1rem);font-weight:800;margin-bottom:16px;max-width:20ch}
h1 em{font-style:normal;-webkit-background-clip:text;background-clip:text}
.lede{font-size:17px;max-width:62ch;margin-bottom:24px}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.btn{display:inline-flex;align-items:center;gap:9px;padding:15px 26px;font-size:15px;font-weight:800;text-decoration:none;transition:transform .2s var(--ease),box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn.wa{}
.btn.mail{}
section.alt .btn.mail{}
section.alt .cta-band .btn.mail{}
.btn.ghost{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18)}
.micro{font-size:12.5px}
section{padding:52px 0;border-top:1px solid rgba(255,255,255,.06)}
h2{font-size:clamp(1.5rem,3.2vw,2.1rem);margin-bottom:12px}
.lead{font-size:15.5px;max-width:66ch;margin-bottom:20px}
.answer{background:linear-gradient(160deg,rgba(215,25,32,.09),rgba(255,255,255,.03));border:1px solid rgba(215,25,32,.28);padding:24px 26px;margin:22px 0}
.answer p{font-size:16px}
.answer p+p{margin-top:12px}
.answer strong{}
.grid{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px}
.grid>*{flex:1 1 250px;min-width:250px}
.card{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);padding:22px;transition:transform .28s var(--ease),border-color .28s}
.card:hover{transform:translateY(-4px)}
.card .ico{font-size:26px;margin-bottom:10px}
.card h3{font-size:16px;margin-bottom:7px}
.card p{font-size:13.5px}
.steps{counter-reset:s;display:grid;gap:13px;margin-top:20px}
.step{display:flex;gap:15px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:18px}
.step .n{width:34px;height:34px;flex-shrink:0;font-weight:800;display:flex;align-items:center;justify-content:center}
.step b{display:block;font-size:15px;margin-bottom:3px}
.step p{font-size:13.5px}
table{width:100%;border-collapse:collapse;margin-top:18px;font-size:14px}
th{text-align:left;padding:11px 12px;font-size:11px;border-bottom:1px solid rgba(255,255,255,.12)}
td{padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.07)}
td:first-child{font-weight:700;white-space:nowrap}
tr:hover td{background:rgba(255,255,255,.03)}
details{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);padding:16px 18px;margin-bottom:10px}
summary{font-size:15px;font-weight:700;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
summary::after{content:'+';font-size:19px;transition:transform .25s}
details[open] summary::after{transform:rotate(45deg)}
details .a{font-size:14px;line-height:1.7;margin-top:11px}
.cta-band{border:1px solid rgba(215,25,32,.3);padding:34px 30px;text-align:center;margin:8px 0}
.cta-band h2{margin-bottom:10px}
.cta-band p{color:rgba(255,255,255,.75);max-width:52ch;margin:0 auto 22px}
.cta-band .btns{justify-content:center}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chips a{font-size:12.5px;font-weight:600;padding:8px 14px;text-decoration:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.chips a:hover{}
footer{padding:40px 0 60px;border-top:1px solid rgba(255,255,255,.07);font-size:12.5px;color:rgba(255,255,255,.45)}
footer a{color:rgba(255,255,255,.62);text-decoration:none}
footer a:hover{}
.fgrid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:24px}
.fgrid h4{font-size:11px;margin-bottom:10px}
.fgrid a{display:block;margin-bottom:7px}
/* ── light sections: alternating rhythm ─────────────────────────── */
section.alt{border-top:1px solid #E6EAF0}
section.alt h2,section.alt h3{}
section.alt h2 em{-webkit-background-clip:text;background-clip:text}
section.alt .lead,section.alt .micro,section.alt p{}
section.alt .answer{background:linear-gradient(160deg,rgba(215,25,32,.12),rgba(255,255,255,.9))}
section.alt .answer p{}
section.alt .answer strong{}
section.alt .card{background:#fff}
section.alt .card h3{}
section.alt .card p{}
section.alt .card:hover{}
section.alt .step{background:#fff}
section.alt .step b{}
section.alt .step p{}
section.alt table th{}
section.alt td{}
section.alt td:first-child{}
section.alt tr:hover td{}
section.alt details{background:#fff}
section.alt summary{}
section.alt details .a{}
section.alt .chips a{background:#fff}
section.alt .chips a:hover{}
section.alt .vs-col{background:#fff}
section.alt .vs-col.ok{background:linear-gradient(160deg,rgba(34,197,94,.10),#fff)}
section.alt .vs-col.no{background:linear-gradient(160deg,rgba(239,68,68,.08),#fff)}
section.alt .vs-col h3{}
section.alt .vs-col li{}
section.alt .vs-col li b{}
section.alt .vs-col .sub,section.alt .vs-note{}
section.alt .cta-band{}
section.alt .cta-band p{}
section.alt .btn.ghost{background:#fff}
section.alt .reg{}
section.alt .city-grid a,section.alt .two-way a{background:#fff}
section.alt .city-grid a span{}
section.alt .two-way p{}
section.alt .logo-card{background:#fff}
section.alt .logo-card .lhub{}
section.alt .logo-card p{}
section.alt .smap a{}
section.alt .smap a:hover{}
section.alt .disclaimer{}
section.alt .alli{}
section.alt .post p,section.alt .post li{}
section.alt .post strong{}
section.alt .pull{background:linear-gradient(160deg,rgba(215,25,32,.12),rgba(255,255,255,.8))}
section.alt .pull p{}
section.alt .dirnav a{}
section.alt .job{background:#fff}
section.alt .job .jmeta span{}
/* buttons never inherit a gradient text fill */
.btn,.qbtn,.qbox a{}
.btn{}
.btn.wa,.btn.ghost{}
section.alt .btn{}
section.alt .btn.wa{}
section.alt .btn.ghost{}
/* the call-to-action band stays navy even on a light section — more contrast, more brand */
section.alt .cta-band{background:linear-gradient(135deg,#14181F 0%,#232A36 100%);color:#fff}
section.alt .cta-band h2{color:#fff}
section.alt .cta-band h2 em{-webkit-background-clip:text;background-clip:text}
section.alt .cta-band p{color:rgba(255,255,255,.78)}
section.alt .cta-band .btn{}
section.alt .cta-band .btn.ghost{background:rgba(255,255,255,.09);color:#fff;-webkit-text-fill-color:#fff;border-color:rgba(255,255,255,.22)}
section.alt .cta-band .btn.wa{color:#fff;-webkit-text-fill-color:#fff}

/* the recruiting band is always dark — override the light-section rules */
section.alt .rec h2{color:#fff;-webkit-text-fill-color:#fff}
section.alt .rec h2 em{-webkit-background-clip:text;background-clip:text}
section.alt .rec p{color:rgba(255,255,255,.8)}
section.alt .rec p strong{color:#fff}
section.alt .rec li{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
section.alt .rec .recbtns a{}
section.alt .rec .recbtns a.ghost{color:#fff;-webkit-text-fill-color:#fff;background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.24)}

/* glossary A–Z rails */
.gl-letter{font-size:26px;line-height:1;font-weight:800;margin:40px 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.13)}
.gl-letter:first-of-type{margin-top:18px}
section.alt .gl-letter{}
.gl-letter + .grid{margin-bottom:6px}


.vs{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px}
.vs>*{flex:1 1 320px;min-width:min(320px,100%)}
.vs-col{padding:24px 24px 22px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.vs-col.ok{background:linear-gradient(160deg,rgba(34,197,94,.12),rgba(255,255,255,.03))}
.vs-col.no{background:linear-gradient(160deg,rgba(239,68,68,.09),rgba(255,255,255,.03))}
.vs-col h3{font-size:17px;margin-bottom:4px;display:flex;align-items:center;gap:10px}
.vs-col .sub{font-size:12px;margin-bottom:14px}
.vs-col ul{list-style:none;margin:0;padding:0}
.vs-col li{position:relative;padding:9px 0 9px 32px;font-size:14.5px;line-height:1.6;border-bottom:1px solid rgba(255,255,255,.07)}
.vs-col li:last-child{border-bottom:none}
.vs-col li::before{position:absolute;left:0;top:8px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.vs-col.ok li::before{content:'\2713';border:1px solid rgba(34,197,94,.5)}
.vs-col.no li::before{content:'\2715';border:1px solid rgba(239,68,68,.45)}
.vs-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;font-size:15px;font-weight:800}
.vs-badge.ok{border:1px solid rgba(34,197,94,.5)}
.vs-badge.no{border:1px solid rgba(239,68,68,.45)}
.vs-note{font-size:13.5px;line-height:1.7;margin-top:18px;max-width:80ch}

.qwrap{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px}
.qwrap>*{flex:1 1 360px;min-width:min(360px,100%)}
.qcard{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);padding:26px}
.qcard h3{font-size:19px;margin-bottom:6px}
.qcard .qsub{font-size:13.5px;margin-bottom:18px}
.qgrid{display:flex;flex-wrap:wrap;gap:12px}
.qgrid>*{flex:1 1 46%;min-width:min(180px,100%)}
.qf label{display:block;font-size:10.5px;font-weight:800;margin-bottom:6px}
.qf input,.qf select{width:100%;padding:12px 14px;font:inherit;font-size:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);outline:none}
.qf input::placeholder{}
.qf input:focus,.qf select:focus{background:rgba(255,255,255,.1)}
.qf select option{background:#14181F;color:#fff}
.qbtn{width:100%;margin-top:16px;padding:15px 22px;border:0;font:inherit;font-size:15px;font-weight:800;cursor:pointer;color:#14181F}
.qbtn:disabled{opacity:.7;cursor:progress}
.qnote{font-size:12px;text-align:center;margin-top:12px}
.qok{display:none;margin-top:14px;padding:14px 16px;font-size:14px;border:1px solid rgba(34,197,94,.45)}
.qside{display:flex;flex-direction:column;gap:18px}
.qbox{background:rgba(255,255,255,.05);border:1px solid rgba(215,25,32,.35);padding:26px;text-align:center}
.qbox .qic{font-size:26px;margin-bottom:10px}
.qbox h3{font-size:18px;margin-bottom:6px}
.qbox p{font-size:13.5px;margin-bottom:16px}
.qbox a.prim{display:block;padding:14px 20px;font-weight:800;font-size:14.5px;text-decoration:none;color:#14181F;margin-bottom:10px}
.qbox a.sec{display:block;padding:13px 20px;font-weight:700;font-size:14px;text-decoration:none;border:1px solid rgba(255,255,255,.2)}
section.alt .qcard,section.alt .qbox{background:#fff}
section.alt .qcard h3,section.alt .qbox h3{}
section.alt .qcard .qsub,section.alt .qbox p,section.alt .qnote{}
section.alt .qf label{}
section.alt .qf input,section.alt .qf select{color:#14181F}
section.alt .qf input::placeholder{}
section.alt .qf select option{background:#fff;color:#14181F}
section.alt .qbox{}
section.alt .qbox a.sec{}

.rec{background:linear-gradient(135deg,#14181F 0%,#232A36 60%,#14181F 100%);border:1px solid rgba(215,25,32,.35);padding:34px 30px;margin-top:26px;position:relative;overflow:hidden}
.rec::after{content:'';position:absolute;inset:0;pointer-events:none}
.rec h2{color:#fff;margin-bottom:10px}
.rec h2 em{font-style:normal;-webkit-background-clip:text;background-clip:text}
.rec p{color:rgba(255,255,255,.78);max-width:70ch;font-size:15.5px;line-height:1.75}
.rec ul{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.rec li{font-size:13px;font-weight:700;padding:8px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#fff}
.rec .recbtns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;position:relative;z-index:1}
.rec .recbtns a{display:inline-flex;align-items:center;gap:8px;padding:15px 26px;font-size:15px;font-weight:800;text-decoration:none;color:#fff;-webkit-text-fill-color:#fff}
.rec .recbtns a.ghost{background:rgba(255,255,255,.08);color:#fff;-webkit-text-fill-color:#fff;border:1px solid rgba(255,255,255,.22)}
section.alt .rec{}

.logos{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.logos>*{flex:1 1 210px;min-width:210px}
.logo-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:20px;display:flex;flex-direction:column;gap:8px}
.logo-card .lname{font-weight:800;font-size:17px}
.logo-card .lhub{font-size:11px}
.logo-card p{font-size:13px}
.logo-card .bar{height:4px;width:52px}
.city-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.city-grid>*{flex:1 1 215px;min-width:215px}
.city-grid a{display:flex;justify-content:space-between;align-items:center;gap:10px;text-decoration:none;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);padding:13px 15px;font-size:14px;font-weight:700;transition:border-color .2s,transform .2s}
.city-grid a:hover{transform:translateY(-2px)}
.city-grid a span{font-size:11.5px;font-weight:600}
.reg{font-size:11px;margin:30px 0 4px;font-weight:800}
.post{max-width:74ch}
.post h2{margin:38px 0 12px}
.post h3{font-size:19px;margin:26px 0 8px}
.post p{font-size:16.5px;margin-bottom:15px;line-height:1.78}
.post ul,.post ol{margin:0 0 16px 20px;font-size:16px;line-height:1.8}
.post li{margin-bottom:7px}
.post strong{}
.post a{font-weight:700}
.meta{font-size:12.5px;margin-bottom:24px}
.pull{background:linear-gradient(160deg,rgba(215,25,32,.1),rgba(255,255,255,.03));border-left:3px solid var(--gold);padding:18px 22px;margin:24px 0}
.pull p{margin:0;font-size:16px}
.job{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);padding:26px;margin-top:20px}
.job h3{font-size:20px;margin-bottom:6px}
.job .jmeta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.job .jmeta span{font-size:12px;font-weight:700;padding:6px 12px;border:1px solid rgba(215,25,32,.32)}
.post-card{display:block;text-decoration:none;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);padding:24px;transition:border-color .25s,transform .25s}
.post-card:hover{transform:translateY(-3px)}
.post-card h3{font-size:19px;margin:8px 0}
.post-card p{font-size:14px}
.disclaimer{font-size:12px;margin-top:16px;max-width:78ch}
.dirwrap{overflow-x:auto;margin-top:12px}
table.dir{font-size:13.5px}
table.dir td:first-child{white-space:normal}
.code{font-weight:800;font-size:12px;color:#14181F;padding:3px 9px}
.alli{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border:1px solid rgba(255,255,255,.18)}
.grid[style*='--min:400px']>*{flex:1 1 400px;min-width:min(400px,100%)}
.smap{columns:3;column-gap:26px;margin-top:14px}
.smap a{display:block;font-size:13.5px;padding:5px 0;text-decoration:none;break-inside:avoid}
.smap a:hover{}
@media(max-width:900px){.smap{columns:2}}
@media(max-width:560px){.smap{columns:1}}
.dirnav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 4px}
.dirnav a{font-size:12.5px;font-weight:700;padding:8px 14px;text-decoration:none;border:1px solid rgba(215,25,32,.3)}
.two-way{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.two-way>*{flex:1 1 260px;min-width:260px}
.two-way a{display:block;text-decoration:none;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:18px 20px;transition:border-color .2s,transform .2s}
.two-way a:hover{transform:translateY(-2px)}
.two-way .dir-label{font-size:11px;font-weight:800}
.two-way .dir-title{font-size:16px;font-weight:800;margin:5px 0 4px}
.two-way p{font-size:13px}

/* Airport autocomplete — same data as the homepage picker, dark-card styling */
.qf .ac-wrap{position:relative}
.qf .ac-dropdown{display:none;position:absolute;top:100%;left:0;right:0;z-index:9999;border:1px solid rgba(215,25,32,.55);border-top:none;max-height:264px;overflow-y:auto}
.qf .ac-dropdown.open{display:block}
.qf .ac-item{padding:10px 13px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.06)}
.qf .ac-item:last-child{border-bottom:none}
.qf .ac-item:hover,.qf .ac-item.selected{}
.qf .ac-item-code{font-weight:800;font-size:13px;margin-right:7px;font-variant-numeric:tabular-nums}
.qf .ac-item-name{font-size:13px}
.qf .ac-item-sub{font-size:11px;margin-top:2px}
.qf .ac-no-results{padding:12px 14px;font-size:13px;text-align:center}

/* ---- lifted block 01 ---- */
.desknav{border-top:1px solid rgba(215,25,32,.22);border-bottom:1px solid rgba(215,25,32,.22);position:sticky;top:64px;z-index:40;backdrop-filter:blur(10px)}
.desknav .wrap{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:11px 24px}
.desknav .dlabel{font-size:11px;font-weight:800;margin-right:10px}
.desknav a{font-size:13.5px;font-weight:700;padding:6px 12px;text-decoration:none;transition:background .2s,color .2s}
.desknav a:hover{}
.desknav a.on{}
section.alt .desknav a{}
.ctable{width:100%;border-collapse:collapse;margin-top:16px;font-size:14.5px}
.ctable th{text-align:left;font-size:11px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.14)}
.ctable td{padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:top}
.ctable tr:hover td{background:rgba(255,255,255,.03)}
.ctable a{font-weight:700}
section.alt .ctable th{}
section.alt .ctable td{}
section.alt .ctable tr:hover td{}
.tl{margin-top:18px;border-left:2px solid rgba(215,25,32,.4);padding-left:22px}
.tl .ev{margin-bottom:22px;position:relative}
.tl .ev:before{content:'';position:absolute;left:-28px;top:6px;width:11px;height:11px}
.tl .yr{font-size:12px;font-weight:800}
.tl h3{font-size:18px;margin:3px 0 6px}
.tl p{font-size:15.5px;line-height:1.75}
section.alt .tl p{}
section.alt .tl .yr{}

/* ---- lifted block 02 ---- */
/* obc-chrome-v2 */
/* Utility strip above the main bar. Not sticky: it scrolls away and the main
   bar stays, which keeps the sticky height at 64px so the desk navigation
   below it stays aligned. */
.obar{background:#14181F;border-bottom:1px solid rgba(215,25,32,.14)}
.obar-in{padding:0 22px;height:36px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.olive{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:700}
.olive i{width:8px;height:8px;flex:none;animation:obc-pulse 2.1s ease-out infinite}
@keyframes obc-pulse{
  0%{}
  70%{}
  100%{}}
@media(prefers-reduced-motion:reduce){.olive i{animation:none}}
.oports{display:flex;align-items:center;gap:6px}
.oports a{font-size:12px;font-weight:700;text-decoration:none;padding:6px 13px;border:1px solid rgba(215,25,32,.30);transition:background .2s,color .2s,border-color .2s}
.oports a:hover{}

/* A heavier main bar, at a height that is now pinned rather than emergent.
   The desk navigation on the country pages sticks at a fixed offset, so the
   bar above it cannot be allowed to grow with its contents -- it was 68.6px
   against a 64px offset, which put a 4px overlap on every desk page. */
.nav{border-bottom:1px solid rgba(215,25,32,.20)!important;height:68px;padding:0 22px;box-sizing:border-box}
.desknav{top:68px!important}
.nav .mark{width:34px;height:34px}
.nav b{font-size:16px}
.nav .links a{font-size:13.5px}
.nav .links a:hover{color:#fff}
.nav .links a.cta{color:#fff!important;border:0!important;padding:9px 20px!important;font-weight:800!important}
.nav .links a.cta:hover{filter:brightness(1.06)}
.nav .oport-m{display:none}

/* CSS-only menu: a checkbox and a label, so it cannot break the way a script
   can on 1,600 static files. */
.nav .navtoggle{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.nav .hamb{display:none}

@media(max-width:940px){
  .obar{display:none}
  .nav .hamb{display:flex;flex-direction:column;justify-content:center;gap:5px;margin-left:auto;padding:10px 6px;cursor:pointer}
  .nav .hamb span{display:block;width:24px;height:2px;background:#fff;transition:transform .22s var(--ease),opacity .22s}
  .nav .navtoggle:checked ~ .hamb span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav .navtoggle:checked ~ .hamb span:nth-child(2){opacity:0}
  .nav .navtoggle:checked ~ .hamb span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  /* The full-panel overlay, as the homepage used to have.
     backdrop-filter on the bar has to go on mobile: a filtered element becomes
     the containing block for its position:fixed descendants, so the panel was
     being sized against the 68px bar instead of the viewport and collapsed to
     a sliver. */
  .nav{backdrop-filter:none!important}
  .nav .links{display:none;position:fixed;inset:68px 0 0 0;z-index:999;padding:26px 22px 44px;flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;margin-left:0}
  .nav .navtoggle:checked ~ .links{display:flex}
  .nav .links a:not(.cta){display:block;font-size:16.5px;font-weight:600;color:rgba(255,255,255,.82);padding:15px 2px;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav .links a:not(.cta):active{}
  .nav .links .oport-m{display:block;font-size:14.5px!important;font-weight:700!important;border-bottom:0!important;padding:14px 2px 4px!important}
  .nav .links a.cta{margin-top:24px;padding:16px!important;font-size:16px!important;text-align:center;justify-content:center}
}

/* ---- lifted block 03 ---- */
.btn.mail{}
.cta-band .btn.mail{}
h2,h3{}
h2 em{-webkit-background-clip:text;background-clip:text}
.lead,.micro,p{}
.answer{background:linear-gradient(160deg,rgba(215,25,32,.12),rgba(255,255,255,.9))}
.answer p{}
.answer strong{}
.card{background:#fff}
.card h3{}
.card p{}
.card:hover{}
.step{background:#fff}
.step b{}
.step p{}
table th{}
td{}
td:first-child{}
tr:hover td{}
details{background:#fff}
summary{}
details .a{}
.chips a{background:#fff}
.chips a:hover{}
.vs-col{background:#fff}
.vs-col.ok{background:linear-gradient(160deg,rgba(34,197,94,.10),#fff)}
.vs-col.no{background:linear-gradient(160deg,rgba(239,68,68,.08),#fff)}
.vs-col h3{}
.vs-col li{}
.vs-col li b{}
.vs-col .sub,.vs-note{}
.cta-band{}
.cta-band p{}
.btn.ghost{background:#fff}
.reg{}
.city-grid a,.two-way a{background:#fff}
.city-grid a span{}
.two-way p{}
.logo-card{background:#fff}
.logo-card .lhub{}
.logo-card p{}
.smap a{}
.smap a:hover{}
.disclaimer{}
.alli{}
.post p,.post li{}
.post strong{}
.pull{background:linear-gradient(160deg,rgba(215,25,32,.12),rgba(255,255,255,.8))}
.pull p{}
.dirnav a{}
.job{background:#fff}
.job .jmeta span{}
.btn{}
.btn.wa{}
.btn.ghost{}
.cta-band{background:linear-gradient(135deg,#14181F 0%,#232A36 100%);color:#fff}
.cta-band h2{color:#fff}
.cta-band h2 em{-webkit-background-clip:text;background-clip:text}
.cta-band p{color:rgba(255,255,255,.78)}
.cta-band .btn{}
.cta-band .btn.ghost{background:rgba(255,255,255,.09);color:#fff;-webkit-text-fill-color:#fff;border-color:rgba(255,255,255,.22)}
.cta-band .btn.wa{color:#fff;-webkit-text-fill-color:#fff}
.rec h2{color:#fff;-webkit-text-fill-color:#fff}
.rec h2 em{-webkit-background-clip:text;background-clip:text}
.rec p{color:rgba(255,255,255,.8)}
.rec p strong{color:#fff}
.rec li{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.rec .recbtns a{}
.rec .recbtns a.ghost{color:#fff;-webkit-text-fill-color:#fff;background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.24)}
.gl-letter{}
.qcard,.qbox{background:#fff}
.qcard h3,.qbox h3{}
.qcard .qsub,.qbox p,.qnote{}
.qf label{}
.qf input,.qf select{color:#14181F}
.qf input::placeholder{}
.qf select option{background:#fff;color:#14181F}
.qbox{}
.qbox a.sec{}
.rec{}
.desknav a{}
.ctable th{}
.ctable td{}
.ctable tr:hover td{}
.tl p{}
.tl .yr{}

/* ================= OBC light corporate theme ================= */
body{background:#fff;color:var(--ink,#14181F)}
section{border-top:1px solid #EDF1F6}
section.alt{border-top:1px solid #E6EAF0}
h1,h2,h3{color:var(--ink,#14181F)}
.lede,.lead{}
.micro{}
.hero{background:#fff}
.hero::before{}
.hero .tag{border:1px solid rgba(215,25,32,.35)}
.hero .tag .dot{}
.btn.ghost{background:#fff;border:1px solid #D8DFE9;color:var(--ink,#14181F)}
.btn.ghost:hover{}
/* top strip stays navy — brand anchor, like a corporate utility bar */
.obar{background:var(--navy,#14181F)}
/* main nav: white, crisp */
.nav{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(14px);border-bottom:1px solid #E6EAF0!important}
.nav .brand,.nav b{color:var(--ink,#14181F)}
.nav b span{}
.nav .links a{}
.nav .links a:hover{}
.nav .links a.cta{color:var(--navy,#14181F)!important}
.nav .cta{}
.nav .cta:hover{}
.nav .hamb span{background:var(--ink,#14181F)}
.nav .links{background:#fff}
@media(max-width:940px){.nav .links{background:#fff!important}
  .nav .links a:not(.cta){}}
.nav .links .oport-m{}
/* section subnav: white bar, gold active pill */
.desknav{background:#fff;border-top:1px solid #E6EAF0;border-bottom:1px solid #E6EAF0}
.desknav .dlabel{}
.desknav a{}
.desknav a:hover{color:#14181F}
.desknav a.on{color:var(--navy,#14181F)}
/* footer: light */
footer{border-top:1px solid #E6EAF0}
footer a{}
footer a:hover{}
footer h4,footer h5,footer .fgrid h4{color:#14181F}
footer a[style*="E53A41" i]{}
footer .fnote,footer small{}
/* quote form autocomplete */
.qf .ac-dropdown{background:#fff;border:1px solid #E6EAF0}
.ac-item{border-bottom:1px solid #EDF1F6}
.ac-item:hover,.qf .ac-item.selected{}
.ac-item-name{color:#14181F}
.ac-item-sub{}
/* generic dark-glass leftovers promoted to light */
.qf input,.qf select{border:1px solid #DDE3EC;color:#14181F}
.qf input::placeholder{}
.qf select option{background:#fff;color:#14181F}
.qf label{}
::selection{color:#14181F}
/* icon tiles: clean stroke icons on a soft gold chip instead of emoji */
.card .ico,.ico{font-size:0}
.ico,.qic{width:46px;height:46px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.ico svg,.qic svg{width:23px;height:23px}
.qbox .qic{margin:0 auto 10px}

/* ---- lifted block 05 ---- */
.obc-sb{border-top:1px solid #E9EFF6;border-bottom:1px solid #E9EFF6;padding:34px 24px}
.obc-sb .sbgrid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:center}
.obc-sb .sbtext span{font-size:11px;font-weight:800}
.obc-sb .sbtext h2{font-size:22px;color:#14181F;margin:8px 0 10px;line-height:1.25}
.obc-sb .sbtext p{font-size:14px;line-height:1.65;margin:0}
.obc-sb .sbart svg{display:block;width:100%;height:auto;border:1px solid #E2E8F2;background:#fff}
@media(max-width:820px){.obc-sb .sbgrid{grid-template-columns:1fr;gap:18px}}

/* ---- lifted block 06 ---- */
body{color:#14181F}
.lede{}
.micro{}
section{border-top:1px solid #E3E8EF}
.lead{}
.answer p{}
.answer strong{}
.card{background:#fff;border:1px solid #E3E8EF}
.card p{}
.step{background:#fff;border:1px solid #E3E8EF}
.step p{}
th{border-bottom:1px solid #E3E8EF}
td{border-bottom:1px solid #E3E8EF}
td:first-child{color:#14181F}
tr:hover td{background:#fff}
details{background:#fff;border:1px solid #E3E8EF}
details .a{}
.chips a{background:#fff;border:1px solid #E3E8EF}
.chips a:hover{}
footer{border-top:1px solid #E3E8EF}
footer a{}
footer a:hover{}
.fgrid h4{}
.vs-col{background:#fff;border:1px solid #E3E8EF}
.vs-col .sub{}
.vs-col li{border-bottom:1px solid #E3E8EF}
.vs-note{}
.qcard{background:#fff;border:1px solid #E3E8EF}
.qcard .qsub{}
.qf label{}
.qf input,.qf select{color:#14181F;background:#fff;border:1px solid #E3E8EF}
.qf input::placeholder{}
.qf input:focus,.qf select:focus{background:#fff}
.qf select option{color:#14181F}
.qnote{}
.qbox{background:#fff}
.qbox p{}
.qbox a.sec{color:#14181F;border:1px solid #E3E8EF}
.logo-card{background:#fff;border:1px solid #E3E8EF}
.logo-card .lhub{}
.logo-card p{}
.city-grid a{background:#fff;border:1px solid #E3E8EF}
.city-grid a span{}
.reg{}
.post p{}
.post ul,.post ol{}
.post strong{color:#14181F}
.post a{}
.meta{}
.pull p{}
.job{background:#fff;border:1px solid #E3E8EF}
.job .jmeta span{}
.post-card{background:#fff;border:1px solid #E3E8EF}
.post-card p{}
.disclaimer{}
.alli{border:1px solid #E3E8EF}
.smap a{}
.smap a:hover{}
.two-way a{background:#fff;border:1px solid #E3E8EF}
.two-way .dir-label{}
.two-way p{}
.qf .ac-item{border-bottom:1px solid #E3E8EF}
.qf .ac-item-code{}
.qf .ac-item-name{}
.qf .ac-item-sub{}
.qf .ac-no-results{}
.ctable th{border-bottom:1px solid #E3E8EF}
.ctable td{border-bottom:1px solid #E3E8EF}
.ctable tr:hover td{background:#fff}
.tl .yr{}
.tl p{}

/* ---- lifted block 07 ---- */
.rec{background:linear-gradient(160deg,rgba(215,25,32,.10),#fff 52%)!important;border:1px solid rgba(215,25,32,.5)!important}
.rec::after{}
.rec h2{color:#14181F!important;-webkit-text-fill-color:#14181F!important}
.rec p{}
.rec p strong{color:#14181F!important}
.rec li{background:#fff!important;border:1px solid #E3E8EF!important}
.rec .recbtns a.ghost{background:#fff!important;color:#14181F!important;border:1px solid #D8DFE9!important;-webkit-text-fill-color:#14181F!important}

/* ---- lifted block 08 ---- */
.qf .ac-item-code{}
a[style*="E53A41" i],a[style*="E8343B" i],a[style*="EF5B61" i]{}
.cta-band a[style*="E53A41" i],#contact a[style*="E53A41" i],#stats a[style*="E53A41" i],#network a[style*="E53A41" i]{}

/* ---- lifted block 09 ---- */
.cta-band p,.cta-band .lead,.cta-band .micro,.cta-band li{color:rgba(255,255,255,.85)!important;-webkit-text-fill-color:rgba(255,255,255,.85)!important}
.cta-band h2,.cta-band h3{color:#fff!important;-webkit-text-fill-color:#fff!important}
.cta-band h2 em{-webkit-background-clip:text!important;background-clip:text!important}
.cta-band .btn.ghost{background:rgba(255,255,255,.09)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid rgba(255,255,255,.25)!important}

/* ---- lifted block 10 ---- */
/* iOS zooms when a focused field has font-size <16px */
@media (max-width:940px){
  input,select,textarea{font-size:16px!important}
  .qf input,.qf select,.qf textarea{font-size:16px!important}
}
/* and pans horizontally when anything overflows the viewport:
   clip (not hidden) kills the sideways scroll without breaking position:sticky */
html,body{overflow-x:clip}
@supports not (overflow-x:clip){html,body{overflow-x:hidden}}
@media (max-width:940px){
  .qcard,.qbox,.qf input,.qf select,.qf textarea{max-width:100%;box-sizing:border-box}
  .qf .ac-dropdown{max-width:calc(100vw - 40px)}
}

/* ---- lifted block 11 ---- */
/* premium polish: softer light, calmer shadows, unhurried motion */
.btn{transition:transform .18s,box-shadow .18s,filter .18s}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.card{transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-3px)}
section{}
section.alt{}
.tag{}
a{transition:color .16s,border-color .16s}
::selection{}

/* ---- lifted block 12 ---- */
/* premium polish, round 2: form focus, tighter type, calmer chips */
.qf input:focus,.qf select:focus,.qf textarea:focus{outline:none!important}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(215,25,32,.5);outline-offset:1px}
h2{}
.btn,.qbtn{}
.chips a{transition:border-color .16s,color .16s,background .16s}
.chips a:hover{}
footer .fgrid{gap:28px!important}
.desknav a{transition:background .16s,color .16s}

/* ---- lifted block 13 ---- */
.fdesks{grid-column:1/-1;margin:6px 0 4px;border-top:1px solid #E6EAF0}
.fdesks details{border-bottom:1px solid #E6EAF0}
.fdesks summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:15px 2px;font-size:11px;font-weight:800;color:#14181F}
.fdesks summary::-webkit-details-marker{display:none}
.fdesks summary .fcount{font-weight:700;font-size:12px;margin-left:auto;margin-right:14px}
.fdesks summary::after{content:'+';font-size:17px;line-height:1;transition:transform .2s}
.fdesks details[open] summary::after{transform:rotate(45deg)}
.fdesks .flinks{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 18px}
.fdesks .flinks a{display:inline-block;margin:0!important;padding:6px 13px;border:1px solid #E3E8EF;background:#fff;font-size:12.5px;text-decoration:none;transition:border-color .16s,color .16s}
.fdesks .flinks a:hover{}

/* ---- lifted block 14 ---- */
footer .fgrid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:34px 30px!important}
footer .fgrid > div{margin:0;min-width:0}
footer .fgrid a{overflow-wrap:anywhere}
@media (max-width:1100px){footer .fgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}footer .fgrid > div:last-child{grid-column:span 2}}
@media (max-width:760px){footer .fgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}footer .fgrid > div:last-child{grid-column:span 2}}
@media (max-width:480px){footer .fgrid{grid-template-columns:1fr!important}footer .fgrid > div:last-child{grid-column:auto}}
.fdesks{margin-top:12px}

/* ---- lifted block 15 ---- */
.obc-lifeart{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.obc-lifeart svg{position:absolute;right:-40px;top:0;height:100%;min-width:640px;opacity:.85}
@media(max-width:900px){.obc-lifeart svg{opacity:.35}}
.obc-tl{margin-top:26px}
.obc-tl .tl-row{margin-bottom:34px}
.obc-tl .tl-head b{display:block;font-size:17px;color:#14181F}
.obc-tl .tl-head span{display:block;font-size:13.5px;margin:3px 0 14px}
.obc-tl .tl-track{position:relative;height:8px}
.obc-tl .tl-fill{position:absolute;inset:0 auto 0 0;width:0;transition:width 1.1s cubic-bezier(.22,.8,.32,1)}
.obc-tl.on .tl-fill{width:var(--w)}
.obc-tl .tl-fill-obc{}
.obc-tl .tl-fill-frt{transition-duration:1.7s}
.obc-tl .tl-dot{position:absolute;top:50%;width:13px;height:13px;transform:translate(-50%,-50%);background:#fff;border:2.5px solid #C3CEDD;z-index:1}
.obc-tl .tl-dot-end{}
.obc-tl .tl-labels{position:relative;height:2.6em;margin-top:10px}
.obc-tl .tl-labels span{position:absolute;top:0;transform:translateX(-50%);font-size:12.5px;white-space:nowrap;font-weight:600}
.obc-tl .tl-labels span:first-child{transform:none}
.obc-tl .tl-labels .tl-win{font-weight:800;transform:translateX(-24%)}
.obc-tl .tl-labels .tl-end{font-weight:800;transform:translateX(-38%)}
.obc-tl .tl-axis{display:flex;justify-content:space-between;border-top:1px solid #E6EAF0;padding-top:10px;font-size:12px;font-weight:600}
@media(max-width:700px){
  .obc-tl .tl-min{display:none}
  .obc-tl .tl-labels{display:flex;justify-content:space-between;gap:10px;height:auto;min-height:1.5em}
  .obc-tl .tl-labels span{position:static;transform:none!important;font-size:11.5px;white-space:normal}
  .obc-tl .tl-labels .tl-end,.obc-tl .tl-labels .tl-win{text-align:right}
}
@media(max-width:420px){.obc-tl .tl-labels span:not(.tl-win):not(.tl-end):not(:first-child){display:none}}
@media(prefers-reduced-motion:reduce){.obc-tl .tl-fill{transition:none}.obc-tl.on .tl-fill{width:var(--w)}}

/* ---- lifted block 16 ---- */
.qe{--qe-bg:#0d1b30;--qe-line:rgba(255,255,255,.09)}
.qe-win{overflow:hidden;border:1px solid var(--qe-line)}
.qe-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:rgba(255,255,255,.04);border-bottom:1px solid var(--qe-line)}
.qe-bar span{width:10px;height:10px;background:rgba(255,255,255,.18)}
.qe-bar span:first-child{}.qe-bar span:nth-child(2){}.qe-bar span:nth-child(3){}
.qe-bar b{margin-left:10px;font-size:12.5px;color:rgba(255,255,255,.62);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qe-msg{padding:16px 18px;border-bottom:1px solid var(--qe-line)}.qe-msg:last-child{border-bottom:0}
.qe-meta{font-size:11px;color:rgba(255,255,255,.45);font-weight:800;margin-bottom:8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qe-meta b{}
.qe-stamp{font-style:normal;font-weight:700;font-size:11px;border:1px solid rgba(74,222,128,.32);padding:2px 9px}
.qe-in p{color:rgba(255,255,255,.8);font-size:14.5px;margin:0}
.qe-offer{font-size:13.5px}
.qe-line,.qe-rule,.qe-total,.qe-foot,.qe-sub{opacity:0;transform:translateY(7px)}
.qe.on .qe-line,.qe.on .qe-rule,.qe.on .qe-total,.qe.on .qe-foot,.qe.on .qe-sub{animation:qeIn .44s cubic-bezier(.22,.8,.32,1) forwards;animation-delay:calc(var(--i) * .09s)}
@keyframes qeIn{to{opacity:1;transform:none}}
.qe-line{display:flex;gap:14px;padding:7px 0;border-bottom:1px dashed rgba(255,255,255,.07)}
.qe-line span{flex:0 0 118px;font-size:10.5px;color:rgba(255,255,255,.42);font-weight:800;padding-top:3px}
.qe-line b{color:#fff;font-weight:600}
.qe-route b{font-variant-numeric:tabular-nums}
.qe-rule{margin:16px 0 6px;font-size:10.5px;font-weight:800}
.qe-total{margin-top:18px;padding:16px 18px;border:1px solid rgba(215,25,32,.34)}
.qe-total span{display:block;font-size:10.5px;font-weight:800}
.qe-total b{display:block;font-size:25px;color:#fff;margin-top:5px;font-variant-numeric:tabular-nums;line-height:1.25}
.qe-total em{display:block;font-style:normal;font-size:12.5px;color:rgba(255,255,255,.6);margin-top:6px}
.qe-alt{font-size:15px;color:rgba(255,255,255,.55);font-weight:600}
.qe-foot{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.qe-valid,.qe-conf{font-size:11.5px;font-weight:700;padding:6px 12px}
.qe-valid{border:1px solid rgba(248,113,113,.3)}
.qe-conf{border:1px solid rgba(74,222,128,.3)}
.qe-sub{margin-top:10px;font-size:12px;color:rgba(255,255,255,.42)}
.qe-confirm{font-weight:800}
.qe-last{}
@media(max-width:560px){.qe-line{flex-direction:column;gap:2px}.qe-line span{flex:none}.qe-total b{font-size:20px}.qe-alt{display:block;font-size:13px;margin-top:2px}}
@media(prefers-reduced-motion:reduce){.qe-line,.qe-rule,.qe-total,.qe-foot,.qe-sub{opacity:1;transform:none;animation:none}}

/* ---- lifted block 17 ---- */
/* The offer example, restyled as a light e-mail client — high contrast, readable
   on a phone in sunlight, and unmistakably "an email" rather than a chat app. */
.qe-win{background:#fff;border:1px solid #D8DFE9}
.qe-bar{border-bottom:1px solid #E3E8F0;padding:13px 18px}
.qe-bar span{display:none}
.qe-bar:before{content:"\2709";font-size:16px;margin-right:10px}
.qe-bar b{margin-left:0;font-size:14px;font-weight:800}
.qe-msg{border-bottom:1px solid #EDF1F6;background:#fff}
.qe-in{border-left:3px solid #D8DFE9}
.qe-out{border-left:3px solid #D71920}
.qe-meta{}
.qe-meta b{}
.qe-out .qe-meta b{}
.qe-stamp{border:1px solid #BBE5C8}
.qe-in p{font-size:15px;line-height:1.65}
.qe-line{border-bottom:1px dashed #E9EEF5}
.qe-line span{}
.qe-line b{font-weight:700}
.qe-route b{}
.qe-rule{}
.qe-total{border:1px solid #F2D9A6}
.qe-total span{}
.qe-total b{}
.qe-total em{}
.qe-alt{}
.qe-total em .qe-alt{}
.qe-valid{border:1px solid #F5C6C6}
.qe-conf{border:1px solid #BBE5C8}
.qe-sub{}
.qe-confirm{}
.qe-last{}
@media(max-width:560px){
  .qe-msg{padding:15px 15px}
  .qe-in p{font-size:15.5px}
  .qe-offer{font-size:14px}
  .qe-line b{font-size:14.5px}
  .qe-bar b{font-size:13px;white-space:normal}
  .qe-total b{font-size:21px}
}

/* ---- lifted block 18 ---- */
.obc-cases{padding:44px 24px;background:#fff}
.obc-cases .cwrap{max-width:1150px;margin:0 auto}
.obc-cases .chead span{font-size:11px;font-weight:800}
.obc-cases .chead h2{font-size:24px;color:#14181F;margin:8px 0 6px}
.obc-cases .chead p{font-size:13px;margin:0 0 22px}
.obc-cases .cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.obc-cases .ccard{border:1px solid #E2E8F2;padding:20px;display:flex;flex-direction:column}
.obc-cases .ctop{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.obc-cases .cind{font-size:11px;font-weight:800;border:1px solid #F2D9A6;padding:4px 11px}
.obc-cases .clane{font-weight:800;font-size:14px;color:#14181F}
.obc-cases .cstory{font-size:13.5px;line-height:1.6;margin:0 0 14px}
.obc-cases .csteps{border-top:1px dashed #E2E8F2;padding-top:12px;margin-top:auto}
.obc-cases .cstep{display:flex;justify-content:space-between;font-size:12.5px;padding:3.5px 0}
.obc-cases .cstep b{font-variant-numeric:tabular-nums;color:#14181F;font-weight:700}
.obc-cases .cout{margin-top:12px;font-size:12.5px;font-weight:700;border:1px solid #ABEFC6;padding:8px 11px}
.obc-cases .cnote{font-size:11.5px;margin-top:14px}
@media(max-width:860px){.obc-cases .cgrid{grid-template-columns:1fr}}

/* ---- lifted block 19 ---- */
.obc-her{padding:40px 24px}
.obc-her .hwrap{max-width:1150px;margin:0 auto}
.obc-her .hpanel{position:relative;margin:0;overflow:hidden;border:1px solid #E3E6EA}
.obc-her .hart{display:block;width:100%;height:auto;min-height:210px}
.obc-her .hquote{position:absolute;left:4%;right:34%;top:9%;opacity:0;transform:translateY(14px);transition:opacity .9s ease .15s,transform .9s ease .15s}
.obc-her .hquote.hq-right{left:30%;right:4%;text-align:right}
.obc-her.h-in .hquote{opacity:1;transform:none}
.obc-her .hquote blockquote{margin:0;font-size:clamp(14px,1.75vw,21px);line-height:1.45;color:#14181F;font-weight:700}
.obc-her .hquote blockquote:before{content:"\201C";margin-right:2px}
.obc-her .hquote blockquote:after{content:"\201D";margin-left:2px}
.obc-her .hquote cite{display:block;margin-top:9px;font-style:normal;font-size:12.5px;font-weight:800}
.obc-her .hband-sub{max-width:1150px;margin:12px auto 0;font-size:12.5px;text-align:right}
@keyframes hBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes hArc{to{stroke-dashoffset:-68}}
@keyframes hSun{0%,100%{opacity:.55}50%{opacity:.38}}
@keyframes hBirds{0%{transform:translateX(0)}100%{transform:translateX(220px)}}
@keyframes hFire{0%,100%{opacity:1}50%{opacity:.55}}
.obc-her .h-dhow{animation:hBob 5.5s ease-in-out infinite}
.obc-her .h-arc{animation:hArc 4.5s linear infinite}
.obc-her .h-sun{animation:hSun 7s ease-in-out infinite}
.obc-her .h-birds{animation:hBirds 46s linear infinite alternate}
.obc-her .h-fire{animation:hFire 1.6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.obc-her .h-dhow,.obc-her .h-arc,.obc-her .h-sun,
  .obc-her .h-birds,.obc-her .h-fire{animation:none}}
.obc-her-grand .hquote blockquote{font-size:clamp(16px,2.1vw,26px)}
.obc-her-grand .hpanel{}
@media(max-width:700px){.obc-her{padding:26px 14px}
  .obc-her .hquote{position:static;padding:14px 16px 4px;opacity:1;transform:none}
  .obc-her .hquote blockquote{font-size:14.5px}
  .obc-her .hpanel{}}

/* ---- lifted block 20 ---- */
/* ---------- typography: measure & rhythm ---------- */
h2{line-height:1.2}
h3{line-height:1.3}
#obc-seo h2,.heritage h2,.vs-section h2{line-height:1.15}
section .wrap>p,p.lead,.answer p{max-width:75ch}
.routes-seo-text{max-width:75ch!important;font-size:14px!important}
#routes .routes-seo-text strong{color:#14181F!important}
footer .wrap>p{max-width:90ch;font-size:13px;line-height:1.7}
/* ---------- WCAG AA color corrections ---------- */
.qe-meta,.qe-sub,.qe-th{}
.oc-l{}
.oc-in i,.oc-note{}
#obc-cases p{}
.cnote,.dver{}
#obc-opsfacts .olead,#obc-opsfacts .onote{}
.desk-kicker{}
.section-tag,.service-tag{}
.vs-badge.ok{}
.vs-badge.no{}
details.faq summary span{}
#route-ticker{}
.uae-tag,.vs-tag{}
.uae-sub strong{}
.desk-stat span{}
.oc-panel button i{}
[style*="color:#059669"]{}
[style*="color:#B3121A"],[style*="color:#B3121A"]{}
span[style*="var(--gold2)"],a[style*="var(--gold2)"]{}
.seo-industry-grid p{}
:is(a,button,summary,[tabindex]):focus-visible{outline:2px solid #B3121A;outline-offset:2px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #B3121A;outline-offset:1px}
#obc-nav-toggle:focus-visible~label.hamb{outline:2px solid #B3121A;outline-offset:2px}
/* ---------- surface consolidation ---------- */
section.alt,.obc-explore{}
/* ---------- interaction polish ---------- */
.qbtn{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.qbtn:hover{transform:translateY(-2px);filter:brightness(1.04)}
.ccard{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ccard:hover{transform:translateY(-4px)}
details.faq summary{transition:color .16s;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px}
details.faq summary:hover{}
details.faq[open]>*:not(summary){animation:obcFadeIn .28s ease}
@keyframes obcFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.qf button:hover{}
/* ---------- footer: light, hover accent only ---------- */
footer a:hover{}
footer a[style*="E53A41"]{}
footer .fcount{}
/* ---------- mobile ---------- */
@media(max-width:768px){
  .desknav{position:static}
  footer a,#obc-citylinks a{display:inline-block;padding:8px 0;font-size:13.5px}
  .hamb{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center}
  #obc-hub table{font-size:13.5px}
  .doc table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  #obc-calc button{min-height:44px}
  .qe-line span:first-child,.qe-rule,.qe-total span{font-size:12px}
  .btn,.btn.ghost{min-height:44px}
}
@media(max-width:480px){
  .hero h1,.hero-h1{line-height:1.13!important}
}

/* ---- lifted block 21 ---- */
/* blocks that sit directly in a section instead of inside .wrap keep the column */
section > .answer,
section > .disclaimer,
section > .note,
main > .answer,
main > .disclaimer,
body > .answer,
body > .disclaimer{max-width:1080px;margin-left:auto!important;margin-right:auto!important;padding-left:22px;padding-right:22px;box-sizing:border-box}
/* the amber compliance card reads as a card again rather than a full-bleed band */
section > .answer{}
@media(max-width:620px){
  section > .answer,section > .disclaimer,main > .answer,main > .disclaimer{padding-left:18px;padding-right:18px}
}

/* ---- lifted block 22 ---- */
:root{--surface:#FFFFFF;--surface-alt:#F7FAFD;--line:#E2E8F2;--ink:#14181F;--ink-2:#41506A;--ink-3:#5B6B82;--brand:#B3121A;--brand-soft:rgba(215,25,32,.10);--sec-pad:56px;--sec-pad-band:34px;--radius:14px;--lift:0 14px 30px -20px rgba(20,24,31,.28);--lift-hover:0 20px 40px -22px rgba(20,24,31,.34)}
@media(max-width:640px){:root{--sec-pad:40px;--sec-pad-band:26px}}

/* ---------- one alt surface, not three ---------- */
section.alt,
#obc-calc.alt,
.obc-explore,
#obc-storyband,
.dsec.alt,
#obc-uaenet{}
.obc-her,
#obc-heritage,
#obc-heritage-mid{}
#obc-cases,
#obc-opsfacts,
#obc-districts,
#obc-aplines{}

/* ---------- one padding scale ---------- */
section > .wrap,
.dsec > .wrap,
#obc-opsfacts .owrap,
#obc-cases .cwrap,
#obc-districts .dwrap,
#obc-aplines .alwrap,
#obc-uaenet .uwrap{padding-top:var(--sec-pad);padding-bottom:var(--sec-pad)}
#obc-storyband .wrap,
.obc-her .wrap{padding-top:var(--sec-pad-band);padding-bottom:var(--sec-pad-band)}

/* ---------- seams: no stray first/last margins inside a section ---------- */
section .wrap > :first-child,
.dsec .wrap > :first-child{margin-top:0}
section .wrap > :last-child,
.dsec .wrap > :last-child{margin-bottom:0}

/* ---------- heading scale ---------- */
section > .wrap > h2,
.dsec > .wrap > h2{font-size:clamp(24px,2.5vw,33px);line-height:1.18}
#obc-opsfacts h2,
#obc-cases h2,
#obc-storyband h2,
#obc-aplines h2,
#obc-districts h2,
.ms-tl h2,
.ms-lane h2{font-size:clamp(19px,1.7vw,22px);line-height:1.25}
h2{line-height:1.2}
h3{line-height:1.3}

/* ---------- one elevation, one radius, one hover ---------- */
.card,.ccard,.lm,.rfact,.dnear a,.hub-grid a,.ms-card,.sm-list a,
#obc-districts .dgrid a,#obc-uaenet .ugrid a,.obc-citygrid a,.rrel a{}
.card,.ccard,.dnear a,.hub-grid a,.ms-card,#obc-districts .dgrid a,
#obc-uaenet .ugrid a,.obc-citygrid a,.rrel a{}
.ccard:hover,.dnear a:hover,.hub-grid a:hover,.ms-card:hover,
#obc-districts .dgrid a:hover,#obc-uaenet .ugrid a:hover,
.obc-citygrid a:hover,.rrel a:hover{}

/* ---------- measure: prose never runs past a readable line ---------- */
section .wrap > p,
.dsec .wrap > p,
p.lead,
.answer p{max-width:74ch}

/* ---------- the one place a strong colour band earns its keep ---------- */
.dclose,.rec{}

/* ---- lifted block 23 ---- */
/* body-copy links: brand amber, underlined, unmistakably clickable */
main p > a:not([class]),
main li > a:not([class]),
main dd > a:not([class]),
main blockquote a:not([class]),
main .answer a:not([class]),
main p > a[style*="B3121A"],
main li > a[style*="B3121A"]{font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:rgba(179,18,26,.38);transition:color .15s ease,text-decoration-color .15s ease,background-color .15s ease}
main p > a:not([class]):hover,
main li > a:not([class]):hover,
main dd > a:not([class]):hover,
main blockquote a:not([class]):hover,
main .answer a:not([class]):hover,
main p > a[style*="B3121A"]:hover,
main li > a[style*="B3121A"]:hover{text-decoration-color:#B3121A}
/* on dark bands the amber would fail contrast — use the light gold there */
.ms-hero p > a:not([class]),
.rec p > a:not([class]),
.rec li > a:not([class]),
footer p > a:not([class]),
[class*="navy"] p > a:not([class]){text-decoration-color:rgba(243,199,126,.45)!important}
.ms-hero p > a:not([class]):hover,
.rec p > a:not([class]):hover,
.rec li > a:not([class]):hover,
footer p > a:not([class]):hover{}

/* ---- lifted block 24 ---- */
#obc-crumb{border-bottom:1px solid #EDF2F8}
#obc-crumb .cwrap{max-width:1080px;margin:0 auto;padding:11px 22px;display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:12.5px;line-height:1.5}
#obc-crumb a{text-decoration:none;font-weight:600;padding:3px 5px;transition:color .14s,background-color .14s}
#obc-crumb a:hover{}
#obc-crumb span.sep{font-size:11px;padding:0 1px}
#obc-crumb span.here{color:#14181F;font-weight:800;padding:3px 5px}
#obc-crumb svg{width:13px;height:13px;vertical-align:-2px;margin-right:3px;opacity:.7}
@media(max-width:620px){
  #obc-crumb .cwrap{padding:9px 18px;font-size:12px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
  #obc-crumb .cwrap::-webkit-scrollbar{display:none}
  #obc-crumb a,#obc-crumb span.here{white-space:nowrap}
}

/* ---- lifted block 25 ---- */
#obc-calc .oc-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px;max-width:1000px}
#obc-calc .oc-panel,#obc-calc .oc-result{background:#fff;border:1px solid #E2E8F2;padding:22px}
#obc-calc .oc-l{display:block;font-size:11px;font-weight:800;margin:18px 0 8px}
#obc-calc .oc-l:first-child{margin-top:0}
#obc-calc .oc-l b{color:#14181F;font-size:12px}
#obc-calc .oc-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
#obc-calc .oc-pills.oc-2{grid-template-columns:1fr 1fr}
#obc-calc .oc-pills.oc-3{grid-template-columns:repeat(3,1fr)}
#obc-calc .oc-pills button{padding:10px 8px;border:1.5px solid #E2E8F2;background:#fff;font-weight:800;font-size:13px;color:#14181F;cursor:pointer;transition:border-color .15s,background .15s}
#obc-calc .oc-pills button i{display:block;font-style:normal;font-size:10px;font-weight:700;margin-top:2px}
#obc-calc .oc-pills button.on{}
#obc-calc .oc-pills button.on i{}
#obc-calc .oc-in{width:100%;padding:11px 12px;border:1.5px solid #E2E8F2;font-size:14.5px;color:#14181F;background:#fff}
#obc-calc .oc-acwrap{position:relative}
#obc-calc .oc-drop{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;background:#fff;border:1px solid #E2E8F2;max-height:264px;overflow-y:auto;display:none}
#obc-calc .oc-drop.open{display:block}
#obc-calc .oc-drop .ac-item{padding:10px 13px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #F1F4F9;font-size:13.5px}
#obc-calc .oc-drop .ac-item:last-child{border-bottom:0}
#obc-calc .oc-drop .ac-item:hover,#obc-calc .oc-drop .ac-item.selected{}
#obc-calc .oc-drop .ac-item-code{font-weight:800;margin-right:8px}
#obc-calc .oc-drop .ac-item-name{color:#14181F}
#obc-calc .oc-drop .ac-item-sub{font-size:12px;white-space:nowrap}
#obc-calc .oc-drop .ac-no-results{padding:12px;font-size:13px}
#obc-calc .oc-meta{display:block;font-size:12px;margin-top:6px;min-height:15px}
#obc-calc input[type=range]{width:100%;margin-top:2px}
#obc-calc .oc-chk{display:flex;gap:8px;align-items:center;font-size:13px;margin-top:8px}
#obc-calc .oc-lines{border-bottom:1px solid #EDF1F6;padding-bottom:14px;min-height:150px}
#obc-calc .oc-line{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:14px;border-bottom:1px dashed #EDF1F6}
#obc-calc .oc-line b{font-variant-numeric:tabular-nums;white-space:nowrap;color:#14181F}
#obc-calc .oc-line.oc-dim span{}
#obc-calc .oc-total{padding:14px 0 4px}
#obc-calc .oc-total span{display:block;font-size:10.5px;font-weight:800}
#obc-calc .oc-total b{display:block;font-size:26px;color:#14181F;margin-top:4px;font-variant-numeric:tabular-nums}
#obc-calc .oc-total em{display:block;font-style:normal;font-size:13px;margin-top:3px}
#obc-calc .oc-sendbox{margin-top:14px;padding:14px;border:1px solid #F2D9A6}
#obc-calc .oc-sendtitle{display:block;font-size:13.5px;color:#14181F;margin-bottom:10px}
#obc-calc .oc-sendrow{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#obc-calc .oc-mt{margin-top:8px}
#obc-calc .oc-mb{margin-bottom:8px}
#obc-calc .oc-who{margin-bottom:10px}
#obc-calc .oc-who button{font-size:12.5px;padding:9px 6px}
#obc-calc .oc-cta{display:block;width:100%;margin-top:10px;padding:14px;border:0;cursor:pointer;font-weight:800;font-size:15px;color:#14181F;transition:transform .15s}
#obc-calc .oc-cta:hover{transform:translateY(-2px)}
#obc-calc .oc-cta:disabled{opacity:.75;cursor:default;transform:none}
#obc-calc .oc-ok{margin-top:10px;padding:11px 13px;border:1px solid #ABEFC6;font-size:13px;font-weight:600;line-height:1.5}
#obc-calc .oc-err{margin-top:10px;padding:11px 13px;border:1px solid #FECDCA;font-size:13px;font-weight:600;line-height:1.5}
#obc-calc .oc-note{font-size:12px;margin:12px 0 0;line-height:1.6}
@media(max-width:860px){#obc-calc .oc-grid{grid-template-columns:1fr}}
@media(max-width:560px){#obc-calc .oc-pills{grid-template-columns:1fr 1fr}
  #obc-calc .oc-pills.oc-3{grid-template-columns:1fr 1fr}
  #obc-calc .oc-sendrow{grid-template-columns:1fr}}

/* ---- lifted block 26 ---- */
footer .flinks a{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important;line-height:1.5}
footer .fcount{white-space:nowrap}

/* ---- lifted block 27 ---- */
/* contrast: lift every muted #7A8AA3 use to #5B6B82 (5.4:1 on white) */
.rfact span,.dnear span,#obc-calc .oc-l,.oc-meta,.hubtab th,.hubtab td span,
#obc-depth2 th,#obc-depth2 .hubtab td span,#obc-depth2 p[style*="7A8AA3"],
.fcount,.crumbfaint,[style*="color:#7A8AA3"],[style*="color:#7a8aa3"]{}
/* keyboard-scrollable strips get a visible focus ring */
[data-kbscroll]:focus-visible{outline:2px solid #B3121A;outline-offset:2px}

/* ---- lifted block 28 ---- */
.oc-note{}
.tl-axis span{}
.oc-pills button i{}
.oc-pills button.on i{}
.vh-obc{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
footer h3.f4{font-size:12px;font-weight:700;margin:0 0 16px;color:#14181F}

/* ---- lifted body block 00 ---- */
#obc-depth3{}
#obc-depth3 .d3wrap{max-width:1080px;margin:0 auto;padding:var(--sec-pad,52px) 22px}
#obc-depth3 h2{font-size:clamp(22px,2.3vw,29px);color:#14181F;margin:0 0 12px}
#obc-depth3 h3{font-size:17px;color:#14181F;margin:28px 0 10px}
#obc-depth3 p{font-size:16px;line-height:1.75;max-width:74ch;margin:0 0 16px}
#obc-depth3 .aptwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
#obc-depth3 table{width:100%;border-collapse:separate;border-spacing:0;margin:16px 0 6px;font-size:14.5px;min-width:520px}
#obc-depth3 th{text-align:left;font-size:11.5px;padding:0 14px 9px 0;font-weight:800}
#obc-depth3 td{padding:12px 14px 12px 0;border-top:1px solid #E2E8F2;vertical-align:top}
#obc-depth3 td b{color:#14181F;font-size:15px}
#obc-depth3 td.n{white-space:nowrap;font-variant-numeric:tabular-nums;color:#14181F;font-weight:700}
#obc-depth3 .lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:9px;margin:14px 0 4px}
#obc-depth3 .lgrid a{display:block;padding:11px 14px;background:#fff;border:1px solid #E2E8F2;text-decoration:none;color:#14181F;font-weight:700;font-size:14.5px;transition:border-color .14s,box-shadow .14s,color .14s}
#obc-depth3 .lgrid a:hover{}
#obc-depth3 .lgrid a span{display:block;font-weight:500;font-size:12.5px;margin-top:3px}
#obc-depth3 .none{font-size:15px;background:#fff;border:1px dashed #D7E0EC;padding:14px 17px;max-width:74ch}

/* ---- lifted body block 01 ---- */
#obc-journey{background:#14181F}
#obc-journey .jwrap{max-width:1080px;margin:0 auto;padding:44px 22px 48px}
#obc-journey .jkick{font-size:11.5px;font-weight:800;margin:0 0 6px}
#obc-journey h2{font-size:clamp(20px,2vw,26px);margin:0 0 4px}
#obc-journey .jsub{font-size:14.5px;margin:0 0 20px}
#obc-journey .jgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:11px}
#obc-journey .jgrid a{display:block;padding:15px 17px 13px;border:1px solid rgba(243,199,126,.22);background:rgba(255,255,255,.035);text-decoration:none;transition:border-color .16s,background-color .16s,transform .16s}
#obc-journey .jgrid a:hover{transform:translateY(-2px)}
#obc-journey .jgrid i{display:block;font-style:normal;font-size:10.5px;font-weight:800;margin-bottom:5px}
#obc-journey .jgrid b{display:block;font-size:15.5px;line-height:1.3}
#obc-journey .jgrid span{display:block;font-size:12.5px;margin-top:4px;line-height:1.5}
#obc-journey .jgrid svg{float:right;width:15px;height:15px;margin-top:2px;stroke:#FF7075;opacity:.8}

/* ---- lifted body block 02 ---- */
.obcr{opacity:0;transform:translateY(13px);transition:opacity .55s ease,transform .55s ease}
.obcr-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.obcr{opacity:1;transform:none;transition:none}}

/* ---- ajouts francais ---------------------------------------------------
   Tout ce qui suit est bati sur des valeurs deja presentes dans le theme:
   l'anthracite #14181F, le rouge #D71920, le filet #E3E6EA, le gris #5B6472.
   Aucune couleur nouvelle n'est definie ici.
   -------------------------------------------------------------------- */

/* le lien vers le site anglais, dans le bandeau de service et dans le pied */
html body .obar .olang{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:12.5px;font-weight:700;text-decoration:none;white-space:nowrap}
html body .obar .olang:hover{color:#E53A41}
html body .obar .oports+.olang{margin-left:18px}
html body .flang{display:block;margin-top:10px;font-weight:700}

/* la sortie etiquetee vers la page anglaise, la ou le francais s'arrete */
html body .obc-en{border-top:1px solid #E3E6EA;margin:26px 0 0;padding:22px 0 0;text-align:center}
html body .obc-en p{margin:0 0 14px;font-size:15px;line-height:1.65;color:#5B6472;max-width:66ch;margin-left:auto;margin-right:auto}
html body .obc-en .btn.ghost{display:inline-flex}
html body section.obc-endeep{background:#F5F6F8;border-top:1px solid #E3E6EA;border-bottom:1px solid #E3E6EA}

/* ---- le texte courant --------------------------------------------------
   L'erreur du site allemand tenait en une regle: un flux a deux colonnes qui
   ne recevait qu'un seul bloc. La colonne de droite restait vide sur toute la
   hauteur de la bande. Ici il n'y a que deux etats possibles, decides au
   moment de la generation et non par le navigateur:

     .fr-body.one   un seul paragraphe, pleine mesure, jamais de colonne vide
     .fr-body.many  deux paragraphes ou plus, flux a deux colonnes que le
                    navigateur equilibre lui-meme (column-fill: balance est la
                    valeur par defaut). Les paragraphes ne portent pas
                    break-inside: avoid, donc le texte se repartit et les deux
                    colonnes finissent a la meme hauteur a quelques lignes pres.
   -------------------------------------------------------------------- */
html body .fr-body{margin:16px auto 0;text-align:left;color:#3D4552}
html body .fr-body p{margin:0 0 15px;font-size:15.5px;line-height:1.74}
html body .fr-body p:last-child{margin-bottom:0}
html body .fr-body.one{max-width:74ch}
html body .fr-body.many{max-width:1080px;columns:2;column-gap:52px;column-fill:balance;orphans:2;widows:2}
@media(max-width:860px){html body .fr-body.many{columns:1;max-width:74ch}}

/* la liste de faits: un point, un filet, une valeur. Pas un mur de boites. */
html body .fr-rail{list-style:none;margin:22px auto 0;padding:0;max-width:1080px;columns:2 330px;column-gap:48px;text-align:left}
html body .fr-rail li{break-inside:avoid;-webkit-column-break-inside:avoid;display:block;padding:15px 0 14px 20px;border-top:1px solid #E3E6EA;position:relative;font-size:15px;line-height:1.7;color:#3D4552}
html body .fr-rail li::before{content:'';position:absolute;left:0;top:23px;width:7px;height:7px;border-radius:50%;background:#D71920}
html body .fr-rail li:first-child{border-top:0}
html body .fr-rail li b{display:block;color:#14181F;font-size:15px;margin-bottom:2px}
html body .fr-rail.solo{columns:1;max-width:74ch}
@media(max-width:860px){html body .fr-rail{columns:1}}

/* ---- les grilles de tuiles --------------------------------------------
   Une grille CSS reelle, pour que .rowfill du theme puisse agir: c'est lui
   qui rattrape 5, 6, 7, 9, 10 et 11 tuiles au-dessus de 900px. En dessous la
   grille passe a deux colonnes, et une derniere tuile impaire prend toute la
   largeur plutot que de laisser une case vide a cote d'elle.
   -------------------------------------------------------------------- */
html body .fr-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:12px;margin-top:18px}
html body .fr-tiles>a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0;text-decoration:none;background:#fff;border:1px solid #E3E6EA;padding:14px 16px;font-size:14.5px;font-weight:700;color:#14181F;transition:border-color .2s,transform .2s}
html body .fr-tiles>a:hover{transform:translateY(-2px);border-color:#D71920}
html body .fr-tiles>a>span{font-size:11.5px;font-weight:600;color:#5B6472;text-align:right;flex:0 1 auto;min-width:0}
html body section.alt .fr-tiles>a{background:#F5F6F8}
@media(max-width:900px){
  html body .fr-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body .fr-tiles>a:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:560px){
  html body .fr-tiles{grid-template-columns:minmax(0,1fr)}
  html body .fr-tiles>a{flex-wrap:wrap}
  html body .fr-tiles>a>span{text-align:left;flex-basis:100%}
}

/* le tableau: il defile dans sa propre boite, jamais la page */
html body .fr-tablewrap{overflow-x:auto;margin-top:16px;-webkit-overflow-scrolling:touch}
html body .fr-tablewrap table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
html body .fr-tablewrap th{text-align:left;padding:11px 14px 11px 0;border-bottom:2px solid #14181F;font-size:12.5px;font-weight:800;color:#14181F;white-space:nowrap}
html body .fr-tablewrap td{padding:12px 14px 12px 0;border-bottom:1px solid #E3E6EA;color:#3D4552;line-height:1.6}
html body .fr-tablewrap tr:last-child td{border-bottom:0}
html body .fr-tablewrap a{color:#B3121A;font-weight:700}

/* les questions: numerotees, pleine mesure, deux colonnes quand il y en a assez */
html body .fr-qa{margin:20px auto 0;max-width:1080px;columns:2 340px;column-gap:52px;text-align:left}
html body .fr-qa .qa{break-inside:avoid;-webkit-column-break-inside:avoid;padding:18px 0 16px;border-top:1px solid #E3E6EA}
html body .fr-qa .qa:first-child{border-top:0;padding-top:6px}
html body .fr-qa .qa-q{margin:0 0 7px;font-size:15.5px;font-weight:800;color:#14181F;line-height:1.4}
html body .fr-qa .qa-n{display:inline-block;min-width:26px;color:#D71920;font-variant-numeric:tabular-nums}
html body .fr-qa .qa-a{margin:0;font-size:14.8px;line-height:1.72;color:#3D4552}
@media(max-width:860px){html body .fr-qa{columns:1;max-width:74ch}}

/* la plaque noire du code IATA, en tete d'une page d'aeroport ou de liaison */
html body .fr-code{display:grid;grid-template-columns:150px minmax(0,1fr);gap:34px;align-items:start;max-width:1080px;margin:0 auto}
html body .fr-code .fr-code-k{background:#14181F;color:#fff;padding:20px 16px;text-align:center;position:sticky;top:86px}
html body .fr-code .fr-code-k b{display:block;font-size:38px;font-weight:800;letter-spacing:-.03em;line-height:1}
html body .fr-code .fr-code-k span{display:block;margin-top:8px;font-size:12px;line-height:1.4;color:#C7CDD6}
html body .fr-code .fr-code-b h2{text-align:left!important;margin-left:0!important}
html body .fr-code .fr-code-b p{margin:0 0 14px;font-size:15.5px;line-height:1.74;color:#3D4552;max-width:none;text-align:left}
html body .fr-code .fr-code-b ul{list-style:none;margin:14px 0 0;padding:0;columns:2 320px;column-gap:44px}
html body .fr-code .fr-code-b li{break-inside:avoid;padding:13px 0 12px 18px;border-top:1px solid #E3E6EA;position:relative;font-size:14.8px;line-height:1.68;color:#3D4552}
html body .fr-code .fr-code-b li::before{content:'';position:absolute;left:0;top:21px;width:6px;height:6px;border-radius:50%;background:#D71920}
html body .fr-code .fr-code-b li b{display:block;color:#14181F;margin-bottom:2px}
html body .fr-code .fr-note{margin-top:16px;font-size:13px;line-height:1.6;color:#5B6472}
@media(max-width:900px){
  html body .fr-code{grid-template-columns:minmax(0,1fr);gap:18px}
  html body .fr-code .fr-code-k{position:static;display:flex;align-items:baseline;justify-content:flex-start;gap:14px;text-align:left;padding:14px 18px}
  html body .fr-code .fr-code-k b{font-size:30px}
  html body .fr-code .fr-code-k span{margin-top:0}
  html body .fr-code .fr-code-b ul{columns:1}
}

/* les chiffres de la page d'accueil */
html body .fr-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:1080px;margin:0 auto}
html body .fr-stats>div{padding:0 26px;border-left:1px solid #E3E6EA}
html body .fr-stats>div:first-child{border-left:0;padding-left:0}
html body .fr-stats b{display:block;font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1;color:#14181F}
html body .fr-stats span{display:block;margin-top:8px;font-size:13px;line-height:1.45;color:#5B6472}
@media(max-width:900px){
  html body .fr-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0}
  html body .fr-stats>div:nth-child(odd){border-left:0;padding-left:0}
}
@media(max-width:480px){
  html body .fr-stats{grid-template-columns:minmax(0,1fr);gap:20px}
  html body .fr-stats>div{border-left:0;padding-left:0}
}

/* le calculateur d'itineraire, version francaise. Memes regles que sur
   l'arbre anglais; seule la langue de l'interface change. */
html body #rc-app{max-width:1080px;margin:0 auto}
html body .rc-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;align-items:end}
html body .rc-fld{position:relative;min-width:0}
html body .rc-fld label{display:block;margin-bottom:7px;font-size:12.5px;font-weight:800;color:#14181F}
html body .rc-fld input,html body .rc-fld select{width:100%;padding:13px 14px;border:1px solid #E3E6EA;background:#fff;font-size:15px;color:#14181F;font-family:inherit}
html body .rc-fld input:focus{outline:2px solid #D71920;outline-offset:-2px}
html body .rc-ac{display:none;position:absolute;z-index:30;left:0;right:0;top:100%;background:#fff;border:1px solid #E3E6EA;box-shadow:0 18px 40px -14px rgba(20,24,31,.34);max-height:330px;overflow:auto}
html body .rc-ac.open{display:block}
html body .rc-aci{display:flex;align-items:baseline;gap:10px;padding:10px 13px;cursor:pointer;font-size:14px;border-top:1px solid #EEF1F5}
html body .rc-aci:first-child{border-top:0}
html body .rc-aci:hover,html body .rc-aci.sel{background:#F5F6F8}
html body .rc-aci b{font-weight:800;color:#D71920;min-width:34px}
html body .rc-aci span{flex:1;min-width:0;color:#14181F}
html body .rc-aci i{font-style:normal;font-size:11.5px;color:#5B6472;white-space:nowrap}
html body .rc-acity b{color:#14181F;background:#F3C77E00}
html body .rc-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center}
html body .rc-btns button{padding:13px 24px;font-size:14.5px;font-weight:800;border:0;background:#D71920;color:#fff;cursor:pointer;font-family:inherit}
html body .rc-btns button.ghost{background:transparent;border:1px solid #E3E6EA;color:#14181F}
html body .rc-btns button:hover{filter:brightness(1.06)}
html body .rc-adv{margin-top:18px;padding-top:16px;border-top:1px solid #E3E6EA}
html body .rc-adv .rc-form{margin-top:12px}
html body .rc-chk{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:13.5px;color:#3D4552}
html body .rc-chk label{display:inline-flex;align-items:center;gap:7px}
html body .rc-stat{display:block;margin-top:14px;font-size:12.5px;color:#5B6472}
html body .rc-live{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3FB27F;margin-right:7px}
html body #rc-out{margin-top:26px}
html body .rc-msg{padding:20px 22px;background:#F5F6F8;border-left:3px solid #D71920;font-size:15px;line-height:1.7;color:#3D4552}
html body .rc-msg b{color:#14181F}
html body .rc-msg a{color:#B3121A;font-weight:700}
html body .rc-swap{display:inline-block;margin:2px 3px;padding:5px 11px;border:1px solid #E3E6EA;background:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
html body .rc-head h2{text-align:left!important;margin-left:0!important}
html body .rc-head p{max-width:none!important;text-align:left!important;margin-left:0!important;font-size:15px;line-height:1.7;color:#3D4552}
html body .rc-head em,html body .rc-sheet em{font-style:normal;color:#D71920;font-weight:800}
html body .rc-change{margin-top:12px;padding:9px 16px;border:1px solid #E3E6EA;background:#fff;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit}
html body .rc-alts{display:inline-flex;align-items:center;gap:8px;margin:16px 0 4px;font-size:13.5px;color:#3D4552}
html body .rc-onlybest>.rc-sheet:not(.rc-fastest){display:none}
html body .rc-sheet{border:1px solid #E3E6EA;background:#fff;margin-top:16px}
html body .rc-sheet.rc-fastest{border-color:#14181F}
html body .rc-sheet.rc-late{border-color:#D71920}
html body .rc-sh{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid #E3E6EA;background:#F5F6F8}
html body .rc-kind{margin:0;font-size:12px;font-weight:800;color:#5B6472}
html body .rc-route{margin:4px 0 0;font-size:18px;font-weight:800;color:#14181F}
html body .rc-tag{margin-left:auto;padding:5px 12px;background:#14181F;color:#fff;font-size:11.5px;font-weight:800}
html body .rc-tot{margin-left:auto;text-align:right}
html body .rc-tot b{display:block;font-size:22px;font-weight:800;color:#14181F;line-height:1}
html body .rc-tot span{display:block;margin-top:4px;font-size:11.5px;color:#5B6472}
html body .rc-tl{list-style:none;margin:0;padding:6px 22px}
html body .rc-leg,html body .rc-transit{display:grid;grid-template-columns:64px 22px minmax(0,1fr) 64px;gap:12px;align-items:start;padding:14px 0;border-top:1px solid #EEF1F5}
html body .rc-tl>li:first-child{border-top:0}
html body .rc-t b{display:block;font-size:16px;font-weight:800;color:#14181F;font-variant-numeric:tabular-nums}
html body .rc-t span{display:block;margin-top:3px;font-size:11px;color:#5B6472}
html body .rc-arr{text-align:right}
html body .rc-rail{position:relative;height:100%}
html body .rc-rail i{position:absolute;left:50%;top:6px;bottom:0;width:2px;margin-left:-1px;background:#D71920}
html body .rc-rail-dash i{background:repeating-linear-gradient(#C7CDD6 0 5px,transparent 5px 10px)}
html body .rc-city{margin:0;font-size:15.5px;font-weight:800;color:#14181F}
html body .rc-meta{margin:5px 0 0;font-size:12.5px;color:#5B6472;display:flex;flex-wrap:wrap;gap:4px 14px}
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;display:inline-block}
html body .rc-code{display:inline-block;padding:2px 7px;border:1px solid #E3E6EA;font-size:11px;font-weight:800;color:#5B6472}
html body .rc-sf{padding:16px 22px 20px;border-top:1px solid #E3E6EA;background:#FBFCFD}
html body .rc-sf dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0}
html body .rc-sf dt{font-size:11.5px;font-weight:800;color:#5B6472}
html body .rc-sf dd{margin:3px 0 0;font-size:15px;font-weight:800;color:#14181F}
html body .rc-when,html body p.rc-flag,html body p.rc-ok{margin:14px 0 0;font-size:14px;line-height:1.68;color:#3D4552;padding-left:14px;border-left:3px solid #E3E6EA}
html body p.rc-flag{border-left-color:#D71920}
html body p.rc-ok{border-left-color:#3FB27F}
html body .rc-notes{margin-top:22px;padding:20px 22px;background:#F5F6F8;border:1px solid #E3E6EA}
html body .rc-notes h3{margin:0 0 12px;font-size:16px;font-weight:800;color:#14181F}
html body .rc-notes ul{list-style:none;margin:0;padding:0;columns:2 300px;column-gap:40px}
html body .rc-notes li{break-inside:avoid;padding:9px 0;font-size:14px;line-height:1.65;color:#3D4552}
html body .rc-notes li b{display:block;color:#14181F}
html body .rc-notes p{margin:12px 0 0;font-size:12.5px;color:#5B6472}
html body #rc-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid #E3E6EA}
html body #rc-actions a,html body #rc-actions button{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid #E3E6EA;background:#fff;font-size:13.5px;font-weight:700;color:#14181F;text-decoration:none;cursor:pointer;font-family:inherit}
html body #rc-actions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html body #rc-actions .rc-al{font-size:12.5px;font-weight:800;color:#5B6472;margin-right:4px}
html body #rc-board{margin-top:26px}
html body .rc-bd{border:1px solid #E3E6EA;background:#fff}
html body .rc-bd header{padding:16px 20px;border-bottom:1px solid #E3E6EA;background:#F5F6F8}
html body .rc-bd h3{margin:0;font-size:16px;font-weight:800;color:#14181F}
html body .rc-bd header p{margin:5px 0 0;font-size:12.5px;color:#5B6472}
html body .rc-bd table{width:100%;border-collapse:collapse;font-size:13.5px}
html body .rc-bd th{text-align:left;padding:10px 14px;border-bottom:1px solid #E3E6EA;font-size:11.5px;font-weight:800;color:#5B6472}
html body .rc-bd td{padding:11px 14px;border-bottom:1px solid #EEF1F5;color:#3D4552}
html body .rc-none{padding:16px 20px;font-size:14px;line-height:1.65;color:#5B6472}
html body .rc-st{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;background:#C7CDD6}
html body i.rc-go{background:#3FB27F}html body i.rc-ok{background:#C7CDD6}html body i.rc-warn{background:#E0A03A}html body i.rc-bad{background:#D71920}
@media(max-width:700px){
  html body .rc-leg,html body .rc-transit{grid-template-columns:56px 18px minmax(0,1fr);gap:10px}
  html body .rc-arr{grid-column:1/-1;text-align:left;padding-left:74px;margin-top:-6px}
  html body .rc-sf dl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
html body .rc-printroot{display:none}
@media print{
  html.rc-printing body>*{display:none!important}
  html.rc-printing body .rc-printroot{display:block!important;padding:0;color:#000}
  html.rc-printing body .rc-printroot .rc-sheet{border:1px solid #000;page-break-inside:avoid;margin:0 0 12pt}
  html.rc-printing body .rc-printroot .rc-sh,html.rc-printing body .rc-printroot .rc-sf{background:#fff}
  html.rc-printing body .rc-printroot .rc-notes{background:#fff;border:1px solid #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}
}

/* la barre fixe du bas ne doit jamais recouvrir la derniere ligne du pied */
html body .obc-stickybar .q,html body .obc-stickybar .w{white-space:nowrap}

/* ---- deux additions faites pendant la construction francaise -------------
   1. Au-dessus de 900px la grille de tuiles est fixee a quatre colonnes. Sans
      cela le nombre de colonnes depend de la largeur et une serie de huit ou
      de douze tuiles pouvait tomber en trois colonnes, ce qui laissait une
      derniere rangee courte. Avec quatre colonnes fixes, 4, 8, 12 et 16
      remplissent exactement, et .rowfill du theme rattrape 5, 6, 7, 9, 10 et
      11. Le constructeur n'emet jamais 13, 14 ni 15.
   2. Une liste de questions courte passe en pleine mesure plutot qu'en deux
      colonnes, pour la meme raison que .fr-rail.solo.
   -------------------------------------------------------------------- */
@media(min-width:901px){
  html body .fr-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
}
html body .fr-qa.solo{columns:1;max-width:74ch}
