/* Empty-leg board styles, extracted so any page can wear the board.
   Source of truth for the market cards, filters and search bar; the main
   design system keeps its own copy for the legacy board page. */

/* ═══════════ Empty Leg Market (SkyAccess-style) ═══════════ */
.elm-head{display:flex;align-items:center;gap:14px;margin:6px 0 14px;color:#0B0D0F}
.elm-live{display:inline-flex;align-items:center;gap:6px;background:rgba(46,125,50,.1);color:#2e7d32;font-size:.68rem;font-weight:800;letter-spacing:.08em;padding:4px 10px;border-radius:999px}
.elm-live i{width:7px;height:7px;border-radius:50%;background:#2e7d32;animation:ai-desk-pulse 2s infinite}
.elm-head b{font-size:.95rem;font-weight:600}
.elm-sort{margin-left:auto;font-size:.82rem;color:#6e6a60;border:1px solid rgba(11,13,15,.14);border-radius:10px;padding:8px 14px;background:#fff}
.elm-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.elm-chips button{border:1px solid rgba(11,13,15,.16);background:#fff;border-radius:999px;padding:9px 16px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;color:#0B0D0F}
.elm-chips button.on,.elm-chips button:hover{border-color:#806536;color:#806536;background:rgba(200,169,106,.08)}
.elm-list{display:grid;gap:14px}
.elm-card{display:grid;grid-template-columns:280px 1fr 190px;gap:0;background:#fff;border:1px solid rgba(11,13,15,.1);border-radius:16px;overflow:hidden;cursor:pointer;transition:box-shadow .15s,transform .15s;color:#0B0D0F}
.elm-card:hover{box-shadow:0 14px 34px rgba(11,13,15,.14);transform:translateY(-2px)}
.elm-card__media{position:relative;min-height:180px;background:#eef0ee}
.elm-card__media img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.elm-card__noimg{display:grid;place-items:center;height:100%;font-size:2rem;color:#c9c4b8}
.elm-card__count{position:absolute;right:10px;bottom:10px;background:rgba(11,13,15,.7);color:#fff;font-size:.68rem;padding:3px 8px;border-radius:7px}
.elm-card__demo{position:absolute;left:10px;top:10px;background:#C8A96A;color:#0B0D0F;font-size:.6rem;font-weight:800;letter-spacing:.08em;padding:3px 8px;border-radius:7px}
.elm-card__missedbadge{position:absolute;left:10px;bottom:10px;background:#0B0D0F;color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.08em;padding:4px 9px;border-radius:7px}
.elm-card__body{padding:18px 20px;display:flex;flex-direction:column;gap:8px;justify-content:center}
.elm-card__route{display:flex;align-items:center;justify-content:space-between;gap:12px}
.elm-card__route > div{display:grid;gap:1px}
.elm-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.66rem;font-weight:700;color:#806536;background:rgba(200,169,106,.12);border:1px solid rgba(200,169,106,.3);border-radius:6px;padding:2px 7px;justify-self:start;width:max-content}
.ta-r{text-align:right}.ta-r .elm-code{justify-self:end}
.elm-card__route b{font-size:1.05rem}
.elm-card__route small{font-size:.72rem;color:#8f8a80}
.elm-card__mid{text-align:center;color:#8f8a80;font-size:.72rem}
.elm-card__mid i{display:block;font-style:normal;letter-spacing:2px;color:#c9c4b8}
.elm-card__when{margin:0;font-size:.85rem;color:#0B0D0F;font-weight:600}
.elm-card__ac{margin:0;font-size:.78rem;color:#6e6a60}
.elm-card__cta{border-left:1px solid rgba(11,13,15,.08);padding:18px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px;text-align:right}
.elm-card__value{color:#2e7d32;font-size:.7rem;font-weight:700}
.elm-card__price{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
.elm-card__price--ask{font-size:1.05rem;color:#806536}
.elm-card__cta small{color:#8f8a80;font-size:.68rem}
.elm-book{margin-top:10px;border:0;background:#0B0D0F;color:#fff;font:inherit;font-size:.74rem;font-weight:800;letter-spacing:.08em;padding:11px 16px;border-radius:10px;cursor:pointer}
.elm-book:hover{background:#C8A96A;color:#0B0D0F}
.elm-card.is-missed{opacity:.62;filter:saturate(.5);cursor:default}
.elm-card.is-missed:hover{transform:none;box-shadow:none}
.elm-card.is-missed .elm-card__price{text-decoration:line-through;color:#8f8a80}
.elm-card.is-missed .elm-book{display:none}
.elm-empty{text-align:center;padding:44px 20px;background:#fff;border:1px dashed rgba(11,13,15,.18);border-radius:16px;color:#0B0D0F}
.elm-empty h3{font-family:'Newsreader',Georgia,serif;font-size:1.5rem;margin:0 0 8px}
.elm-empty p{margin:0 auto 20px;max-width:52ch;color:#6e6a60;font-size:.9rem}
.elm-empty__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.elm-empty__save{border:0;background:#7a1f2b;color:#fff;font:inherit;font-weight:700;padding:13px 22px;border-radius:12px;cursor:pointer}
.elm-empty__save{background:#0B0D0F}
.elm-empty__save:hover{background:#C8A96A;color:#0B0D0F}
.elm-empty__charter{border:1px solid rgba(11,13,15,.2);color:#0B0D0F;text-decoration:none;font-weight:700;padding:13px 22px;border-radius:12px;background:#fff}
.elm-missed{margin-top:30px}
.elm-missed .elm-h{margin:0 0 4px}
.elm-missed__sub{margin:0 0 14px;font-size:.82rem;color:#8f8a80}
.elm-h{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#806536}
/* modal */
.elm-overlay{position:fixed;inset:0;z-index:200;background:rgba(11,13,15,.55);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}
.elm-modal{background:#fff;border-radius:18px;max-width:1060px;width:100%;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.4);color:#0B0D0F}
.elm-modal__scroll{overflow:auto;padding:18px 18px 0}
.elm-modal__grid{display:grid;grid-template-columns:minmax(0,58%) minmax(0,42%);gap:18px}
.elm-carousel{position:relative;border-radius:14px;overflow:hidden;background:#eef0ee;min-height:340px}
.elm-carousel__frame{position:absolute;inset:0;display:grid;place-items:center}
.elm-carousel__frame img{width:100%;height:100%;object-fit:cover}
.elm-floorplan{width:92%;height:auto}
.elm-x{position:absolute;left:12px;top:12px;z-index:3;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.92);cursor:pointer;font-size:1rem}
.elm-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);cursor:pointer;font-size:1.2rem}
.elm-nav--prev{left:12px}.elm-nav--next{right:12px}
.elm-nav:hover,.elm-x:hover{background:#C8A96A}
.elm-caption{position:absolute;left:12px;bottom:12px;z-index:2;background:rgba(11,13,15,.72);color:#fff;font-size:.72rem;padding:5px 11px;border-radius:8px}
.elm-counter{position:absolute;right:12px;bottom:12px;z-index:2;background:rgba(11,13,15,.72);color:#fff;font-size:.7rem;padding:4px 9px;border-radius:7px}
.elm-side{display:flex;flex-direction:column;gap:14px}
.elm-side__route{display:flex;justify-content:space-between;align-items:center;gap:10px}
.elm-side__route > div{display:grid;gap:1px}
.elm-side__route b{font-size:1.2rem}
.elm-side__route small{color:#8f8a80;font-size:.74rem}
.elm-side__mid{text-align:center;color:#8f8a80;font-size:.72rem}
.elm-side__mid i{display:block;font-style:normal;letter-spacing:2px;color:#c9c4b8}
.elm-side__meta{display:flex;justify-content:space-between;gap:12px}
.elm-side__meta span{display:block;font-size:.62rem;font-weight:800;letter-spacing:.14em;color:#8f8a80}
.elm-side__meta b{font-size:.9rem}
.elm-map{width:100%;height:auto;border-radius:12px}
.elm-block{padding:16px 2px;border-top:1px solid rgba(11,13,15,.08);margin-top:14px}
.elm-operator{display:flex;gap:14px;align-items:center;margin-top:10px}
.elm-shield{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(200,169,106,.14);font-size:1.3rem}
.elm-operator b{font-size:.95rem}
.elm-operator small{display:block;color:#8f8a80;font-size:.76rem;margin-top:2px}
.elm-choicetag{font-size:.58rem;font-weight:800;letter-spacing:.1em;border:1px solid rgba(200,169,106,.5);color:#806536;border-radius:6px;padding:2px 7px;margin-left:8px;vertical-align:middle}
.elm-amens{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;margin-top:12px}
.elm-amen{font-size:.85rem}
.elm-amen span{color:#6e6a60}
.elm-term{font-size:.84rem;margin-top:10px;color:#42403a}
.elm-term b{color:#0B0D0F}
.elm-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid rgba(11,13,15,.1);background:#fff}
.elm-bar b{font-size:1.4rem;font-weight:800}
.elm-bar small{display:block;color:#8f8a80;font-size:.72rem}
.elm-bar__book{background:#0B0D0F;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.06em;padding:14px 26px;border-radius:12px}
.elm-bar__book:hover{background:#C8A96A;color:#0B0D0F}
@media(max-width:860px){.elm-card{grid-template-columns:1fr}.elm-card__media{min-height:170px}.elm-card__cta{border-left:0;border-top:1px solid rgba(11,13,15,.08);align-items:flex-start;text-align:left}.elm-modal__grid{grid-template-columns:1fr}}
.elm-chips button{height:auto!important;min-height:0!important;padding:9px 16px!important;line-height:1.2!important;width:auto!important}
.elm-head .elm-sort{height:auto!important;min-height:0!important}
[data-elm-board]{display:block!important;grid-template-columns:none!important}

/* ═══ Empty Leg booking step (Confirm & request) ═══ */
.elm-bookmodal{max-width:1000px}
.elm-book__top{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 0}
.elm-x--inline{position:static}
.elm-book__brand{font-weight:800;letter-spacing:.02em;color:#0B0D0F}
.elm-book__h1{font-family:'Newsreader',Georgia,serif;font-weight:600;font-size:1.9rem;margin:14px 6px 18px}
.elm-book__grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;padding:0 6px}
.elm-book__row{margin:12px 0;display:flex;gap:14px}
.elm-book__row--between{justify-content:space-between;align-items:center;border-top:1px solid rgba(11,13,15,.08);padding-top:12px}
.elm-book__lab{display:block;font-size:.62rem;font-weight:800;letter-spacing:.14em;color:#8f8a80}
.elm-book__row b{font-size:.95rem}
.elm-paxstep{display:inline-flex;align-items:center;gap:14px}
.elm-paxstep button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(11,13,15,.2);background:#fff;font-size:1.05rem;cursor:pointer}
.elm-paxstep button:hover{background:#C8A96A;border-color:#C8A96A}
.elm-book__fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.elm-book__fields label{display:grid;gap:5px;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8f8a80}
.elm-book__fields label.wide{grid-column:1/-1}
.elm-book__fields input{border:1px solid rgba(11,13,15,.16);border-radius:10px;padding:12px 13px;font:inherit;font-size:.92rem;color:#0B0D0F}
.elm-book__fields input:focus{outline:none;border-color:#C8A96A}
.elm-book__fields small{font-weight:400;letter-spacing:0;text-transform:none;color:#8f8a80}
.elm-req{color:#b3261e;font-style:normal}
.elm-book__msg{position:relative;margin-top:10px}
.elm-book__msg textarea{width:100%;box-sizing:border-box;border:1px solid rgba(11,13,15,.16);border-radius:12px;padding:13px 14px 26px;font:inherit;font-size:.92rem;resize:vertical;color:#0B0D0F}
.elm-book__msg textarea:focus{outline:none;border-color:#C8A96A}
.elm-book__msg [data-elm-count]{position:absolute;right:12px;bottom:10px;font-size:.68rem;color:#8f8a80}
.elm-book__how{margin:24px 0 18px;border-top:1px solid rgba(11,13,15,.08);padding-top:16px}
.elm-book__howh{font-weight:800;font-size:1rem;margin:0 0 12px}
.elm-book__how > div{display:flex;gap:12px;margin-bottom:12px}
.elm-book__how i{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid rgba(11,13,15,.2);display:grid;place-items:center;font-style:normal;font-size:.78rem;font-weight:700}
.elm-book__how b{display:block;font-size:.88rem}
.elm-book__how span{font-size:.8rem;color:#6e6a60}
.elm-book__sum{border:1px solid rgba(11,13,15,.1);border-radius:16px;padding:16px;box-shadow:0 10px 30px rgba(11,13,15,.08)}
.elm-book__sum img{width:84px;height:64px;object-fit:cover;border-radius:10px;float:left;margin:0 12px 8px 0}
.elm-book__codes{margin:2px 0 0;font-family:ui-monospace,Menlo,monospace;font-size:.7rem;font-weight:700;color:#8f8a80}
.elm-book__sum h3{margin:2px 0 2px;font-size:1.05rem}
.elm-book__ac{margin:0 0 12px;font-size:.78rem;color:#6e6a60}
.elm-book__price{clear:both;border-top:1px solid rgba(11,13,15,.08);padding-top:10px;display:grid;gap:7px}
.elm-book__price span{display:flex;justify-content:space-between;font-size:.85rem;color:#42403a}
.elm-book__price span b{font-weight:600}
.elm-book__price .tot{border-top:1px solid rgba(11,13,15,.08);padding-top:9px;font-weight:800;color:#0B0D0F}
.elm-book__price .tot b{font-size:1.2rem;font-weight:800}
.elm-book__req{width:100%;margin-top:14px;border:0;background:#0B0D0F;color:#fff;font:inherit;font-weight:800;letter-spacing:.08em;font-size:.82rem;padding:15px;border-radius:12px;cursor:pointer}
.elm-book__req:hover{background:#C8A96A;color:#0B0D0F}
.elm-book__nopay{margin:10px 0 0;font-size:.74rem;color:#8f8a80;text-align:center}
@media(max-width:860px){.elm-book__grid{grid-template-columns:1fr}}
.elm-book__wa{display:block;text-align:center;margin-top:10px;font-size:.78rem;font-weight:700;color:#806536;text-decoration:none}
.elm-book__wa:hover{text-decoration:underline}

/* ═══ Empty Leg page: search bar + popular deals + savings example ═══ */
.elm-search{display:flex;gap:10px;align-items:stretch;background:#fff;border-radius:16px;padding:12px;margin:0 0 22px;box-shadow:0 14px 40px rgba(11,13,15,.12);flex-wrap:wrap}
.elm-search__f{display:grid;gap:3px;background:#F2EFE8;border-radius:10px;padding:8px 14px;font-size:.6rem;font-weight:800;letter-spacing:.14em;color:#8f8a80;min-width:110px}
.elm-search__f.grow{flex:1 1 160px}
.elm-search__f input{border:0;background:transparent;font:inherit;font-size:.95rem;font-weight:600;color:#0B0D0F;padding:2px 0;letter-spacing:normal}
.elm-search__f input:focus{outline:none}
.elm-search__f:focus-within{box-shadow:inset 0 0 0 2px #C8A96A}
.elm-search__swap{align-self:center;width:36px;height:36px;flex:none;border-radius:50%;border:1px solid rgba(11,13,15,.14);background:#fff;color:#806536;cursor:pointer;margin:0 -14px;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.08);transition:transform .3s}
.elm-search__swap:hover{transform:rotate(180deg);background:#C8A96A;color:#0B0D0F}
.elm-search__go{border:0;border-radius:12px;background:#0B0D0F;color:#fff;font:inherit;font-weight:800;font-size:.9rem;padding:0 26px;cursor:pointer;min-height:52px}
.elm-search__go:hover{background:#C8A96A;color:#0B0D0F}
.elm-deals{margin:0 0 26px}
.elm-deals__sub{margin:4px 0 14px;font-size:.85rem;color:#6e6a60;max-width:60ch}
.elm-deals__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.elm-deal{position:relative;overflow:hidden;border:0;border-radius:16px;min-height:190px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;text-align:left;color:#F5F4F0;font:inherit;transition:transform .15s,box-shadow .15s}
/* the corridor card carries the aeroplane, not a flat gradient — the veil is
   what keeps the route and the price readable over a bright tarmac shot */
.elm-deal__ph{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.elm-deal:hover .elm-deal__ph{transform:scale(1.05)}
.elm-deal__veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,13,15,.62) 0%,rgba(11,13,15,.28) 42%,rgba(11,13,15,.86) 100%)}
.elm-deal:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(11,13,15,.3)}
.elm-deal__route{position:relative;display:flex;align-items:center;gap:10px;font-size:.82rem;font-weight:800;letter-spacing:.06em}
.elm-deal__route i{font-style:normal;color:#C8A96A;letter-spacing:2px}
.elm-deal__bottom{position:relative;display:flex;align-items:flex-end;justify-content:space-between}
.elm-deal__bottom small{display:block;font-size:.6rem;letter-spacing:.14em;color:#cfcabf}
.elm-deal__bottom strong{font-size:1.6rem;font-weight:800;letter-spacing:-.02em}
.elm-deal__bottom em{font-style:normal;font-size:.74rem;color:#cfcabf}
.elm-example{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:30px;border:1px solid rgba(11,13,15,.1);border-radius:18px;overflow:hidden;background:#fff}
.elm-example__media{position:relative;min-height:250px;background:linear-gradient(140deg,#1a2f45,#0B0D0F);background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:space-between;padding:16px}
.elm-example__media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,13,15,.72),transparent 60%)}
.elm-example__media span{position:relative;z-index:1;align-self:flex-start;background:rgba(11,13,15,.6);color:#F5F4F0;font-size:.62rem;font-weight:800;letter-spacing:.16em;padding:5px 10px;border-radius:8px}
.elm-example__media b{position:relative;z-index:1;color:#fff;font-size:1.3rem;font-family:'Newsreader',Georgia,serif;font-weight:500}
.elm-example__rows{padding:18px 22px;display:grid;gap:12px;align-content:center}
.elm-example__row{display:flex;gap:14px;align-items:center}
.elm-example__row i{flex:none;width:42px;height:42px;border-radius:50%;background:rgba(200,169,106,.14);display:grid;place-items:center;font-style:normal;color:#806536}
.elm-example__row span{display:block;font-size:.78rem;color:#6e6a60}
.elm-example__row b{font-size:1.15rem;font-weight:800}
.elm-example__row b small{font-weight:400;color:#8f8a80;font-size:.72rem}
.elm-example__row--save{border-top:1px dashed rgba(11,13,15,.15);padding-top:12px}
.elm-example__row--save i{background:rgba(46,125,50,.12);color:#2e7d32}
.elm-example__row--save em{font-style:normal;background:rgba(46,125,50,.12);color:#2e7d32;font-size:.66rem;font-weight:800;padding:3px 8px;border-radius:7px;margin-left:6px;vertical-align:middle}
.elm-example__bring{border:1px solid rgba(11,13,15,.1);border-radius:12px;padding:12px 14px}
.elm-example__bring b{display:block;font-size:.88rem}
.elm-example__bring span{font-size:.8rem;color:#6e6a60}
@media(max-width:860px){.elm-deals__grid{grid-template-columns:1fr}.elm-example{grid-template-columns:1fr}}

/* ═══ Türkiye Corridor: schematic map + four-mode grid ═══ */
.ai-cormap__svg{width:100%;height:auto;margin-top:10px;background:linear-gradient(140deg,#0d1420,#0B0D0F);border:1px solid rgba(200,169,106,.25);border-radius:16px;padding:8px;box-sizing:border-box}
.ai-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ai-mode{background:#fff;border:1px solid rgba(11,13,15,.1);border-radius:16px;padding:22px}
.ai-mode__head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ai-mode__head span{width:42px;height:42px;border-radius:50%;background:rgba(200,169,106,.14);display:grid;place-items:center;font-size:1.15rem;color:#806536}
.ai-mode__head h3{margin:0;font-size:1.1rem}
.ai-mode p{margin:0 0 12px;font-size:.88rem;line-height:1.6;color:#5d5a52}
.ai-mode ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.ai-mode li{font-size:.82rem;color:#42403a;padding-left:18px;position:relative}
.ai-mode li::before{content:"▸";position:absolute;left:0;color:#C8A96A}
@media(max-width:820px){.ai-modes{grid-template-columns:1fr}}
/* inline svg icon alignment */
.ai-mode__head span svg,.ai-hw-services a svg,.ai-hw-tabs button svg{vertical-align:-4px}
.ai-hw-tabs button svg{width:16px;height:16px;margin-right:6px;color:#806536}
.ai-hw-services a svg{color:#806536}
.elm-empty__save svg,.elm-empty__charter svg{vertical-align:-4px;margin-right:6px}
.elm-search__go svg{vertical-align:-4px;margin-right:4px}
.elm-term svg{vertical-align:-4px;margin-right:6px;color:#806536}
.elm-side__meta b svg{vertical-align:-4px;margin-right:4px;color:#806536}
.elm-shield svg{color:#806536}
.elm-card__noimg svg{width:34px;height:34px;color:#c9c4b8}
.elm-example__row i svg{width:20px;height:20px}
.elm-book__row b svg{vertical-align:-4px;margin-right:4px;color:#806536}

.ai-flows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ai-flow{background:#fff;border:1px solid rgba(11,13,15,.1);border-radius:16px;padding:22px}
.ai-flow__dir{margin:0 0 8px;font-size:.64rem;font-weight:800;letter-spacing:.18em;color:#806536}
.ai-flow h3{margin:0 0 10px;font-size:1.05rem}
.ai-flow > p{margin:0 0 12px;font-size:.86rem;line-height:1.6;color:#5d5a52}
.ai-flow ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.ai-flow li{font-size:.8rem;color:#42403a;padding-left:16px;position:relative}
.ai-flow li::before{content:"—";position:absolute;left:0;color:#C8A96A}
@media(max-width:900px){.ai-flows{grid-template-columns:1fr}}


/* ═══ Corridor map — editorial cartography ═══ */
.ai-geomap{position:relative;background:radial-gradient(120% 90% at 30% 20%,#101a28 0%,#0B0D0F 62%);border:1px solid rgba(200,169,106,.22);border-radius:20px;padding:8px 8px 0;margin-top:14px;overflow:hidden}
.ai-geomap svg{width:100%;height:auto;display:block}
.gm-grid line{stroke:rgba(245,244,240,.05);stroke-width:1}
.gm-land path{fill:rgba(245,244,240,.055);stroke:rgba(245,244,240,.22);stroke-width:.9;stroke-linejoin:round}
.gm-sea path{fill:rgba(127,155,179,.14);stroke:rgba(127,155,179,.34);stroke-width:.8}
.gm-rings ellipse{fill:none;stroke:rgba(200,169,106,.16);stroke-width:1;stroke-dasharray:3 8}
.gm-ringlabels text{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:9px;fill:rgba(200,169,106,.5);letter-spacing:.08em}
/* routes */
.rt{fill:none;stroke-linecap:round}
.rt--road{stroke:#C8A96A;stroke-width:2.2}
.rt--rail{stroke:#C8A96A;stroke-width:2.2;stroke-dasharray:10 5}
.rt--air{stroke:rgba(245,244,240,.75);stroke-width:1.4;stroke-dasharray:1 6}
.rt--sea{stroke:#7f9bb3;stroke-width:1.6;stroke-dasharray:7 5}
.rt--ghost{stroke:rgba(200,169,106,.28);stroke-width:1.2;stroke-dasharray:2 7}
.rt-dot{fill:#C8A96A;opacity:.9}
.rt-dot--air{fill:#F5F4F0;r:2.6}
.rt-dot--sea{fill:#7f9bb3}
@media (prefers-reduced-motion:no-preference){
  .rt{stroke-dashoffset:0;animation:gm-in 1.1s cubic-bezier(.22,.9,.24,1) both;animation-delay:calc(var(--i,0)*.09s)}
}
@keyframes gm-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.rt-dot{display:none}}
/* nodes */
.gm-nodes circle{fill:#0B0D0F;stroke:#C8A96A;stroke-width:1.6}
.gm-nodes text{font-family:Satoshi,Arial,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.1em;fill:rgba(245,244,240,.82)}
.nd--hub circle{fill:#C8A96A;stroke:#F5F4F0;stroke-width:2}
.nd--hub .nd__halo{fill:rgba(200,169,106,.14);stroke:none;animation:gm-pulse 3.4s ease-in-out infinite}
.nd--hub text{font-size:13px;fill:#C8A96A;letter-spacing:.16em}
.nd--hub2 circle{fill:#0B0D0F;stroke:rgba(200,169,106,.7);stroke-width:1.3}
.nd--hub2 text{font-size:9px;fill:rgba(200,169,106,.75);letter-spacing:.12em}
.nd--w text,.nd--e text,.nd--s text{fill:rgba(245,244,240,.7);font-size:10px}
.nd--s circle{stroke:#7f9bb3}
@keyframes gm-pulse{0%,100%{opacity:.5;r:16}50%{opacity:.9;r:20}}
@media (prefers-reduced-motion:reduce){.nd--hub .nd__halo{animation:none}}
/* legend */
.ai-geomap__legend{display:flex;gap:22px;flex-wrap:wrap;align-items:center;padding:12px 8px 14px;font-size:.72rem;color:#8f8a80}
.ai-geomap__legend span{display:inline-flex;align-items:center;gap:8px}
.ai-geomap__legend .lg{width:24px;height:0;display:inline-block;border-top:2px solid #C8A96A}
.ai-geomap__legend .lg--rail{border-top-style:dashed}
.ai-geomap__legend .lg--air{border-top:1px dotted #F5F4F0}
.ai-geomap__legend .lg--sea{border-top:2px dashed #7f9bb3}
.ai-geomap__note{margin-left:auto;font-size:.68rem;color:#6e6a60;letter-spacing:.04em}
@media(max-width:700px){.ai-geomap__note{margin-left:0}}


/* ═══ 24/7 desk — full-bleed cinematic band ═══ */
.ai-desk247{position:relative;isolation:isolate;padding:clamp(88px,13vw,168px) 24px;overflow:hidden;background:#0B0D0F}
.ai-desk247__bg{position:absolute;inset:0;z-index:-2}
.ai-desk247__bg video,.ai-desk247__bg img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.15) contrast(1.05) brightness(.7)}
.ai-desk247__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,13,15,.92) 0%,rgba(11,13,15,.72) 42%,rgba(11,13,15,.28) 72%,rgba(11,13,15,.55) 100%),linear-gradient(180deg,rgba(11,13,15,.6) 0%,transparent 30%,rgba(11,13,15,.75) 100%)}
.ai-desk247__inner{position:relative;max-width:1120px;margin:0 auto;display:block;max-width:min(1120px,100%)}
.ai-desk247__inner > *{max-width:56ch}
.ai-desk247__badge{position:static;display:inline-flex;align-items:center;gap:9px;background:rgba(11,13,15,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(200,169,106,.4);border-radius:999px;padding:8px 16px;font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#F5F4F0;margin-bottom:18px}
.ai-desk247__badge i{width:8px;height:8px;border-radius:50%;background:#C8A96A;animation:ai-desk-pulse 2.4s ease-in-out infinite;font-style:normal}
.ai-desk247__title{font-size:clamp(30px,4.4vw,54px)}
.ai-desk247__copy{font-size:1rem;color:#cfcabf;max-width:52ch}
.ai-desk247__stats{display:flex;gap:34px;flex-wrap:wrap;margin:26px 0 30px;border-top:1px solid rgba(200,169,106,.35);padding-top:18px;max-width:600px}
.ai-desk247__stats div{display:grid;gap:2px}
.ai-desk247__stats b{font-family:'Newsreader',Georgia,serif;font-weight:500;font-size:1.9rem;color:#C8A96A;letter-spacing:-.02em}
.ai-desk247__stats span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#9b968b}
.ai-desk247__actions{display:flex;gap:12px;flex-wrap:wrap}
.ai-desk247__cta{background:#C8A96A;color:#0B0D0F;text-decoration:none;font-weight:800;font-size:.92rem;padding:14px 26px;border-radius:999px}
.ai-desk247__cta:hover{filter:brightness(1.08)}
.ai-desk247__cta--ghost{background:transparent;color:#F5F4F0;border:1px solid rgba(245,244,240,.4)}
.ai-desk247__cta--ghost:hover{border-color:#C8A96A;color:#C8A96A;filter:none}
@media(max-width:640px){.ai-desk247__stats{gap:22px}.ai-desk247__stats b{font-size:1.5rem}}
@media print{.ai-desk247__bg{display:none}}
/* 24/7 desk — hub coverage strip */
.ai-desk247__hubs{margin:26px 0 4px;max-width:760px}
.ai-desk247__hubs-label{margin:0 0 12px;font-size:.62rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#806536}
.ai-desk247__hubs ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 20px}
.ai-desk247__hubs li{display:grid;gap:2px;padding-left:12px;border-left:1px solid rgba(245,244,240,.18)}
.ai-desk247__hubs li b{font-size:.78rem;font-weight:800;letter-spacing:.1em;color:#e6e2d8}
.ai-desk247__hubs li span{font-size:.68rem;color:#8f8a80;letter-spacing:.02em}
.ai-desk247__hubs li.is-home{border-left-color:#C8A96A}
.ai-desk247__hubs li.is-home b{color:#C8A96A}
.ai-desk247__hubs li.is-home b::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#C8A96A;margin-right:7px;vertical-align:middle;animation:ai-desk-pulse 2.4s ease-in-out infinite}
.ai-desk247 .ai-desk247__inner > .ai-desk247__hubs{max-width:760px}
@media(max-width:860px){.ai-desk247__hubs ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* hub strip — second tier (global reach) */
.ai-desk247__hubs{max-width:820px}
.ai-desk247__hubs-label--sec{margin-top:22px;color:#8f8a80}
.ai-desk247__hubs ul.is-reach li{border-left-color:rgba(245,244,240,.1)}
.ai-desk247__hubs ul.is-reach li b{font-size:.72rem;color:#b9b4a9;font-weight:700}
.ai-desk247__hubs ul.is-reach li span{font-size:.64rem;color:#75716a}
.ai-desk247__hubs-note{margin:16px 0 0;font-size:.72rem;line-height:1.6;color:#75716a;max-width:62ch}
@media(max-width:860px){.ai-desk247__hubs ul.is-reach{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ai-desk247__hubs ul.is-reach{grid-template-columns:repeat(4,minmax(0,1fr))}
.ai-desk247__hubs ul.is-reach li span{letter-spacing:.01em}
@media(max-width:860px){.ai-desk247__hubs ul.is-reach{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* hub strip — name-only, inline chips */
.ai-desk247__hubs ul.is-cities,.ai-desk247__hubs ul.is-reach{display:flex!important;flex-wrap:wrap;gap:0;grid-template-columns:none!important}
.ai-desk247__hubs ul.is-cities li,.ai-desk247__hubs ul.is-reach li{border-left:0;padding:0 18px 0 0;margin-right:18px;position:relative;display:inline-flex;align-items:center}
.ai-desk247__hubs ul.is-cities li:not(:last-child)::after,.ai-desk247__hubs ul.is-reach li:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:12px;background:rgba(245,244,240,.2)}
.ai-desk247__hubs ul.is-cities li b{font-size:.88rem;letter-spacing:.14em;color:#e6e2d8}
.ai-desk247__hubs ul.is-cities li.is-home b{color:#C8A96A}
.ai-desk247__hubs ul.is-reach li b{font-size:.78rem;letter-spacing:.08em;color:#9b968b;font-weight:600}
.ai-desk247__hubs ul.is-cities{margin-bottom:2px}

/* ═══ Hero service slider — cross-fading backgrounds tied to the widget tabs ═══ */
body.ai-core-home-page .hero .bg .ai-heroslide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s cubic-bezier(.4,0,.2,1);z-index:0}
body.ai-core-home-page .hero .bg .ai-heroslide.is-on{opacity:1}
body.ai-core-home-page .hero .bg > img{opacity:.9}
body.ai-core-home-page .hero .tag{transition:opacity .22s ease}

/* ═══════════════ Hero widget — final refinement (divider-based, no boxes) ═══════════════ */
.ai-hero-widget{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important}

/* tabs: airy text tabs on a floating dark strip, no attached boxes */
.ai-hw-tabs{display:inline-flex!important;gap:2px!important;background:rgba(11,13,15,.55)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(245,244,240,.14)!important;border-radius:999px!important;padding:5px!important;margin-bottom:14px!important}
.ai-hw-tabs button{background:transparent!important;color:#b9b4a9!important;border:0!important;border-radius:999px!important;height:auto!important;padding:10px 20px!important;font-size:.82rem!important;font-weight:600!important;letter-spacing:.01em;transition:background .2s,color .2s}
.ai-hw-tabs button:hover{color:#F5F4F0!important;background:rgba(245,244,240,.06)!important}
.ai-hw-tabs [aria-selected="true"]{background:#F5F4F0!important;color:#0B0D0F!important;font-weight:700!important}
.ai-hw-tabs button svg{width:15px;height:15px;margin-right:7px;color:currentColor!important;opacity:.85}
.ai-hw-tabs [aria-selected="true"] svg{color:#806536!important;opacity:1}
.ai-hw-tabs button::after{display:none!important}

/* the instrument: one white card, fields divided by hairlines */
.ai-hw-panel{background:#fff!important;border-radius:20px!important;padding:8px!important;box-shadow:0 26px 60px rgba(11,13,15,.28)!important;display:block!important}
.ai-hw-row{display:flex!important;align-items:stretch;gap:0!important;flex-wrap:nowrap}
.ai-hw-field{position:relative;flex:1 1 0;min-width:0;display:grid!important;align-content:center;gap:4px!important;background:transparent!important;border-radius:14px!important;padding:14px 20px!important;min-height:74px!important;transition:background .18s ease}
.ai-hw-field + .ai-hw-field::before,.ai-hw-field + .ai-hw-swap + .ai-hw-field::before{content:"";position:absolute;left:0;top:18%;height:64%;width:1px;background:rgba(11,13,15,.12)}
.ai-hw-field:hover{background:rgba(11,13,15,.035)!important}
.ai-hw-field:hover::before,.ai-hw-field:hover + .ai-hw-field::before{opacity:0}
.ai-hw-field:focus-within{background:rgba(200,169,106,.09)!important;box-shadow:inset 0 0 0 1.5px rgba(200,169,106,.55)!important}
.ai-hw-field > span,.ai-hw-field{font-size:.66rem!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase;color:#8a857a!important}
.ai-hw-field input{border:0!important;background:transparent!important;padding:0!important;font-size:1.02rem!important;font-weight:600!important;color:#0B0D0F!important;letter-spacing:-.01em;line-height:1.35}
.ai-hw-field input::placeholder{color:#a8a49b!important;font-weight:500}
.ai-hw-field input:focus{outline:none!important;box-shadow:none!important}

/* swap: sits on the seam */
.ai-hw-swap{align-self:center!important;flex:0 0 auto;width:34px!important;height:34px!important;margin:0 -6px!important;border:1px solid rgba(11,13,15,.14)!important;background:#fff!important;color:#806536!important;box-shadow:0 2px 8px rgba(11,13,15,.1)!important;z-index:3}

/* CTA: gold pill, right end, breathes with the card */
.ai-hw-go{flex:0 0 auto;align-self:center!important;min-height:56px!important;min-width:auto!important;margin-left:6px;padding:0 30px!important;border-radius:999px!important;background:#C8A96A!important;color:#0B0D0F!important;font-weight:800!important;font-size:.94rem!important;letter-spacing:.01em;box-shadow:0 8px 20px rgba(200,169,106,.35)!important;transition:transform .15s,box-shadow .15s,filter .15s}
.ai-hw-go:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(200,169,106,.45)!important;filter:brightness(1.04)}

/* secondary row: quiet inline cells, still divided */
.ai-hw-row--minor{margin-top:0!important;border-top:1px solid rgba(11,13,15,.09);padding-top:2px}
.ai-hw-mini{position:relative;background:transparent!important;border-radius:12px!important;padding:12px 20px!important;display:grid!important;gap:3px;font-size:.62rem!important;font-weight:800!important;letter-spacing:.12em!important;color:#a8a49b!important;transition:background .18s}
.ai-hw-mini + .ai-hw-mini::before{content:"";position:absolute;left:0;top:22%;height:56%;width:1px;background:rgba(11,13,15,.1)}
.ai-hw-mini:hover{background:rgba(11,13,15,.03)!important}
.ai-hw-mini input{border:0!important;background:transparent!important;padding:0!important;font-size:.95rem!important;font-weight:600!important;color:#0B0D0F!important}
.ai-hw-panel .air-fit{align-self:center;margin-left:auto!important;padding-right:16px;font-size:.76rem!important;color:#8a857a!important}

/* note + recents sit outside the card, quiet on the video */
.ai-hero-widget > .ai-hw-note,.ai-hw-recents{background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:10px 6px 0!important;color:rgba(245,244,240,.62)!important;border:0!important}
.ai-hw-confirm{background:rgba(11,13,15,.6)!important;backdrop-filter:blur(10px);border:1px solid rgba(200,169,106,.4)!important;color:#F5F4F0!important;border-radius:14px!important;margin:10px 0 0!important}
.ai-hw-recents button{border-color:rgba(245,244,240,.25)!important;color:rgba(245,244,240,.75)!important;background:transparent!important}
.ai-hw-recents button:hover{border-color:#C8A96A!important;color:#C8A96A!important}

/* quick services: glass chips instead of white blocks */
.ai-hw-services{margin-top:16px!important;gap:10px!important}
.ai-hw-services a{background:rgba(11,13,15,.42)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(245,244,240,.16)!important;color:rgba(245,244,240,.86)!important;box-shadow:none!important;height:52px!important;border-radius:14px!important;font-size:.8rem!important}
.ai-hw-services a svg{color:#C8A96A!important;opacity:.9}
.ai-hw-services a:hover{background:rgba(11,13,15,.62)!important;border-color:rgba(200,169,106,.5)!important;transform:translateY(-2px)}

@media(max-width:900px){
  .ai-hw-row{flex-wrap:wrap!important}
  .ai-hw-field{flex:1 1 45%;min-height:66px!important}
  .ai-hw-field + .ai-hw-field::before{display:none}
  .ai-hw-go{width:100%;margin:6px 0 0}
  .ai-hw-swap{display:none!important}
}
/* widget polish: kill leftover pill/halo artefacts + tidy the minor row */
.ai-hw-tabs button::before,.ai-hw-tabs::before,.ai-hw-tabs::after{display:none!important}
.ai-hw-tabs [aria-selected="true"]{box-shadow:0 2px 10px rgba(0,0,0,.25)!important}
.ai-hero-widget .site-card,.ai-hero-widget.site-card{background:transparent!important;box-shadow:none!important}
.ai-hw-row--minor{border-top:1px solid rgba(11,13,15,.08)!important;margin-top:2px!important;padding:2px 0 0!important}
.ai-hw-mini.grow{flex:1 1 auto}
.ai-hw-mini.grow input{width:100%!important}
.ai-hw-panel > .ai-hw-row--minor .ai-hw-mini{padding:12px 20px!important;min-height:60px;align-content:center}

/* ═══ World clock strip (24/7 desk section) ═══ */
.ai-worldclock{margin:26px 0 6px;max-width:860px}
.ai-worldclock__label{margin:0 0 14px;font-size:.62rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#806536}
.ai-worldclock ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 10px}
.ai-worldclock li{display:grid;gap:3px;padding-left:13px;border-left:1px solid rgba(245,244,240,.16);position:relative}
.ai-worldclock li b{font-size:.62rem;font-weight:800;letter-spacing:.13em;color:#8f8a80;white-space:nowrap}
.ai-worldclock li time{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.12rem;font-weight:600;color:#e6e2d8;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.ai-worldclock li.is-night time{color:#8f8a80}
.ai-worldclock li.is-night b::after{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#4c5a68;margin-left:6px;vertical-align:middle}
.ai-worldclock li.is-home{border-left-color:#C8A96A}
.ai-worldclock li.is-home b{color:#C8A96A}
.ai-worldclock li.is-home time{color:#C8A96A}
.ai-worldclock li.is-home::after{content:"";position:absolute;left:-4px;top:6px;width:6px;height:6px;border-radius:50%;background:#C8A96A;animation:ai-desk-pulse 2.4s ease-in-out infinite}
@media(max-width:860px){.ai-worldclock ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* world clock — live seconds */
.ai-worldclock li time{display:inline-flex;align-items:baseline;gap:0}
.ai-worldclock li time i{font-style:normal;animation:wc-blink 1s steps(1,end) infinite;padding:0 1px}
.ai-worldclock li time small{font-size:.62em;margin-left:5px;color:#806536;letter-spacing:.02em;font-weight:500}
.ai-worldclock li.is-night time small{color:#5f6a72}
.ai-worldclock li.is-home time small{color:#C8A96A;opacity:.8}
@keyframes wc-blink{0%,49%{opacity:1}50%,100%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.ai-worldclock li time i{animation:none}}

/* ═══════════ Hero v2 — real slide changes, minimal furniture ═══════════ */
body.ai-core-home-page .hero .bg .ai-heroslide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s cubic-bezier(.4,0,.2,1);z-index:0}
body.ai-core-home-page .hero .bg .ai-heroslide.is-on{opacity:1}
.ai-heroslide__img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);transition:transform 9s linear}
.ai-heroslide.is-on .ai-heroslide__img{transform:scale(1)}
.ai-heroslide__vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.ai-heroslide__vid.is-ready{opacity:1}

/* text swap animation */
body.ai-core-home-page .hero .tag,body.ai-core-home-page .hero h1,body.ai-core-home-page .hero .fg > p{transition:opacity .26s ease,transform .26s ease}
body.ai-core-home-page .hero .is-swap{opacity:0;transform:translateY(8px)}
body.ai-core-home-page .hero h1{min-height:2.1em}
body.ai-core-home-page .hero .fg > p{min-height:2.9em;max-width:56ch}

/* slide indicators */
.ai-heronav{display:flex;gap:10px;margin:18px 0 4px}
.ai-heronav button{width:52px;height:22px;padding:0;border:0;background:transparent;cursor:pointer;display:flex;align-items:center}
.ai-heronav button i{display:block;width:100%;height:2px;background:rgba(245,244,240,.28);position:relative;overflow:hidden;border-radius:2px}
.ai-heronav button.is-on i{background:rgba(245,244,240,.35)}
.ai-heronav button.is-on i::after,.ai-heronav button i::after{content:"";position:absolute;inset:0;background:#C8A96A;transform-origin:left;transform:scaleX(0)}
.ai-heronav button.is-on i{animation:none}
@keyframes hn-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ai-heronav button.is-on i::after{animation:inherit}
.ai-heronav button i{animation-fill-mode:forwards}
.ai-heronav button:hover i{background:rgba(245,244,240,.5)}

/* quiet text links replace the chip row */
.ai-hw-links{display:flex;flex-wrap:wrap;gap:0;margin-top:18px}
.ai-hw-links a{position:relative;color:rgba(245,244,240,.68);text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:0 16px 0 0;margin-right:16px}
.ai-hw-links a:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:11px;background:rgba(245,244,240,.22)}
.ai-hw-links a:hover{color:#C8A96A}

/* ── Cargo mission form: dimensions repeater + urgency (competitive parity, Aug 2026) ── */
.mission-add{margin-top:8px;border:1px dashed rgba(11,13,15,.28);background:transparent;color:inherit;padding:8px 12px;border-radius:2px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;opacity:.75}
.mission-add:hover{opacity:1;border-color:var(--gold,#C8A96A);color:var(--gold,#C8A96A)}
[data-dim-extra] input{width:100%;margin-top:8px}
.mission-field select{width:100%}

/* ── Empty leg board: price anchor, savings badge, freshness, real sort (Aug 2026) ── */
.elm-card__anchor{display:block;color:#8A8C82;font-size:12px;text-decoration:line-through;letter-spacing:.02em;margin-bottom:2px}
.elm-card__value{font-variant-numeric:tabular-nums}
.elm-card__verified{margin:4px 0 0;color:#8A8C82;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.elm-fresh{margin-left:14px;color:#8A8C82;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.elm-sort{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:inherit;font-size:12px}
.elm-sort select{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:4px 2px}
.elm-sort select:focus-visible{outline:2px solid var(--gold,#C8A96A);outline-offset:2px}
.elm-search__f input[type="date"],.elm-search__f input[type="number"]{border:0;background:transparent;color:inherit;font:inherit;width:100%}
.elm-search__f input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}

/* ── About page: company register, capability grid, booking sequence (Aug 2026) ── */
.ai-cpage-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;margin:0;background:#E2DED4}
.ai-cpage-dl>div{background:#FBFAF6;padding:16px 18px}
.ai-cpage-dl dt{margin:0 0 6px;color:#5E6169;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.ai-cpage-dl dd{margin:0;font-family:"Newsreader",Georgia,serif;font-size:1.12rem;line-height:1.35;letter-spacing:-.01em}
.ai-cpage-note{margin-top:20px;color:#5E6169;font-size:.82rem;line-height:1.6;max-width:78ch}
.ai-cpage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;margin-top:34px;background:#E2DED4}
.ai-cpage-grid article{background:#FBFAF6;padding:26px 24px}
.ai-cpage-grid h3{margin:0 0 10px;font-family:"Newsreader",Georgia,serif;font-weight:400;font-size:1.24rem;letter-spacing:-.02em}
.ai-cpage-grid p{margin:0;color:#3E4144;font-size:.9rem;line-height:1.62}
.ai-cpage-steps{margin:30px 0 0;padding:0;list-style:none;counter-reset:aistep;border-top:1px solid #E2DED4}
.ai-cpage-steps li{counter-increment:aistep;position:relative;padding:18px 0 18px 52px;border-bottom:1px solid #E2DED4;font-size:.95rem;line-height:1.6}
.ai-cpage-steps li::before{content:counter(aistep,decimal-leading-zero);position:absolute;left:0;top:19px;color:#806536;font:700 .74rem/1 ui-monospace,monospace;letter-spacing:.1em}
.ai-cpage-steps b{font-family:"Newsreader",Georgia,serif;font-weight:500}
.ai-cpage-contact{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ai-desk-bar__tel{font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.03em}


/* ── WCAG AA text colours (measured Aug 2026) ───────────────────────────────
   --gold #C8A96A on cream is 2.15:1 — it is a rule, border and surface colour
   on light backgrounds, never text. --gold-ink #806536 is the text-safe gold
   (4.98:1 on cream, 4.81:1 on the #F3F0E8 panel fill).
   --mut was #77796F (4.02:1 on paper) and is now #6A6C62 (4.85:1).
   ────────────────────────────────────────────────────────────────────────── */
:root{--gold-ink:#806536}

/* ── Loadability card: door aperture drawn to scale against the entered piece ──
   No competitor in the segment publishes loading geometry at all. Aug 2026. */
.lc-mount{margin-top:38px}
.lc-hint{margin:0;padding:22px 24px;border:1px dashed rgba(11,13,15,.2);color:#6A6C62;font-size:.88rem;line-height:1.6}
.lc-head{margin-bottom:24px}
.lc-kicker{margin:0 0 10px;color:var(--gold-ink,#806536);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.lc-head h3{margin:0;font-family:"Newsreader",Georgia,serif;font-weight:400;font-size:clamp(22px,2.6vw,32px);letter-spacing:-.02em}
.lc-intro{margin:12px 0 0;color:#6A6C62;font-size:.88rem;line-height:1.6}
.lc-intro b{color:inherit;font-variant-numeric:tabular-nums}
.lc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:#E2DED4;border:1px solid #E2DED4}
.lc-card{background:#FBFAF6;padding:20px 18px 18px;display:flex;flex-direction:column;gap:10px}
.lc-card--no{background:#F7F4F1;opacity:.82}
.lc-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.lc-card__head h4{margin:0;font-family:"Newsreader",Georgia,serif;font-weight:500;font-size:1.06rem;letter-spacing:-.015em}
.lc-card__method{color:#6A6C62;font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.lc-card__draw{color:#3E4144}
.lc-card__draw svg{display:block;width:100%;height:auto}
.lc-card__verdict{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.lc-card--fits .lc-card__verdict{color:#3F7D58}
.lc-card--tight .lc-card__verdict{color:#7C6234}
.lc-card--no .lc-card__verdict{color:#A2402F}
.lc-card__door{margin:0;color:#6A6C62;font-size:.74rem;font-variant-numeric:tabular-nums}
.lc-card__src{margin:0;font-size:.66rem;color:#6A6C62}
.lc-card__src a{color:var(--gold-ink,#806536)}
.lc-note{margin:20px 0 0;max-width:84ch;color:#6A6C62;font-size:.76rem;line-height:1.65}

/* ── Cost anatomy: publish the price structure without publishing a price.
   None of ACS, Chapman Freeborn, Air Partner, Antonov or Volga-Dnepr do this. ── */
.ca{margin-top:40px}
.ca__bar{display:flex;height:56px;border:1px solid #E2DED4;overflow:hidden}
.ca__seg{position:relative;display:grid;place-items:center;min-width:0}
.ca__seg b{font:700 .74rem/1 ui-monospace,monospace;letter-spacing:.06em;color:#0B0D0F}
.ca__seg--block{background:rgba(200,169,106,.55)}
.ca__seg--fuel{background:rgba(200,169,106,.3)}
.ca__seg--pos{background:rgba(11,13,15,.1)}
.ca__barnote{margin:10px 0 0;color:#6A6C62;font-size:.74rem;line-height:1.55}
.ca__list{margin:30px 0 0;display:grid;gap:1px;background:#E2DED4;border:1px solid #E2DED4}
.ca__list>div{background:#FBFAF6;padding:20px 22px}
.ca__list dt{display:flex;align-items:center;gap:10px;font-family:"Newsreader",Georgia,serif;font-size:1.1rem;letter-spacing:-.015em}
.ca__list dt span{margin-left:auto;font-family:ui-monospace,monospace;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--gold-ink,#806536)}
.ca__list dd{margin:8px 0 0 24px;color:#3E4144;font-size:.88rem;line-height:1.62}
.ca__dot{flex:none;width:9px;height:9px;border-radius:50%;background:#C3BDAE}
.ca__dot--block{background:rgba(200,169,106,.9)}
.ca__dot--fuel{background:rgba(200,169,106,.5)}
.ca__dot--pos{background:rgba(11,13,15,.25)}
.ca__dot--flag{background:#A2402F}
.ca__promise{margin:26px 0 0;padding:18px 20px;border-left:3px solid var(--gold-ink,#806536);background:#F3F0E8;font-size:.9rem;line-height:1.62}
.ca__disc{margin:14px 0 0;max-width:84ch;color:#6A6C62;font-size:.74rem;line-height:1.6}
@media(max-width:560px){.ca__bar{height:44px}.ca__seg b{font-size:.64rem}.ca__list dd{margin-left:0}}

/* ── Empty leg: scarcity chips with live counts + shareable leg link ── */
.elm-chips button i{margin-left:7px;font-style:normal;font-size:.68em;font-variant-numeric:tabular-nums;opacity:.7}
.elm-chips button.is-empty{opacity:.4;pointer-events:none}
.elm-share{display:inline-flex;align-items:center;gap:7px;margin-right:8px;border:1px solid rgba(245,244,240,.32);background:rgba(0,0,0,.35);color:#F5F4F0;border-radius:999px;padding:8px 14px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(6px)}
.elm-share:hover{border-color:var(--gold,#C8A96A);color:var(--gold,#C8A96A)}
@media(max-width:560px){.elm-share span{display:none}.elm-share{padding:8px 10px}}

/* ── Charter cost guide: rate table + positioning comparison ── */
.cc-table{margin-top:28px;border:1px solid #E2DED4;background:#E2DED4;display:grid;gap:1px}
.cc-row{display:grid;grid-template-columns:1.1fr .7fr 1fr 2fr;gap:1px;background:#E2DED4}
.cc-row>span{background:#FBFAF6;padding:14px 16px;font-size:.86rem;line-height:1.5}
.cc-row--head>span{background:#0B0D0F;color:#F5F4F0;font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.cc-row b{font-family:"Newsreader",Georgia,serif;font-weight:500;font-size:1.02rem}
.cc-num{font-variant-numeric:tabular-nums;font-weight:700;color:var(--gold-ink,#806536)}
.cc-compare{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:32px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
.cc-compare article{background:#14181D;padding:26px 24px}
.cc-compare__tag{margin:0 0 14px;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#A7ABA6}
.cc-compare__math{margin:0 0 12px;font-family:"Newsreader",Georgia,serif;font-size:1.5rem;letter-spacing:-.02em}
.cc-compare__good .cc-compare__math b{color:#7FB894}
.cc-compare__bad .cc-compare__math b{color:#D8836F}
.cc-compare p:last-child{margin:0;color:#C0BDB4;font-size:.88rem;line-height:1.62}
.cc-promise{margin:26px 0 0;padding:18px 20px;border-left:3px solid var(--gold-ink,#806536);background:#F3F0E8;font-size:.92rem;line-height:1.62}
@media(max-width:760px){.cc-row,.cc-compare{grid-template-columns:1fr}.cc-row--head{display:none}.cc-row>span::before{content:attr(data-l);display:block;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#6A6C62;margin-bottom:4px}}

/* ── Request received ── */
.ty{max-width:70ch}
.ty__h1{margin:0;font-family:"Newsreader",Georgia,serif;font-weight:400;font-size:clamp(38px,6vw,68px);line-height:1.03;letter-spacing:-.03em}
.ty__ref{margin:26px 0 0;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6A6C62}
.ty__ref b{display:inline-block;margin-left:8px;padding:5px 12px;border:1px solid var(--gold-ink,#806536);color:var(--gold-ink,#806536);font-family:ui-monospace,monospace;letter-spacing:.08em;font-size:.9rem}
.ty__lede{margin:14px 0 0;color:#3E4144;font-size:.95rem;line-height:1.62}
.ty__steps{margin-top:34px}
.ty__honest{margin-top:34px;padding:22px 24px;background:#0B0D0F;color:#F5F4F0}
.ty__honest p{margin:0;font-size:.95rem;line-height:1.62}
.ty__actions{margin-top:18px!important;display:flex;flex-wrap:wrap;gap:12px}

/* ── Route index list ── */
.route-others{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:#E2DED4;border:1px solid #E2DED4}
.route-others li{background:#FBFAF6}
.route-others a{display:block;padding:17px 20px;text-decoration:none;font-family:"Newsreader",Georgia,serif;font-size:1.08rem;letter-spacing:-.015em;color:inherit}
.route-others a:hover{background:#F3F0E8;color:var(--gold-ink,#806536)}
.dark-section .route-others,.site-evidence .route-others{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.12)}
.dark-section .route-others li,.site-evidence .route-others li{background:#14181D}

/* ── Aircraft guide drawing ── */
.aircraft-guide .gd-dim path{stroke-dasharray:620;stroke-dashoffset:620;animation:gd-draw 1.1s cubic-bezier(.32,.72,0,1) .25s forwards}
@keyframes gd-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.aircraft-guide .gd-dim path{animation:none;stroke-dashoffset:0}}

/* ── Homepage empty-leg board: the same opportunity data the market page shows ── */
.board .bl{position:relative;grid-template-columns:1.5fr .9fr .9fr auto auto;text-decoration:none;color:inherit}
.board .bl:hover{transform:translateY(-2px);border-color:rgba(200,169,106,.5);box-shadow:0 14px 40px rgba(11,13,15,.1)}
.bcode{font:700 .68em/1 ui-monospace,monospace;letter-spacing:.08em;color:var(--gold-ink,#806536);vertical-align:.18em}
.bprice{display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.2}
.bprice s{color:#6A6C62;font-size:.78rem}
.bsave{color:#3F7D58;font-size:.72rem;font-weight:700;letter-spacing:.04em}
.bnow{font-family:"Newsreader",Georgia,serif;font-size:1.4rem;letter-spacing:-.02em}
.bprice small{color:#6A6C62;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}
.bdemo,.bver{position:absolute;top:10px;right:14px;font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.bdemo{color:#A2402F}
.bver{color:#3F7D58}
@media(max-width:820px){.board .bl{grid-template-columns:1fr;gap:8px}.bprice{align-items:flex-start}.bdemo,.bver{position:static;margin-top:4px}}

/* ── Aircraft guide: real cargo hold, annotated on the photograph's own lines.
   The figure is locked to the image's aspect ratio so the SVG overlay maps 1:1 —
   stretching it to the panel height would zoom the photo and drag the labels off
   their arrows. ── */
.guide-drawing:has(.guide-shot){padding:0;background:#080b10;align-self:start}
.guide-drawing:has(.guide-shot)::before,.guide-drawing:has(.guide-shot)::after{display:none}
.guide-shot{position:relative;margin:0;aspect-ratio:1672/941;overflow:hidden;line-height:0}
.guide-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.06)}
.guide-shot__ann{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.guide-shot .gs-tag{opacity:0;animation:gs-in .55s ease forwards}
.guide-shot .gs-tag:nth-of-type(2){animation-delay:.15s}
.guide-shot .gs-tag:nth-of-type(3){animation-delay:.3s}
@keyframes gs-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.guide-shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,16,.6) 0%,rgba(8,11,16,0) 22%,rgba(8,11,16,0) 74%,rgba(8,11,16,.85) 100%)}
.guide-shot figcaption{position:absolute;top:clamp(14px,2.2vw,24px);left:clamp(14px,2.2vw,26px);z-index:3;display:grid;gap:4px;line-height:1.2}
.guide-shot__k{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(245,244,240,.62)}
.guide-shot__t{font-family:"Newsreader",Georgia,serif;font-size:clamp(18px,2vw,24px);letter-spacing:-.02em;color:#F5F4F0}
.guide-shot__src{position:absolute;left:clamp(14px,2.2vw,26px);right:clamp(14px,2.2vw,26px);bottom:clamp(10px,1.4vw,16px);z-index:3;margin:0;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:rgba(245,244,240,.5);line-height:1.4}
@media (prefers-reduced-motion:reduce){.guide-shot .gs-tag{animation:none;opacity:1}}
@media(max-width:780px){.guide-stage:has(.guide-shot){grid-template-columns:1fr}.guide-drawing:has(.guide-shot){align-self:stretch}}

/* Loadability card header: title and loading method were colliding on narrow cards. */
.lc-card__head{display:grid;gap:4px;align-items:start}
.lc-card__head h4{margin:0;font-family:"Newsreader",Georgia,serif;font-weight:500;font-size:1.02rem;letter-spacing:-.015em;line-height:1.2}
.lc-card__method{color:#6A6C62;font-size:.56rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.lc-card__draw svg{max-height:190px}


/* ── The Turkish homepage wrapper is .ai-core-home-tr, so it never matched the
   English @scope these rules live in. The scenario section added there was
   rendering completely unstyled. ── */
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-brief{background:var(--cream);color:var(--black);padding:clamp(58px,8vw,100px) 0;border-bottom:1px solid rgba(11,13,15,.1)}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-brief .intro{position:static;display:block;visibility:visible;transform:none;background:none;animation:none;color:inherit}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-brief .intro p{max-width:62ch;margin-top:14px;color:var(--mut)}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-grid{margin-top:clamp(26px,4vw,42px);display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(11,13,15,.72)}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case{appearance:none;width:100%;min-height:156px;padding:22px 4px 23px;background:transparent;border:0;border-bottom:1px solid rgba(11,13,15,.12);text-align:left;color:var(--black);display:flex;justify-content:space-between;gap:16px;align-items:flex-start;font:inherit;transition:padding .35s var(--ease),background .35s var(--ease)}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case:nth-child(odd){padding-right:clamp(16px,3vw,42px);border-right:1px solid rgba(11,13,15,.12)}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case:nth-child(even){padding-left:clamp(16px,3vw,42px)}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case:hover{padding-left:13px;background:rgba(200,169,106,.08)}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case .mc-no{font:600 11px/1 "Satoshi",sans-serif;letter-spacing:.14em;color:#8b7350}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case .mc-title{display:block;margin-top:20px;font-family:"Newsreader",Georgia,serif;font-size:clamp(21px,2.5vw,29px);line-height:1.1}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case .mc-copy{display:block;margin-top:8px;max-width:47ch;color:var(--mut);font-size:14px;line-height:1.45}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case .mc-arrow{padding-top:3px;color:var(--blue);font-size:20px}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-flow{display:flex;gap:0;flex-wrap:wrap;margin-top:28px;font-size:12px;color:var(--mut);letter-spacing:.04em;text-transform:uppercase}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-flow span{display:flex;align-items:center;gap:13px}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-flow span:not(:last-child)::after{content:"→";color:var(--gold);margin:0 13px}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-grid{grid-template-columns:1fr}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case:nth-child(odd){padding-right:4px;border-right:0}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case:nth-child(even){padding-left:4px}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case{min-height:0}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-flow{line-height:2}
body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-flow span:not(:last-child)::after{margin:0 8px}
@media(max-width:680px){body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-grid{grid-template-columns:1fr}body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case:nth-child(odd){padding-right:4px;border-right:0}body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case:nth-child(even){padding-left:4px}body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-case{min-height:0}body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-flow{line-height:2}body.ai-core-home-page .ai-core-content.ai-core-home-tr .morning-flow span:not(:last-child)::after{margin:0 8px}}

/* Corridor examples: one honest notice above the board instead of a badge per card. */
.elm-notice{margin:26px 0 4px;padding:20px 24px;border-left:3px solid var(--gold,#C8A96A);background:rgba(200,169,106,.09);display:grid;gap:8px;border-radius:0 4px 4px 0}
.elm-notice b{font-family:"Newsreader",Georgia,serif;font-weight:500;font-size:1.14rem;letter-spacing:-.015em}
.elm-notice span{font-size:.88rem;line-height:1.62;opacity:.85;max-width:88ch}

/* Photo provenance in the leg lightbox — the image is of the type, not the tail. */
.elm-credit { position: absolute; left: 12px; bottom: 46px; z-index: 2; max-width: calc(100% - 24px);
  background: rgba(11,13,15,.6); color: rgba(255,255,255,.9); font-size: .66rem; letter-spacing: .02em;
  padding: 3px 9px; border-radius: 7px; }
.elm-photonote { font-size: .74rem; line-height: 1.5; color: var(--ink-soft, #5B5B57); margin: .5rem 0 0; }

/* Reuse of the CC-licensed type photography is conditional on this credit. */
.elm-card__credit { position: absolute; left: 10px; bottom: 8px; z-index: 2; max-width: calc(100% - 70px);
  font-size: .62rem; line-height: 1.35; letter-spacing: .02em; color: rgba(255,255,255,.9);
  text-shadow: 0 1px 3px rgba(0,0,0,.7); }
.elm-card__credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.elm-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }


/* The leg thumbnails come from five different photographers on five different
   days. A single grade — muted, slightly warm, evenly lit — makes the board
   read as one set instead of a scrapbook. */
/* The greyscale wash was meant to unify a scrapbook of thumbnails. With real,
   credited photographs of the actual type it only made every jet look flat and
   cheap — so the grade is now the lightest touch that still reads as one set. */
.elm-card__media img { filter: saturate(.94) contrast(1.04); object-position: 50% 56%; }
.elm-card__media::after { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(11,13,15,0) 55%, rgba(11,13,15,.55) 100%); }
.elm-card__credit { font-size: .58rem; opacity: .68; letter-spacing: .01em; text-shadow: 0 1px 2px rgba(0,0,0,.55); }
.elm-card__credit a { text-decoration: none; }
.elm-card__credit:hover { opacity: 1; }

/* Whole-city option and the per-airport service note in the picker. */
.ai-airport-row--city { background: rgba(190,155,74,.07); }
.ai-airport-row--city b::before { content: '◎'; margin-right: 7px; color: var(--gold, #BE9B4A); font-size: .85em; }
.ai-airport-row__tag { display: block; margin-top: 3px; font-style: normal; font-size: .68rem;
  letter-spacing: .02em; color: var(--ink-soft, #5B5B57); }
.ai-airport-row--city .ai-airport-row__tag { font-family: var(--mono, ui-monospace, monospace); letter-spacing: .06em; }
.ai-airport-row--city .ai-airport-row__code { font-weight: 700; }

/* Flexible-date controls in the calendar panel. */
.ai-cal-flex { display: flex; gap: 5px; flex-wrap: wrap; padding: 0 4px 6px; }
.ai-cal-flex button { border: 1px solid rgba(11,13,15,.14); background: #fff; border-radius: 8px;
  padding: 5px 10px; font: inherit; font-size: .7rem; font-weight: 700; cursor: pointer; color: #0B0D0F; }
.ai-cal-flex button:hover { border-color: #C8A96A; }
.ai-cal-flex button.is-on { background: #0B0D0F; border-color: #0B0D0F; color: #F5F4F0; }
.ai-cal-flexhint { margin: 0 0 8px; padding: 0 6px; font-size: .68rem; color: var(--ink-soft, #5B5B57); }
.ai-cal-grid button.is-in-window { background: rgba(200,169,106,.24); border-radius: 0; }
.ai-cal-grid button.is-edge { background: #0B0D0F; color: #F5F4F0; border-radius: 8px; }
.ai-desk247 .ai-cal-flex button, .ai-hw--glass .ai-cal-flex button { background: #14171b; color: #f5f4f0; border-color: rgba(245,244,240,.2); }
.ai-desk247 .ai-cal-flex button.is-on, .ai-hw--glass .ai-cal-flex button.is-on { background: #C8A96A; color: #0B0D0F; border-color: #C8A96A; }
.ai-cal-grid button.is-anchor { background: #C8A96A; color: #0B0D0F; border-radius: 8px; font-weight: 800; }

/* The header floats transparently over a hero until you scroll. Whatever is
   behind it — video, photograph, bright sky — the nav still has to be legible,
   so it carries its own fade rather than trusting the hero underneath. */
.ai-banner:not(.is-scrolled)::before {
  content: ''; position: absolute; inset: -1px 0 auto; height: 190%; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgba(8,10,14,.78) 0%, rgba(8,10,14,.42) 55%, rgba(8,10,14,0) 100%);
}
.ai-banner { position: relative; isolation: isolate; }

/* A corridor example must not wear the badge a released leg wears. */
.bexample { position: absolute; right: 14px; top: 14px; padding: 4px 9px; border-radius: 6px;
  background: rgba(11,13,15,.06); border: 1px solid rgba(11,13,15,.14);
  font-size: .58rem; font-weight: 800; letter-spacing: .1em; color: #5B5B57; }
.bnote { margin: 16px 0 0; max-width: 74ch; font-size: .8rem; line-height: 1.55; color: var(--mut, #5B5B57); }

/* With the phone CTA gone the bar carries one item; it should centre, not sit
   in the first column of a two-column grid. */
.mbar--single { grid-template-columns: 1fr !important; display: grid; }
.mbar--single .wa { width: 100%; text-align: center; }

/* Naming the operating companies is the single strongest credibility signal a
   broker can publish, so it gets its own line rather than hiding in a list. */
.ai-footer__group { margin: 10px 0 0; font-size: .74rem; line-height: 1.65; color: rgba(245,244,240,.62); }
.ai-footer__group span { opacity: .72; }

/* C1 — what Aeroinis actually is, above the fold.
   "Broker" first appeared four fifths of the way down the homepage, after nine
   sections of capability. A visitor deciding whether to trust us with a
   line-down part should not have to scroll to learn we do not own aircraft. */
.ai-hw-model { margin: 14px 0 0; max-width: 62ch; font-size: .82rem; line-height: 1.7;
  color: rgba(245,244,240,.78); }
.ai-hw-model strong { color: #E4CE9C; font-weight: 700; }

/* C2 — the trust block was the strongest section on the page and had no way out. */
.ai-trust__cta { margin: 26px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.ai-trust__cta a { font-size: .9rem; font-weight: 700; text-decoration: none;
  color: #0B0D0F; border-bottom: 1px solid #C8A96A; padding-bottom: 3px; }
.ai-trust__cta a:hover { color: #806536; }
.ai-trust__cta span { font-size: .82rem; color: #5F6469; }

/* C7 — the guides were folded into the sector section under a second H2, which
   left one region carrying two top-level headings and eleven cards. */
.ai-watchcards--tight { padding-top: 0; }
.ai-watchcards--tight .ai-watchcards__title { margin-top: 6px; }

/* The FAQ answered four questions and then stopped. */
.faq-out { margin: 24px 0 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 18px; }
.faq-out a { font-size: .9rem; font-weight: 700; color: #0B0D0F; text-decoration: none;
  border-bottom: 1px solid #C8A96A; padding-bottom: 3px; }
.faq-out a:hover { color: #806536; }
.faq-out span { font-size: .82rem; color: #5F6469; }

/* The hero headline used to be the <h1>, and the slider rewrote it every nine
   seconds. An <h1> is a landmark: screen-reader users navigate by it and expect
   it to describe the page, not to change under them. The document now has one
   stable <h1> for assistive technology, and the rotating line is a paragraph
   styled exactly as the headline was. */
.ai-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* The rotating headline keeps the exact look the <h1> had. Written with two
   classes so it outranks the scoped `.hero h1` rules it replaces, and with the
   serif stated explicitly because a <p> does not inherit the heading family. */
.hero .hero-line {
  margin-top: 16px; max-width: 16ch;
  font-family: "Newsreader", Georgia, serif; font-weight: 500;
  font-size: clamp(38px, 6.2vw, 78px); line-height: 1.07;
  letter-spacing: -.03em; font-optical-sizing: auto; text-wrap: balance;
  color: inherit;
}
.hero .hero-line i { font-style: italic; }

/* The cargo charter page opened on a private jet taking off — the first frame
   told a freight forwarder they were on the wrong page. The clip behind it is
   now apron ground handling. object-position alone could not hide the aircraft:
   the hero is only ~110px taller than the letterboxed frame, so there was
   nothing to slide. Scaling into the lower part of the shot drops the fuselage
   out of frame and keeps the containers, the loader and the crew — and stops
   the page implying a relationship with whichever carrier is parked there.
   These live here rather than in the page stylesheet because `.hero` is shared
   chrome; a page file may not restyle it. */
/* The Ken Burns keyframes animate `transform`, and an animation outranks a
   normal declaration in the cascade — which is why the first attempt at this
   silently did nothing. The drift is switched off first. The scale then goes on
   the media element only: putting it on the container as well multiplied the two
   together and left nothing on screen but tarmac. */
body.cargo-page .hero .bg,
body.cargo-page .hero .bg video,
body.cargo-page .hero .bg img,
body.cargo-page .ai-video-hero__video { animation: none !important; }

body.cargo-page .hero .bg video,
body.cargo-page .hero .bg img,
body.cargo-page .ai-video-hero__video {
  object-position: 50% 50%;
  transform: scale(1.55);
  transform-origin: 50% 88%;
}
body.cargo-page .hero .shade {
  background: linear-gradient(180deg, rgba(11,13,15,.78) 0%, rgba(11,13,15,.45) 38%, rgba(11,13,15,.82) 100%);
}

/* Cargo hero legibility: the enlarged frame put the belt loader and its bright
   metalwork directly behind the headline. A directional scrim darkens the text
   column and leaves the right of the frame open, so the picture still reads as
   a picture and the words stay legible against it. */
/* `.shade` is display:none once the video hero takes over, so styling it did
   nothing — the darkening all comes from the media layer's own overlay. That is
   the layer to deepen. */
body.cargo-page .ai-video-hero__media::after {
  background:
    linear-gradient(100deg, rgba(11,13,15,.93) 0%, rgba(11,13,15,.84) 32%, rgba(11,13,15,.46) 60%, rgba(11,13,15,.16) 84%),
    linear-gradient(to top, rgba(11,13,15,.88) 0%, rgba(11,13,15,0) 46%),
    linear-gradient(to bottom, rgba(11,13,15,.7) 0%, rgba(11,13,15,0) 180px);
}

/* The courier funnel at the foot of the OBC guide.
   Two audiences share this subject and want opposite things — the guide is for
   the client whose part is stuck; this band is the one line that speaks to the
   person who would carry it. It is a band rather than a link so it survives the
   scroll to the bottom of a long guide. */
.jo-funnel-band { padding: clamp(44px, 5.5vw, 72px) 0; background: #0B0D0F; color: #F5F4F0; }
.jo-funnel__k { margin: 0; font-size: .68rem; font-weight: 800; letter-spacing: .2em;
  text-transform: uppercase; color: #C8A96A; }
.jo-funnel__h { margin: 12px 0 0; font-family: Newsreader, Georgia, serif; font-weight: 400;
  font-size: clamp(26px, 3.4vw, 40px); line-height: 1.1; letter-spacing: -.018em; }
.jo-funnel__p { margin: 14px 0 22px; max-width: 60ch; font-size: .96rem; line-height: 1.72;
  color: rgba(245,244,240,.76); }
.jo-funnel__cta { display: inline-flex; align-items: center; gap: 10px; padding: 14px 28px;
  border-radius: 999px; background: #C8A96A; color: #14171B; font-size: .92rem; font-weight: 800;
  text-decoration: none; transition: background .18s, transform .18s; }
.jo-funnel__cta:hover { background: #DCC088; transform: translateY(-1px); }

/* OBC coverage table.
   time:matters publishes a route/time table and it is the strongest thing on
   their site; nobody else in the segment does. Ours states flying time only and
   says so — the door-to-door figure depends on where the part sits and which
   customs channel it takes, and inventing that number would be the kind of
   claim this site exists not to make. */
.obc-grid { margin: 26px 0 0; border: 1px solid rgba(11,13,15,.12); border-radius: 12px;
  overflow: hidden; background: #fff; }
.obc-row { display: grid; grid-template-columns: 1.3fr .7fr 1.4fr; gap: 14px;
  padding: 14px 18px; border-top: 1px solid rgba(11,13,15,.09); font-size: .92rem; color: #2D3238; }
.obc-row:first-child { border-top: 0; }
.obc-row span:nth-child(2) { font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: .86rem; color: #806536; }
.obc-row span:nth-child(3) { color: #5F6469; }
.obc-row--head { background: #F5F3EE; font-size: .68rem; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: #6B7076; }
.obc-row--head span:nth-child(2), .obc-row--head span:nth-child(3) {
  font-family: inherit; font-size: inherit; color: #6B7076; }
.obc-note { margin: 16px 0 0; max-width: 74ch; font-size: .84rem; line-height: 1.72; color: #5F6469; }

@media (max-width: 680px) {
  .obc-row { grid-template-columns: 1fr; gap: 4px; }
  .obc-row--head { display: none; }
  .obc-row span:nth-child(1) { font-weight: 700; color: #0B0D0F; }
}

/* ---- the OBC guide: photography and a worked timeline ------------------- *
 * The page was all type. Three photographic bands and a picture behind the
 * hero give it rhythm without inventing content — the images are the ones the
 * site already owns, cropped and darkened so text stays legible over them.
 * The timeline is modelled on how the best providers show a mission: hour by
 * hour. Ours is labelled a worked example, because it is one — we do not have
 * a past job to publish and will not dress one up.
 */
body.obc-guide-page .ai-cpage-hero{position:relative;overflow:hidden;isolation:isolate}
body.obc-guide-page .ai-cpage-hero__inner{position:relative;z-index:2}
body.obc-guide-page .ai-cpage-hero__media{position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center 38%;
  filter:grayscale(.55) brightness(.42)}
body.obc-guide-page .ai-cpage-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(104deg,rgba(8,17,24,.94) 0%,rgba(8,17,24,.82) 42%,rgba(8,17,24,.42) 82%),
    linear-gradient(to top,rgba(8,17,24,.9),rgba(8,17,24,0) 52%)}

.obc-band{position:relative;min-height:clamp(230px,30vw,380px);display:grid;align-items:end;
  overflow:hidden;background:#0B0D0F}
.obc-band__media{position:absolute;inset:0;background-size:cover;background-position:center 45%;
  filter:grayscale(.55) brightness(.42)}
.obc-band::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,13,15,.92) 0%,rgba(11,13,15,.15) 62%)}
.obc-band__inner{position:relative;z-index:2;max-width:1120px;width:100%;margin:0 auto;
  padding:0 24px clamp(26px,4vw,46px)}
.obc-band__k{margin:0;font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#C8A96A}
.obc-band__t{margin:10px 0 0;max-width:24ch;font-family:"Newsreader",Georgia,serif;font-weight:400;
  font-size:clamp(24px,3.2vw,40px);line-height:1.08;letter-spacing:-.02em;color:#F5F4F0}
.obc-band__p{margin:10px 0 0;max-width:58ch;font-size:.95rem;line-height:1.7;color:rgba(245,244,240,.78)}

.obc-tl{margin:26px 0 0;display:grid;gap:0}
.obc-tl__day{margin:22px 0 10px;font-size:.68rem;font-weight:800;letter-spacing:.2em;
  text-transform:uppercase;color:#806536}
.ai-cpage-section--dark .obc-tl__day{color:#C8A96A}
.obc-tl__row{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:baseline;
  padding:11px 0;border-top:1px solid rgba(11,13,15,.1)}
.ai-cpage-section--dark .obc-tl__row{border-top-color:rgba(245,244,240,.14)}
.obc-tl__row b{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.86rem;color:#806536}
.ai-cpage-section--dark .obc-tl__row b{color:#C8A96A}
.obc-tl__row span{font-size:.95rem;line-height:1.6}
@media (max-width:560px){.obc-tl__row{grid-template-columns:70px 1fr;gap:12px}}

/* ---- footer site map ---------------------------------------------------- *
 * Seven links fit in the top bar; the site has thirty-odd pages. Everything
 * else lived only inside body copy, so a visitor who landed on one page from
 * search had nowhere to go. Five columns, every page one click away, on every
 * page — the cheapest fix there is for both people and crawlers.
 */
.ai-sitemap{border-top:1px solid rgba(245,244,240,.12);padding:clamp(34px,4.5vw,56px) 0 6px}
.ai-sitemap__grid{display:grid;gap:26px 30px;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.ai-sitemap__h{margin:0 0 12px;font-family:inherit;font-size:.68rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:#C8A96A}
.ai-sitemap__col ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.ai-sitemap__col a{font-size:.9rem;line-height:1.45;color:rgba(245,244,240,.72);
  text-decoration:none;transition:color .18s}
.ai-sitemap__col a:hover,.ai-sitemap__col a:focus-visible{color:#F5F4F0;text-decoration:underline;
  text-underline-offset:3px}
@media (max-width:560px){
  .ai-sitemap{padding-top:30px}
  .ai-sitemap__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
}



/* ---- the OBC guide, second pass ---------------------------------------- *
 * The first version was ten sections and 10,600 pixels: a document, not a
 * page. This one is six, the hero asks for the brief instead of waiting until
 * the foot, and the dense parts (sectors, vetting, limits) are lists rather
 * than card grids — the cards were what made it feel crowded.
 */
.obc-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.obc-btn{display:inline-flex;align-items:center;padding:13px 26px;border-radius:999px;
  font-size:.92rem;font-weight:700;text-decoration:none;transition:filter .18s,background .18s,color .18s}
.obc-btn--gold{background:#C8A96A;color:#0B0D0F}
.obc-btn--gold:hover{filter:brightness(1.08)}
.obc-btn--ghost{border:1px solid rgba(245,244,240,.42);color:#F5F4F0}
.obc-btn--ghost:hover{background:rgba(245,244,240,.12)}
.obc-hero__facts{display:flex;flex-wrap:wrap;gap:14px 40px;margin:34px 0 0;padding:0;list-style:none}
.obc-hero__facts li{display:flex;flex-direction:column;gap:2px}
.obc-hero__facts b{font-family:"Newsreader",Georgia,serif;font-weight:400;font-size:1.5rem;color:#F5F4F0}
.obc-hero__facts span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,244,240,.6)}

.obc-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px);
  align-items:start}
.obc-when{margin:0;padding:0;list-style:none;display:grid;gap:2px;background:rgba(11,13,15,.1);
  border-radius:14px;overflow:hidden}
.obc-when li{background:#fff;padding:18px 20px}
.obc-when b{display:block;font-size:.96rem;color:#0B0D0F}
.obc-when span{display:block;margin-top:4px;font-size:.88rem;line-height:1.55;color:#5F6469}

.obc-what{margin:28px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
  gap:0 44px}
.obc-what > div{padding:16px 0;border-top:1px solid rgba(11,13,15,.12)}
.obc-what dt{font-size:.95rem;font-weight:700;color:#0B0D0F}
.obc-what dd{margin:6px 0 0;font-size:.9rem;line-height:1.6;color:#5F6469}

.obc-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(28px,4vw,60px)}
.obc-list{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:14px}
.obc-list li{position:relative;padding-left:26px;font-size:.94rem;line-height:1.62;color:#3F464C}
.obc-list li b{color:#0B0D0F}
.obc-list li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;
  background:#3F7D58}
.obc-list--no li::before{background:#A2402F}

.obc-note--dark{color:rgba(245,244,240,.72)}
.ai-cpage-section--dark .obc-note{border-left-color:#C8A96A;background:rgba(200,169,106,.08)}

/* A disclosure that moves the page under your cursor is the thing that felt
   broken. Marker on the left, generous hit area, no layout jump on open. */
.obc-faq{margin-top:26px;border-top:1px solid rgba(11,13,15,.12)}
.obc-faq details{border-bottom:1px solid rgba(11,13,15,.12);padding:0}
.obc-faq summary{list-style:none;display:flex;align-items:flex-start;gap:14px;
  padding:18px 0;font-size:1rem;font-weight:700;color:#0B0D0F;cursor:pointer}
.obc-faq summary::-webkit-details-marker{display:none}
.obc-faq summary::before{content:"+";flex:none;width:22px;height:22px;margin-top:1px;display:grid;
  place-items:center;border:1px solid rgba(11,13,15,.24);border-radius:50%;
  font-size:.9rem;font-weight:600;color:#806536;transition:background .18s,color .18s,border-color .18s}
.obc-faq details[open] summary::before{content:"\2212";background:#C8A96A;border-color:#C8A96A;color:#0B0D0F}
.obc-faq summary:hover::before{border-color:#C8A96A}
.obc-faq p{margin:0 0 20px 36px;max-width:74ch;font-size:.94rem;line-height:1.72;color:#5F6469}
.obc-cta{margin-top:44px}

@media (max-width:860px){
  .obc-split{grid-template-columns:1fr}
  .obc-what{grid-template-columns:1fr;gap:0}
}

/* The band is the one place the mark belongs: a photograph of the work with
   our name on it, rather than a stock picture that could be anyone's. */
.obc-band__mark{position:absolute;z-index:3;right:clamp(20px,4vw,44px);top:clamp(20px,3vw,34px);
  display:flex;align-items:center;gap:11px}
.obc-band__mark img{display:block;width:46px;height:46px;border-radius:12px;
  box-shadow:0 6px 20px rgba(0,0,0,.5)}
.obc-band__mark span{font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(245,244,240,.8)}
@media (max-width:640px){.obc-band__mark span{display:none}}

/* The apron photograph earns more room than a strip: the courier, the bag with
   our mark on it and the aircraft are the whole story of the page in one frame. */
.obc-band--apron{min-height:clamp(320px,40vw,520px)}
.obc-band--apron .obc-band__media{filter:grayscale(.15) brightness(.62)}
.obc-band--apron::after{background:linear-gradient(90deg,rgba(11,13,15,.9) 0%,rgba(11,13,15,.62) 42%,rgba(11,13,15,.18) 72%),
  linear-gradient(to top,rgba(11,13,15,.75) 0%,rgba(11,13,15,0) 55%)}

/* The three methods described three services and linked to none of them. */
.stp__more{margin:14px 0 0}
.stp__more a{font-size:.82rem;font-weight:700;letter-spacing:.02em;color:#C8A96A;text-decoration:none;
  border-bottom:1px solid rgba(200,169,106,.45);padding-bottom:2px}
.stp__more a:hover{color:#E6CE9B;border-bottom-color:#E6CE9B}

/* Definition on the left, the cabin on the right: the one photograph that shows
   the whole method — a marked bag going into an overhead locker. */
.obc-figure{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(11,13,15,.28)}
.obc-figure img{display:block;width:100%;height:100%;max-height:520px;object-fit:cover;object-position:50% 28%}
.obc-when--row{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-top:26px;
  display:grid;gap:2px}
@media (max-width:860px){.obc-figure img{max-height:340px}}

/* The three-way comparison needs a fourth column: method against method. */
.obc-grid--four .obc-row{grid-template-columns:minmax(120px,.8fr) repeat(3,minmax(0,1fr))}
@media (max-width:760px){
  .obc-grid--four .obc-row{grid-template-columns:1fr}
  .obc-grid--four .obc-row--head{display:none}
}
.obc-grid--four .obc-row span:nth-child(2){font-family:inherit;font-size:.92rem;color:inherit}
.ai-cpage-section--dark .obc-note{background:rgba(200,169,106,.07);color:rgba(245,244,240,.74)}
.ai-cpage-section--dark .obc-note b{color:#F5F4F0}
.ai-cpage-section--dark .obc-note a{color:#E6CE9B}
.ai-sibling-link{max-width:1120px;margin:0 auto;padding:0 24px 22px}
.ai-sibling-link a{font-size:.86rem;font-weight:700;color:#C8A96A;text-decoration:none;
  border-bottom:1px solid rgba(200,169,106,.45);padding-bottom:2px}
.ai-sibling-link a:hover{color:#E6CE9B}

/* ---- the second layer --------------------------------------------------- *
 * The site had become a book: 25,000 words in English alone. Nothing here was
 * wrong, but a page that says everything at once says nothing you can act on.
 * So the depth stays and folds: the page reads short, and the detail is one
 * click away for the reader who wants it. Plain <details>, so it prints, it
 * finds on Ctrl+F in browsers that search closed disclosures, and it works
 * with no script at all.
 */
.ai-more{border-top:1px solid rgba(11,13,15,.12);border-bottom:1px solid rgba(11,13,15,.12);
  background:#F7F5F0}
.ai-more__toggle{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  gap:12px;padding:22px 24px;font-size:.82rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:#806536;text-align:center}
.ai-more__toggle::-webkit-details-marker{display:none}
.ai-more__toggle::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.ai-more[open] .ai-more__toggle::after{transform:rotate(-135deg) translateY(-2px)}
.ai-more__toggle:hover{color:#0B0D0F;background:rgba(200,169,106,.12)}
.ai-more__body{border-top:1px solid rgba(11,13,15,.1)}
@media (prefers-reduced-motion:reduce){.ai-more__toggle::after{transition:none}}

/* ── Service menus in the banner ─────────────────────────────────────────────
   Four families with real pages under them. On a pointer device the panel opens
   on hover or keyboard focus, so no extra control crowds the bar; on a phone the
   caret button turns the same data into an accordion. The parent link always
   navigates on its own — the panel is an addition, never a gate. */
.ai-nav__item { position: relative; display: flex; align-items: center; }
.ai-nav__chev { display: inline-flex; margin-left: 5px; color: rgba(245, 244, 240, .55); transition: transform .2s ease, color .2s ease; }
.ai-nav__caret { display: none; }

.ai-mega {
  position: absolute; top: calc(100% + 12px); left: 50%; z-index: 20;
  width: min(clamp(290px, 28vw, 360px), calc(100vw - 32px));
  transform: translate(-50%, -6px);
  border: 1px solid rgba(245, 244, 240, .16); border-radius: 18px;
  background: rgba(9, 14, 20, .94);
  box-shadow: 0 24px 60px rgba(5, 14, 24, .45);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
/* A hover bridge: the gap between the banner and the panel would otherwise count
   as leaving the item and close it before the pointer arrives. */
.ai-mega::before { content: ""; position: absolute; inset: -14px 0 100% 0; }
.ai-nav__item:hover > .ai-mega,
.ai-nav__item:focus-within > .ai-mega,
.ai-nav__item.is-open > .ai-mega { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.ai-nav__item:hover > a, .ai-nav__item:focus-within > a { color: #fff; }
.ai-nav__item:hover .ai-nav__chev,
.ai-nav__item:focus-within .ai-nav__chev { color: var(--ai-gold); transform: rotate(180deg); }

.ai-mega__inner { display: grid; gap: 2px; padding: 8px; }
.ai-mega__link {
  display: grid; gap: 3px; padding: 10px 12px; border-radius: 12px;
  text-decoration: none; transition: background .16s ease;
}
.ai-mega__link:hover, .ai-mega__link:focus-visible { background: rgba(255, 255, 255, .08); }
.ai-mega__t { color: #fff; font-size: .8rem; font-weight: 800; line-height: 1.25; }
.ai-mega__d { color: rgba(245, 244, 240, .62); font-size: .71rem; font-weight: 500; line-height: 1.4; }

@media (prefers-reduced-motion: reduce) {
  .ai-mega, .ai-nav__chev { transition: none; }
}

/* On a phone the same data becomes an accordion inside the sheet. */
@media (max-width: 940px) {
  .ai-mobile-nav__list .ai-nav__item { display: grid; grid-template-columns: 1fr auto; align-items: center; }
  .ai-mobile-nav__list .ai-nav__item > a { grid-column: 1; }
  .ai-mobile-nav__list .ai-nav__chev { display: none; }
  .ai-mobile-nav__list .ai-nav__caret {
    grid-column: 2; display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; padding: 0; border: 0; border-radius: 10px;
    background: transparent; color: rgba(245, 244, 240, .7); cursor: pointer;
    transition: transform .18s ease, color .18s ease;
  }
  .ai-mobile-nav__list .ai-nav__caret:focus-visible { outline: 2px solid var(--ai-gold); outline-offset: 2px; }
  .ai-mobile-nav__list .ai-nav__item.is-open > .ai-nav__caret { color: var(--ai-gold); transform: rotate(180deg); }
  .ai-mobile-nav__list .ai-mega {
    position: static; width: auto; grid-column: 1 / -1;
    margin: 0 0 8px; border: 0; border-radius: 12px;
    background: rgba(255, 255, 255, .05); box-shadow: none;
    backdrop-filter: none; -webkit-backdrop-filter: none;
    opacity: 1; visibility: visible; pointer-events: auto; transform: none;
    display: none; transition: none;
  }
  .ai-mobile-nav__list .ai-nav__item.is-open > .ai-mega { display: block; }
  .ai-mobile-nav__list .ai-mega::before { content: none; }
  .ai-mobile-nav__list .ai-mega__link { min-height: 0; border-bottom: 0; }
}

/* The banner rules (.ai-nav a) are more specific than the panel's own, so the
   sub-links have to out-specify them or they inherit the 44px nav-row layout. */
.ai-nav a, .ai-mobile-nav__list > .ai-nav__item > a { white-space: nowrap; }
.ai-nav .ai-mega__link, .ai-mobile-nav .ai-mega__link {
  display: grid; gap: 3px; min-height: 0; padding: 10px 12px;
  border-bottom: 0; white-space: normal; font-weight: 500;
}
.ai-nav .ai-mega__t, .ai-mobile-nav .ai-mega__t { font-weight: 800; }
@media (min-width: 941px) and (max-width: 1180px) {
  .ai-nav__list { gap: clamp(8px, 1.1vw, 14px); }
  .ai-nav a { font-size: .74rem; }
}

/* ── Aircraft market board ───────────────────────────────────────────────────
   Listing cards in the shape a buyer's technical adviser reads them: title,
   price (or "on request"), the four numbers that decide a shortlist, then the
   detail behind a fold. The example ribbon is deliberately loud. */
.am { margin: 26px 0 8px; }
.am__bar { display: flex; flex-wrap: wrap; align-items: end; gap: 14px 18px; margin-bottom: 20px; }
.am__filters { display: flex; flex-wrap: wrap; gap: 10px 14px; flex: 1 1 auto; }
.am__count { margin: 0; color: var(--ai-ink-soft, #5c6470); font-size: .78rem; font-weight: 700; }
.am-filter { display: grid; gap: 5px; }
.am-filter > span { font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--ai-ink-soft, #5c6470); }
.am-filter select {
  min-height: 40px; min-width: 150px; padding: 0 30px 0 12px;
  border: 1px solid rgba(11, 13, 15, .18); border-radius: 10px;
  background: #fff; color: inherit; font: inherit; font-size: .82rem; font-weight: 650;
}
.am-filter select:focus-visible { outline: 2px solid var(--ai-gold); outline-offset: 1px; }

.am__board { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.am-card {
  display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid rgba(11, 13, 15, .12); border-radius: 18px; background: #fff;
  box-shadow: 0 10px 30px rgba(5, 14, 24, .06);
}
.am-card--sold { opacity: .72; }
.am-card__media { position: relative; aspect-ratio: 16 / 9; background: #0b0d0f; }
.am-card__img { position: absolute; inset: 0; background-size: cover; background-position: 50% 55%; display: block; }
.am-card__img--none { background: linear-gradient(135deg, #12161b, #232b34); }
.am-card__flag {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  padding: 5px 10px; border-radius: 999px; background: #FF5A36; color: #fff;
  font-size: .6rem; font-weight: 900; letter-spacing: .12em;
}
.am-card__status {
  position: absolute; right: 12px; bottom: 12px; z-index: 2;
  padding: 5px 11px; border-radius: 999px;
  background: rgba(11, 13, 15, .78); color: #fff;
  font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.am-card__status--under-offer { background: rgba(200, 169, 106, .95); color: #10131a; }
.am-card__status--sold { background: rgba(120, 126, 134, .95); }
.am-card__body { display: flex; flex-direction: column; gap: 9px; padding: 16px 17px 17px; }
.am-card__t { margin: 0; font-size: 1.02rem; line-height: 1.25; }
.am-card__price { margin: 0; font-size: .92rem; font-weight: 850; color: var(--ai-ink, #0b0d0f); }
.am-card__meta { margin: 0; font-size: .74rem; font-weight: 600; color: var(--ai-ink-soft, #5c6470); }
.am-card__strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; margin: 4px 0 0; }
.am-card__strip > div, .am-card__specs > div { display: grid; gap: 1px; }
.am-card__strip dt, .am-card__specs dt { font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ai-ink-soft, #5c6470); }
.am-card__strip dd, .am-card__specs dd { margin: 0; font-size: .8rem; font-weight: 750; }
.am-card__hl { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 0; padding: 0; list-style: none; }
.am-card__hl li {
  padding: 4px 9px; border: 1px solid rgba(11, 13, 15, .14); border-radius: 999px;
  font-size: .68rem; font-weight: 700; color: var(--ai-ink-soft, #5c6470);
}
.am-card__more > summary { cursor: pointer; font-size: .74rem; font-weight: 800; color: var(--ai-ink-soft, #5c6470); }
.am-card__more[open] > summary { margin-bottom: 8px; }
.am-card__specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; margin: 0; }
.am-card__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.am-btn {
  display: inline-flex; align-items: center; justify-content: center; flex: 1 1 auto;
  min-height: 42px; padding: 0 16px; border-radius: 999px;
  font-size: .78rem; font-weight: 800; text-decoration: none; text-align: center;
}
.am-btn--gold { background: var(--ai-gold, #C8A96A); color: #10131a; }
.am-btn--gold:hover { filter: brightness(1.06); }
.am-btn--ghost { border: 1px solid rgba(11, 13, 15, .22); color: inherit; }
.am-btn--ghost:hover { background: rgba(11, 13, 15, .05); }
.am-empty {
  display: grid; justify-items: start; gap: 14px; padding: 28px;
  border: 1px dashed rgba(11, 13, 15, .2); border-radius: 18px;
  background: rgba(11, 13, 15, .02);
}
.am-empty p { margin: 0; max-width: 62ch; }
.am-empty .am-btn { flex: 0 0 auto; }
@media (max-width: 560px) {
  .am__board { grid-template-columns: 1fr; }
  .am-filter select { min-width: 132px; }
}

/* ── Route maps ──────────────────────────────────────────────────────────────
   A great-circle arc on a graticule, computed from published coordinates. No
   coastline: a hand-drawn one would be decoration pretending to be geography. */
.rmap { display: block; margin: 22px 0 26px; border: 1px solid rgba(11, 13, 15, .12); border-radius: 18px; background: linear-gradient(180deg, #0d1117, #131a22); overflow: hidden; }
.rmap__svg { display: block; width: 100%; height: auto; }
.rmap__land path { fill: rgba(245, 244, 240, .13); stroke: rgba(245, 244, 240, .30); stroke-width: 1; stroke-linejoin: round; }
.rmap__grid path { fill: none; stroke: rgba(245, 244, 240, .08); stroke-width: 1; }
.rmap__arc { fill: none; stroke: var(--ai-gold, #C8A96A); stroke-width: 2.4; stroke-linecap: round; }
.rmap__pin circle { fill: #fff; stroke: var(--ai-gold, #C8A96A); stroke-width: 2.5; }
.rmap__city { fill: #fff; font-size: 19px; font-weight: 800; }
.rmap__code { fill: rgba(245, 244, 240, .6); font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.rmap__dist { fill: rgba(245, 244, 240, .78); font-size: 14px; font-weight: 700; letter-spacing: .06em; }

/* Route hub */
.rgrid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); margin: 24px 0 18px; }
.rcard {
  display: flex; flex-direction: column; overflow: hidden; text-decoration: none;
  border: 1px solid rgba(11, 13, 15, .12); border-radius: 18px; background: #fff;
  box-shadow: 0 10px 26px rgba(5, 14, 24, .06);
  transition: transform .18s ease, box-shadow .18s ease;
}
.rcard:hover { transform: translateY(-2px); box-shadow: 0 16px 38px rgba(5, 14, 24, .12); }
.rmap--mini { margin: 0; border: 0; border-radius: 0; }
.rmap--mini .rmap__city { font-size: 34px; }
.rmap--mini .rmap__code, .rmap--mini .rmap__dist { font-size: 23px; }
.rmap--mini .rmap__arc { stroke-width: 3.4; }
.rmap--mini .rmap__pin circle { r: 8; }
.rcard__b { display: grid; gap: 5px; padding: 15px 17px 17px; }
.rcard__b > b { font-size: 1rem; font-weight: 800; color: var(--ai-ink, #0b0d0f); }
.rcard__b > b i { color: var(--ai-gold, #C8A96A); font-style: normal; }
.rcard__m { font-size: .74rem; font-weight: 650; color: var(--ai-ink-soft, #5c6470); }
.rcard__p { font-size: .82rem; font-weight: 800; }
.rcard__p em { font-style: normal; font-weight: 600; color: var(--ai-ink-soft, #5c6470); }

/* An empty board shows the frames an aircraft will land in — never a fake one. */
.am-empty { grid-column: 1 / -1; }
.am-empty__note { margin: 4px 0 0; font-size: .76rem; color: var(--ai-ink-soft, #5c6470); }
.am-slot {
  display: grid; gap: 12px; align-content: start; min-height: 260px; padding: 20px;
  border: 1px dashed rgba(11, 13, 15, .26); border-radius: 18px;
  background: repeating-linear-gradient(135deg, rgba(11,13,15,.02) 0 12px, transparent 12px 24px);
}
.am-slot__media {
  display: flex; align-items: center; justify-content: center; height: 96px;
  border-radius: 12px; background: rgba(11, 13, 15, .04); color: rgba(11, 13, 15, .34);
}
.am-slot__b { display: grid; gap: 5px; }
.am-slot__b b { font-size: .84rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ai-ink-soft, #5c6470); }
.am-slot__b span { font-size: .78rem; line-height: 1.5; color: var(--ai-ink-soft, #5c6470); }

/* ── Cabin classes on the private charter page ───────────────────────────────
   Four cabins, the numbers that choose between them, and a drawn silhouette
   instead of a hotlinked photograph that can 404. */
.cabin-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); margin: 26px 0 14px; }
.cabin {
  display: grid; gap: 10px; align-content: start; padding: 20px 20px 18px;
  border: 1px solid rgba(11, 13, 15, .12); border-radius: 18px; background: #fff;
  box-shadow: 0 10px 26px rgba(5, 14, 24, .05);
}
.cabin__art {
  display: flex; align-items: center; justify-content: center; height: 84px;
  border-radius: 12px; background: linear-gradient(180deg, #0d1117, #151d26); color: var(--ai-gold, #C8A96A);
}
.cabin__art svg { width: 132px; height: auto; }
.cabin__t { margin: 2px 0 0; font-size: 1.02rem; }
.cabin__m { margin: 0; font-size: .78rem; line-height: 1.5; color: var(--ai-ink-soft, #5c6470); }
.cabin__specs { display: grid; gap: 8px; margin: 4px 0 0; padding-top: 10px; border-top: 1px solid rgba(11, 13, 15, .1); }
.cabin__specs > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.cabin__specs dt { font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ai-ink-soft, #5c6470); }
.cabin__specs dd { margin: 0; font-size: .82rem; font-weight: 800; text-align: right; }
.cabin__ex { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 2px 0 0; font-size: .74rem; }
.cabin__ex > span { font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ai-ink-soft, #5c6470); width: 100%; }
.cabin__ex a { font-weight: 700; }
.cabin__ex i { color: rgba(11, 13, 15, .3); font-style: normal; }

/* Route cards on the charter page reuse the hub's grid at a tighter size. */
.rgrid--tight { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

/* ── Charter page: what happens next, and the questions people actually ask ── */
.pstep-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); margin: 26px 0 6px; }
.pstep { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; padding: 18px 18px 16px;
  border: 1px solid rgba(11, 13, 15, .12); border-radius: 16px; background: #fff; }
.pstep > b { font-size: .82rem; font-weight: 900; letter-spacing: .06em; color: var(--ai-gold, #C8A96A); }
.pstep h3 { margin: 0 0 5px; font-size: .95rem; }
.pstep p { margin: 0; font-size: .8rem; line-height: 1.55; color: var(--ai-ink-soft, #5c6470); }

.pfaq { display: grid; gap: 0; margin: 24px 0 14px; border-top: 1px solid rgba(11, 13, 15, .14); }
.pfaq__item { border-bottom: 1px solid rgba(11, 13, 15, .14); }
.pfaq__item > summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 16px 2px; cursor: pointer; list-style: none;
  font-size: .92rem; font-weight: 750; color: var(--ai-ink, #0b0d0f);
}
.pfaq__item > summary::-webkit-details-marker { display: none; }
.pfaq__item > summary::after { content: "+"; font-size: 1.15rem; font-weight: 400; color: var(--ai-gold, #C8A96A); }
.pfaq__item[open] > summary::after { content: "–"; }
.pfaq__item > p { margin: 0 0 18px; max-width: 74ch; font-size: .84rem; line-height: 1.65; color: var(--ai-ink-soft, #5c6470); }

/* The discretion block was written for a dark surface — its body text is set in
   near-white — but the legacy .dark-section rule stopped painting a background,
   so on the English charter page the copy was white on cream: invisible. The
   surface is restored here rather than the text recoloured, because the section
   is meant to read as a quiet, closed room. */
#discretion.dark-section { background: #10151C; color: #F5F4F0; }
#discretion.dark-section .section-label { color: var(--ai-gold, #C8A96A); }
#discretion.dark-section .section-head,
#discretion.dark-section p,
#discretion.dark-section .pdisc__list b { color: #F5F4F0; }
#discretion.dark-section .pdisc__list li { border-top-color: rgba(245, 244, 240, .16); }

/* A fold sitting on a dark section has to belong to it. */
.dark-section .ai-more__toggle,
#discretion .ai-more__toggle {
  background: rgba(245, 244, 240, .07);
  border-color: rgba(245, 244, 240, .22);
  color: #F5F4F0;
}
.dark-section .ai-more__toggle:hover { background: rgba(245, 244, 240, .12); }
.dark-section .ai-more__body { color: rgba(245, 244, 240, .78); }

/* ── Cargo: the range, from the smallest piece to the largest ──────────────── */
.cscale { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin: 26px 0 6px; }
.cscale__item {
  display: grid; gap: 8px; align-content: start; overflow: hidden;
  border: 1px solid rgba(11, 13, 15, .12); border-radius: 18px; background: #fff;
  box-shadow: 0 10px 26px rgba(5, 14, 24, .05); padding-bottom: 16px;
}
.cscale__img {
  display: block; aspect-ratio: 4 / 3; background-size: cover; background-position: 50% 50%;
  background-color: #10151c; margin-bottom: 6px;
}
.cscale__item > b { padding: 0 17px; font-size: .95rem; }
.cscale__m { padding: 0 17px; font-size: .78rem; line-height: 1.55; color: var(--ai-ink-soft, #5c6470); }
.cscale__item > a { padding: 0 17px; font-size: .76rem; font-weight: 800; }
/* The envelope is the volume business, so it leads the row and says so. */
.cscale__item--lead { border-color: rgba(200, 169, 106, .55); box-shadow: 0 12px 30px rgba(200, 169, 106, .16); }

/* Documents are the volume work on the courier desk, so the list leads with them. */
.obc-what__lead { grid-column: 1 / -1; padding: 16px 18px; border: 1px solid rgba(200, 169, 106, .5); border-radius: 14px; background: rgba(200, 169, 106, .07); }
.obc-what__lead dt { color: var(--ai-ink, #0b0d0f); }
.obc-figure--doc img { border-radius: 16px; }

/* ── Cargo charter page: layout repairs found in the visual audit ──────────────
   1. The band's inner container was flattened to margin:0 by the page's own
      section grid, so its text sat on the viewport edge. Centre it explicitly.
   2. The hero photograph changed; the badge that was positioned to sit on the
      old supervisor's vest now floated mid-frame. It becomes a corner mark.
   3. The scroll-reveal (.rv) never fired for elements that start inside a
      closed fold, leaving whole paragraphs at opacity 0. On this page content
      always wins over the animation.
   4. The hero standfirst needed contrast against the bright pallet stack. */
body.cargo-page section.obc-band { display: block; }
body.cargo-page .obc-band__inner {
  margin: 0 auto !important;
  padding: 0 24px clamp(26px, 4vw, 46px) !important;
}
body.cargo-page .hero .bg img.aeroinis-vest-mark {
  left: auto !important; top: auto !important;
  right: 3.2% !important; bottom: 7% !important;
  width: 64px !important; height: 64px !important;
  opacity: .85; mix-blend-mode: normal; transform: none;
  border: 1px solid rgba(200, 169, 106, .5);
}
body.cargo-page .rv { opacity: 1 !important; transform: none !important; filter: none !important; }
body.cargo-page .hero-need { color: #F0EFE9; text-shadow: 0 1px 16px rgba(7, 9, 11, .8), 0 0 2px rgba(7, 9, 11, .9); }
/* The 1.55× crop below was built for the old branded frame; on the new night
   photograph it zoomed into the darkest part of the sky and the page opened on
   what looked like a black wall. The new frame is composed for full view. */
body.cargo-page .hero .bg video,
body.cargo-page .hero .bg img { transform: none; object-position: 50% 42%; }
body.cargo-page .hero .shade {
  background: linear-gradient(100deg, rgba(7, 9, 11, .82) 0%, rgba(7, 9, 11, .45) 55%, rgba(7, 9, 11, .15) 100%);
}
body.cargo-page .tag { display: inline-block; margin-bottom: 12px; }
body.cargo-page .cscale__item { background: #fff; }
body.cargo-page section.site-section#scale h2,
body.cargo-page section#scale .section-copy { color: #F5F4F0; }
body.cargo-page section#scale .section-copy { color: rgba(245, 244, 240, .72); max-width: 62ch; }

/* Scale cards sit on the page's dark surface and inherited its near-white text,
   which vanished on the white card. The card owns its own ink. */
.cscale__item { color: var(--ai-ink, #0b0d0f); }
.cscale__item > b { color: var(--ai-ink, #0b0d0f); }
.cscale__item > a { color: #8A6D3B; text-decoration: none; }
.cscale__item > a:hover { color: #6E5324; text-decoration: underline; }
/* Five stages read as one row where the screen allows it; below that, 2+3
   beats 4+1 with an orphan. */
@media (min-width: 1180px) { .cscale { grid-template-columns: repeat(5, 1fr); } }
@media (min-width: 640px) and (max-width: 1179px) { .cscale { grid-template-columns: repeat(2, 1fr); } }
/* The section grid flattened this link's auto margins, pushing it to the
   viewport edge — same failure as the band inner. */
body.cargo-page .ai-sibling-link { width: 100%; justify-self: center; margin: 0 auto !important; }

/* ── Cargo page, modern pass ────────────────────────────────────────────────
   The folds were full-bleed strips that touched the viewport edge — the last
   of the "kayık" elements. They become contained pill buttons that open into
   a card, and the hero actions become real buttons instead of underlined text. */
body.cargo-page .ai-more {
  width: 100%; max-width: 1168px;
  margin: 10px auto !important; padding: 0 24px;
  justify-self: center;
}
body.cargo-page .ai-more__toggle {
  border: 1px solid rgba(11, 13, 15, .16); border-radius: 999px;
  background: #fff; transition: background .18s ease, border-color .18s ease;
}
body.cargo-page .ai-more__toggle:hover { background: rgba(200, 169, 106, .1); border-color: rgba(200, 169, 106, .6); }
body.cargo-page .ai-more[open] .ai-more__toggle { border-radius: 16px 16px 0 0; border-bottom-color: transparent; }
body.cargo-page .ai-more__body {
  border: 1px solid rgba(11, 13, 15, .14); border-top: 1px solid rgba(11, 13, 15, .08);
  border-radius: 0 0 16px 16px; background: #fff; padding: 10px 22px 20px;
}

body.cargo-page .hero .navcta {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 46px; padding: 0 22px; border-radius: 999px;
  background: var(--ai-gold, #C8A96A); color: #10131A;
  font-weight: 800; font-size: .86rem; text-decoration: none;
  box-shadow: 0 10px 26px rgba(200, 169, 106, .3);
}
body.cargo-page .hero .navcta:hover { filter: brightness(1.07); }
body.cargo-page .hero .hero-alt {
  display: inline-flex; align-items: center; min-height: 46px; margin-left: 14px;
  padding: 0 20px; border: 1px solid rgba(245, 244, 240, .4); border-radius: 999px;
  color: #F5F4F0; font-weight: 700; font-size: .84rem; text-decoration: none;
}
body.cargo-page .hero .hero-alt:hover { border-color: var(--ai-gold, #C8A96A); color: #fff; }

/* Cards answer the cursor — the small physics that reads as modern. */
.cscale__item { transition: transform .2s ease, box-shadow .2s ease; }
.cscale__item:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(5, 14, 24, .14); }

/* From the owner's screenshot: the Dangerous-goods link sat cramped on the seam
   between the cream form section and the dark range section, and the card row
   touched the band below it. Both get room to breathe. */
body.cargo-page .ai-sibling-link { padding: 10px 24px 30px; }
body.cargo-page #scale { padding: 78px 0 92px; }
body.cargo-page #scale .cscale { margin-bottom: 0; }
body.cargo-page .obc-band { margin-top: 0; }

/* ── Scale cards, refined ───────────────────────────────────────────────────
   The copy sat directly on the card's bottom edge and the link had no anchor.
   The card becomes a column: image, title, copy, then the link pinned to the
   bottom above its own hairline — so every card ends the same way regardless
   of how long its text runs. */
.cscale__item {
  display: flex; flex-direction: column; gap: 8px;
  border-radius: 20px; border: 1px solid rgba(11, 13, 15, .08);
  box-shadow: 0 1px 2px rgba(5, 14, 24, .05), 0 14px 34px rgba(5, 14, 24, .09);
  padding-bottom: 18px;
}
.cscale__img { margin-bottom: 8px; transition: transform .35s ease; transform-origin: 50% 60%; }
.cscale__item { overflow: hidden; }
.cscale__item:hover .cscale__img { transform: scale(1.045); }
.cscale__item > b { padding: 4px 20px 0; font-size: 1.02rem; letter-spacing: -.01em; }
.cscale__m { padding: 0 20px; font-size: .8rem; line-height: 1.6; }
.cscale__item > a {
  display: inline-flex; align-items: center; gap: 6px;
  margin: 14px 20px 0; padding-top: 13px;
  border-top: 1px solid rgba(11, 13, 15, .08);
  margin-top: auto; font-size: .78rem;
}
.cscale__item > a::after { content: none; }
.cscale__item > a:hover { text-decoration: none; color: #6E5324; }

/* The band lost its bottom alignment when its grid was flattened; the words
   belong on the horizon line, not the ceiling. */
body.cargo-page section.obc-band { display: flex; align-items: flex-end; min-height: 460px; }
body.cargo-page .obc-band__inner { padding-bottom: clamp(34px, 5vw, 58px) !important; }

/* ── The freighter-class table vs. the legacy reset ─────────────────────────
   body.cargo-page *:where(...) { padding:0 } (the "compact legacy reset") has
   specificity (0,1,1), which silently beats every bare rule in the page's own
   @scope block — the ladder kept its grid but lost all of its padding, so the
   header clipped and the copy sat on the card edge. These rules out-rank the
   reset instead of fighting it. */
body.cargo-page .ladder { margin-top: 34px; }
body.cargo-page .ladder .lrow {
  display: grid; grid-template-columns: 1.15fr .8fr 1.5fr; gap: 22px;
  padding: 19px clamp(22px, 2.8vw, 34px); align-items: baseline;
  transition: background .15s ease;
}
body.cargo-page .ladder .lrow:not(.lh):hover { background: rgba(200, 169, 106, .05); }
body.cargo-page .ladder .lrow.lh { padding-top: 13px; padding-bottom: 13px; }
body.cargo-page .lnote { margin-top: 16px; }
@media (max-width: 760px) {
  body.cargo-page .ladder .lrow { grid-template-columns: 1fr; gap: 6px; }
  body.cargo-page .ladder .lrow.lh { display: none; }
}

/* ── Cargo mission brief, compact pass ──────────────────────────────────────
   Fifteen fields were stacked with 50px inputs and a full-width textarea pair;
   the form ran past a whole screen. Same fields, same JS hooks, half the ink:
   42px inputs, tighter gaps, the two textareas side by side, and the advisory
   as one quiet line instead of a second card. */
body.cargo-page form.mission-form { padding: clamp(20px, 3vw, 30px) clamp(20px, 3vw, 32px) clamp(18px, 2.6vw, 26px); }
body.cargo-page form.mission-form .mission-grid { gap: 13px 14px; }
body.cargo-page form.mission-form .mission-field { gap: 5px; }
body.cargo-page form.mission-form label { font-size: .6rem; letter-spacing: .11em; }
body.cargo-page form.mission-form :is(input, select) { min-height: 42px; padding: 8px 12px; font-size: .88rem; border-radius: 9px; }
body.cargo-page form.mission-form textarea { min-height: 60px; padding: 9px 12px; font-size: .88rem; border-radius: 9px; }
@media (min-width: 900px) {
  body.cargo-page form.mission-form .mission-field:has(textarea) { grid-column: span 6; }
}
body.cargo-page form.mission-form .cargo-fit-advisory {
  grid-column: 1 / -1; display: block; margin: 2px 0 0;
  padding: 10px 14px; border: 0; border-left: 3px solid var(--ai-gold, #C8A96A);
  border-radius: 0 10px 10px 0; background: rgba(200, 169, 106, .08);
  font-size: .76rem; line-height: 1.5; color: #4A4F55;
}
body.cargo-page form.mission-form .cargo-fit-advisory strong { display: inline; margin-right: 6px; font-size: .76rem; }
body.cargo-page form.mission-form .mission-submit { margin-top: 14px; padding-top: 14px; }
body.cargo-page form.mission-form .mission-submit small { font-size: .72rem; }
body.cargo-page .mission-brief { padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(28px, 4vw, 44px); }
body.cargo-page .mission-brief .brief-head { margin-bottom: 16px; }

/* ── Scale cards, redesign ──────────────────────────────────────────────────
   The framed-media card: the photograph sits inset inside the card with its
   own radius, a numbered chip anchors the sequence 01–05, the title carries
   the weight, and the link is a gold arrow that answers the hover. */
.cscale { counter-reset: cstep; }
.cscale__item {
  counter-increment: cstep;
  gap: 6px; padding: 10px 10px 16px;
  border: 1px solid rgba(11, 13, 15, .07); border-radius: 22px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(5, 14, 24, .04), 0 16px 40px rgba(5, 14, 24, .08);
}
.cscale__img {
  position: relative; border-radius: 14px; margin-bottom: 10px;
  aspect-ratio: 4 / 3;
}
.cscale__img::after {
  content: "0" counter(cstep);
  position: absolute; top: 10px; left: 10px;
  padding: 4px 9px; border-radius: 999px;
  background: rgba(11, 13, 15, .72); color: var(--ai-gold, #C8A96A);
  font-size: .64rem; font-weight: 900; letter-spacing: .14em;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.cscale__item > b { padding: 2px 10px 0; font-size: 1.04rem; letter-spacing: -.012em; }
.cscale__m { padding: 0 10px; font-size: .79rem; line-height: 1.58; }
.cscale__item > a {
  margin: 12px 10px 0; padding-top: 12px;
  border-top: 1px solid rgba(11, 13, 15, .07);
  font-size: .77rem; font-weight: 800; color: #8A6D3B;
}
.cscale__item > a::before { content: none; }
.cscale__item > a:hover { color: #5E4720; }
.cscale__item:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(5, 14, 24, .05), 0 26px 54px rgba(5, 14, 24, .14); }
.cscale__item:hover .cscale__img { transform: none; }
.cscale__item:hover .cscale__img::after { background: rgba(11, 13, 15, .85); }
/* the zoom now happens on the background, clipped by the inset radius */
.cscale__img { background-size: 105%; background-position: 50% 50%; transition: background-size .4s ease; }
.cscale__item:hover .cscale__img { background-size: 112%; }
/* lead card: quieter gold — a ring, not a shout */
.cscale__item--lead { border-color: rgba(200, 169, 106, .45); box-shadow: 0 0 0 1px rgba(200, 169, 106, .25), 0 16px 40px rgba(200, 169, 106, .14); }

/* Text inside the scale cards was hugging the frame: the inner inset has to be
   read against the card edge, not the photograph. 12px card + 14px text = a
   26px margin that matches the image's own breathing room. */
.cscale__item { padding: 12px 12px 20px; gap: 7px; }
.cscale__img { margin-bottom: 12px; }
.cscale__item > b { padding: 4px 14px 0; line-height: 1.3; }
.cscale__m { padding: 0 14px; }
.cscale__item > a { margin: 14px 14px 2px; padding-top: 14px; }

/* The legacy reset (0,1,1) beat the card's single-class padding (0,1,0): the
   photograph and the border collapsed onto each other while the text kept its
   own inset. The whole card frame now outranks the reset. */
body.cargo-page .cscale__item { padding: 12px 12px 20px; gap: 7px; }
body.cargo-page .cscale__img { margin-bottom: 12px; border-radius: 14px; }
body.cargo-page .cscale__item > b { padding: 4px 14px 0; }
body.cargo-page .cscale__m { padding: 0 14px; }
body.cargo-page .cscale__item > a { margin: 14px 14px 2px; padding-top: 14px; }

/* ── Cargo page, editorial rhythm pass (from the structured critique) ────────
   Measured on the live page: five consecutive sections carried 110px of padding
   top AND bottom — one section was 63% air — and seven paragraphs ran past
   90 characters a line. Reading comfort sits at 60–75ch; the rhythm tightens
   and every paragraph gets a measure. */
body.cargo-page section.pad,
body.cargo-page section.light.pad { padding-top: clamp(52px, 6.5vw, 76px); padding-bottom: clamp(52px, 6.5vw, 76px); }
body.cargo-page section .wrap > p { max-width: 62ch; }
body.cargo-page .fitgrid p, body.cargo-page .glist p { max-width: 52ch; }
body.cargo-page .ladder .lrow p { max-width: 58ch; }
body.cargo-page .lnote { max-width: 74ch; }
/* The four stragglers past 90ch: the loadability hint and the cost-anatomy notes. */
body.cargo-page .lc-hint { max-width: 72ch; margin-left: auto; margin-right: auto; }
body.cargo-page :is(.ca__barnote, .ca__promise, .ca__disc) { max-width: 72ch; }

/* ── Cargo premium pass — flattened CTAs, one radius system, rhythm ─────────
   Found by measurement, 2026-08-15:
   1. The legacy cargo reset strips .navcta outside the hero, so the closing
      sections ended on bare 16px text links where their call to action should
      be. Restored to the same pill the hero uses.
   2. Corner radii had drifted: 9/10/14/16/20/22px in one viewport. The system
      is now three values — 999px pills, 18px cards, 10px media and fields.
   3. #scale ran 78/92 vertical padding against everyone else's clamp rhythm,
      and the photo-band title sat at 40px next to 44px section headings. */
body.cargo-page section a.navcta {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; padding: 0 24px; border-radius: 999px;
  background: var(--gold, #C8A96A); color: #10151C;
  font-family: Satoshi, sans-serif; font-weight: 800; font-size: .86rem;
  letter-spacing: .02em; text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease;
}
body.cargo-page section a.navcta:hover { transform: translateY(-1px); box-shadow: 0 10px 24px -12px rgba(16, 21, 28, .45); }
body.cargo-page section a.navcta:focus-visible { outline: 2px solid #10151C; outline-offset: 3px; }

body.cargo-page .cscale__item { border-radius: 18px; }
body.cargo-page .cscale__img { border-radius: 10px; }
body.cargo-page .ladder { border-radius: 18px; }
body.cargo-page .fitgrid > div { border-radius: 18px; }
body.cargo-page .ai-reqform, body.cargo-page form.mission-form { border-radius: 18px; }
body.cargo-page form.mission-form :is(input, select, textarea) { border-radius: 10px; }
body.cargo-page .ai-more__body { border-radius: 0 0 18px 18px; }

body.cargo-page #scale { padding-top: clamp(52px, 6.5vw, 76px); padding-bottom: clamp(52px, 6.5vw, 76px); }
body.cargo-page .obc-band__t { font-size: clamp(30px, 3vw, 44px); }

/* Muted grey #77796F fails 4.5:1 on the dark ground section; lifted there only. */
body.cargo-page #ground .sec-h + p { color: #A2A69F !important; } /* a nested legacy rule holds color with !important; matched force needed */

/* ── Cargo brief, progressive form ──────────────────────────────────────────
   Three steps instead of a fifteen-field wall. cargo-brief-steps.js drives it;
   without JavaScript the fieldsets simply all render open (the [hidden]
   attributes are removed by the browser only through the script's show()).
   Everything is body.cargo-page-scoped because of the legacy reset. */
body.cargo-page .cstep { border: 0; margin: 0; padding: 0; min-width: 0; }
body.cargo-page .cstep[hidden], body.cargo-page .mission-submit[hidden],
body.cargo-page [data-cnav-back][hidden], body.cargo-page [data-cnav-next][hidden],
body.cargo-page .cstep-hint[hidden], body.cargo-page form.mission-form .cargo-fit-advisory[hidden] { display: none !important; }
body.cargo-page .cbrief-js .cstep { animation: cstep-in .28s ease; }
@keyframes cstep-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }

body.cargo-page .cbrief-rail { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
body.cargo-page .cbrief-chip {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 8px 16px 8px 9px; border: 1px solid #DED9CC; border-radius: 999px;
  background: transparent; color: #5E6169; font: 700 12px/1 Satoshi, sans-serif;
  letter-spacing: .04em; cursor: pointer; transition: border-color .18s, color .18s, background .18s;
}
body.cargo-page .cbrief-chip i {
  display: grid; place-items: center; width: 24px; height: 24px;
  border-radius: 50%; background: #EFEBE1; color: #5E6169;
  font-style: normal; font-size: 11px; font-weight: 800; transition: background .18s, color .18s;
}
body.cargo-page .cbrief-chip:hover { border-color: #C8A96A; color: #10151C; }
body.cargo-page .cbrief-chip.is-current { border-color: #10151C; background: #10151C; color: #F5F4F0; }
body.cargo-page .cbrief-chip.is-current i { background: #C8A96A; color: #10151C; }
body.cargo-page .cbrief-chip.is-done { border-color: rgba(200, 169, 106, .65); color: #806536; }
body.cargo-page .cbrief-chip.is-done i { background: #C8A96A; color: #10151C; }
body.cargo-page .cbrief-chip.is-done i::before { content: "✓"; }
body.cargo-page .cbrief-chip.is-done i { font-size: 0; }
body.cargo-page .cbrief-chip.is-done i::before { font-size: 12px; }
body.cargo-page .cbrief-chip:focus-visible { outline: 2px solid #10151C; outline-offset: 2px; }

body.cargo-page .cbrief-live {
  margin: 0 0 18px; padding: 10px 2px 14px; min-height: 25px;
  border-bottom: 1px solid #E7E2D5;
  font-family: "Newsreader", Georgia, serif; font-style: italic;
  font-size: 15.5px; color: #10151C;
}
body.cargo-page .cbrief-live.is-empty { color: #8B8E85; }

body.cargo-page .cstep-hint {
  margin: 14px 0 0; padding: 10px 14px; border-left: 3px solid #C8A96A;
  background: #FAF6EC; color: #59431F; font-size: 13.5px; line-height: 1.5;
  border-radius: 0 10px 10px 0;
}

body.cargo-page .cstep-nav { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 22px; }
body.cargo-page .cstep-next {
  margin-left: auto; display: inline-flex; align-items: center; gap: 8px;
  min-height: 46px; padding: 0 26px; border: 0; border-radius: 999px;
  background: #10151C; color: #F5F4F0; font: 800 14px/1 Satoshi, sans-serif;
  cursor: pointer; transition: transform .16s, box-shadow .16s;
}
body.cargo-page .cstep-next:hover { transform: translateY(-1px); box-shadow: 0 10px 24px -12px rgba(16, 21, 28, .45); }
body.cargo-page .cstep-back {
  border: 0; background: transparent; color: #5E6169; padding: 10px 6px;
  font: 700 13px/1 Satoshi, sans-serif; cursor: pointer;
}
body.cargo-page .cstep-back:hover { color: #10151C; }
body.cargo-page .cstep-next:focus-visible, body.cargo-page .cstep-back:focus-visible { outline: 2px solid #10151C; outline-offset: 3px; }

@media (max-width: 560px) {
  body.cargo-page .cbrief-chip span { display: none; }
  body.cargo-page .cbrief-chip.is-current span { display: inline; }
  body.cargo-page .cbrief-chip { padding: 7px 12px 7px 8px; }
}

/* ── Mission-brief head: the note used to hang off the heading's last pixel ──
   .brief-head is flex + align-items:end, so the side note's bottom line sat
   glued to the H2 baseline (both measured at y=869). Top-aligned instead, the
   note starting level with the H2's first line, with a measured gap below. */
/* Second pass, on the owner's eye: any side-by-side alignment of this pair
   kept reading as "stuck". The note now simply follows the heading — one
   column, nothing to align, nothing to hang. */
body.cargo-page .mission-brief .brief-head { display: block; margin-bottom: 4px; }
body.cargo-page .mission-brief .brief-head > p { margin-top: 16px; max-width: 58ch; line-height: 1.65; color: #6A6C62; }

/* ── Cargo page: floating panels under the legacy reset ─────────────────────
   The airport list and the calendar are .ai-field-panel popovers. The cargo
   reset strips their padding and .mission-field is not positioned, so the
   panel anchored itself to the whole card and rendered flat and clipped.
   Anchored to the field and every stripped inset restored, same values as the
   base rules at ~4685. */
body.cargo-page .mission-field { position: relative; }
body.cargo-page .ai-field-panel { padding: 8px; }
body.cargo-page .ai-field-panel__head { margin: 4px 8px 6px; }
body.cargo-page .ai-field-panel__empty { margin: 10px; }
body.cargo-page .ai-airport-row { padding: 10px; }
body.cargo-page .ai-airport-row__code { padding: 4px 8px; margin-left: 8px; }
body.cargo-page .ai-cal-chips { padding: 0 0 14px; margin: 0 0 12px; }
body.cargo-page .ai-cal-chips button { padding: 8px 15px; }
body.cargo-page .ai-cal-head { padding: 4px 2px 10px; }
body.cargo-page .ai-cal-days, body.cargo-page .ai-cal-grid { padding: 0 4px 6px; }
body.cargo-page .ai-cal-days i { padding: 4px 0; }
body.cargo-page .ai-cal-flexhint { margin: 6px 2px 10px; padding: 0; }
body.cargo-page .ai-cal-flex { padding: 0 0 4px; display: flex; gap: 6px; flex-wrap: wrap; }
body.cargo-page .ai-cal-flex button { padding: 7px 12px; }

/* ── Dimensions asked as three numbers, not one string ── */
body.cargo-page .dim-trio { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto; align-items: center; gap: 6px; }
body.cargo-page .dim-trio i { font-style: normal; color: #8B8E85; font-size: .9rem; text-align: center; }
body.cargo-page .dim-trio input { min-width: 0; text-align: center; }
body.cargo-page .dim-trio select { min-height: 42px; border-radius: 10px; padding: 8px 10px; }
body.cargo-page .cstep-note { margin: -4px 0 2px; color: #6A6C62; font-size: 12.5px; }
body.cargo-page .mission-grid .cstep-note { grid-column: 1 / -1; }

/* ── Calendar panel, site-wide restyle ──────────────────────────────────────
   Measured against the pickers people already trust (Google Flights, Airbnb):
   a wider panel that never grows its own scrollbar, the quick chips separated
   from the flexibility row by a rule, a serif month title with round nav
   buttons, and 40px circular day cells — the range band stays square, its
   edges and the chosen day stay circles. */
.ai-field-panel--calendar { right: auto; width: 384px; max-width: calc(100vw - 28px); max-height: none; padding: 16px 16px 12px; }
.ai-cal-chips { gap: 8px; padding: 0 0 14px; margin: 0 0 12px; border-bottom: 1px solid #EDE8DB; }
.ai-cal-chips button { padding: 8px 15px; font-size: .78rem; border-color: #DED9CC; transition: background .15s, border-color .15s; }
.ai-cal-flex { gap: 6px; padding: 0 0 4px; }
.ai-cal-flex button { border: 1px solid transparent; background: #F2EFE7; border-radius: 999px; padding: 7px 12px; font: inherit; font-size: .72rem; font-weight: 700; color: #3E4144; cursor: pointer; transition: background .15s; }
.ai-cal-flex button:hover { background: #E9E4D6; }
.ai-cal-flex button.is-on { background: #0B0D0F; color: #F5F4F0; }
.ai-cal-flexhint { margin: 6px 2px 10px; font-size: .72rem; color: #8B8E85; font-style: italic; }
.ai-cal-head { padding: 4px 2px 10px; }
.ai-cal-head strong { font-family: "Newsreader", Georgia, serif; font-weight: 500; font-size: 1.08rem; letter-spacing: .01em; }
.ai-cal-head button { width: 34px; height: 34px; border-radius: 50%; border-color: #DED9CC; transition: background .15s; }
.ai-cal-head button:hover:not(:disabled) { background: #F2EDE2; }
.ai-cal-days i { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }
.ai-cal-grid { gap: 3px 2px; }
.ai-cal-grid button, .ai-cal-grid span { height: 40px; border-radius: 50%; font-size: .86rem; transition: background .12s; }
.ai-cal-grid button:hover:not(:disabled) { background: #F2EDE2; }
.ai-cal-grid button.is-today { border: 1px solid #C8A96A; }
.ai-cal-grid button.is-in-window { background: rgba(200, 169, 106, .18); border-radius: 0; }
.ai-cal-grid button.is-edge { background: #0B0D0F; color: #F5F4F0; border-radius: 50%; }
.ai-cal-grid button.is-anchor { background: #C8A96A; color: #0B0D0F; border-radius: 50%; font-weight: 800; }
/* dark 24/7 desk variant keeps its own surfaces */
.ai-desk247 .ai-cal-flex button { background: rgba(255, 255, 255, .09); color: #D6D3CB; }
.ai-desk247 .ai-cal-flex button.is-on { background: #C8A96A; color: #0B0D0F; }
.ai-desk247 .ai-cal-chips { border-bottom-color: rgba(255, 255, 255, .14); }

/* ── Packaging chips in the load step ── */
body.cargo-page .pack-chips { display: flex; flex-wrap: wrap; gap: 8px; }
body.cargo-page .pack-chips button {
  padding: 9px 16px; border: 1px solid #DED9CC; border-radius: 999px;
  background: #fff; color: #3E4144; font: 700 12.5px/1 Satoshi, sans-serif;
  cursor: pointer; transition: background .15s, border-color .15s, color .15s;
}
body.cargo-page .pack-chips button:hover { border-color: #C8A96A; color: #10151C; }
body.cargo-page .pack-chips button.is-on { background: #10151C; border-color: #10151C; color: #F5F4F0; }
body.cargo-page .pack-chips button:focus-visible { outline: 2px solid #10151C; outline-offset: 2px; }

/* ── Icons inside the urgency and scope selects ── */
body.cargo-page .sel-wrap { position: relative; display: block; }
body.cargo-page .sel-wrap .sel-ico {
  position: absolute; left: 13px; top: 50%; transform: translateY(-50%);
  display: grid; place-items: center; color: #A98A4F; pointer-events: none;
}
body.cargo-page form.mission-form .sel-wrap select { padding-left: 40px; width: 100%; }

/* ── Custom select: the open list in the site's own panel language ── */
body.cargo-page .sel-custom { position: relative; display: block; }
body.cargo-page .sel-custom select.sel-native { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; margin: 0; }
body.cargo-page form.mission-form .sel-btn {
  display: flex; align-items: center; gap: 10px; width: 100%;
  min-height: 42px; padding: 8px 14px 8px 40px;
  border: 1px solid #D8D3C6; border-radius: 10px; background: #fff;
  font: inherit; font-size: .88rem; color: #0B0D0F; text-align: left; cursor: pointer;
  transition: border-color .15s, box-shadow .15s;
}
body.cargo-page .sel-custom--plain .sel-btn { padding-left: 14px; }
body.cargo-page form.mission-form .sel-btn:hover { border-color: #C8A96A; }
body.cargo-page form.mission-form .sel-btn:focus-visible,
body.cargo-page form.mission-form .sel-btn[aria-expanded="true"] { border-color: #C8A96A; outline: none; box-shadow: 0 0 0 3px rgba(200, 169, 106, .28); }
body.cargo-page .sel-btn > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.cargo-page .sel-chev { margin-left: auto; flex: none; width: 8px; height: 8px; border-right: 1.7px solid #806536; border-bottom: 1.7px solid #806536; transform: rotate(45deg) translateY(-2px); transition: transform .16s; }
body.cargo-page .sel-btn[aria-expanded="true"] .sel-chev { transform: rotate(225deg) translateY(-1px); }
body.cargo-page .sel-panel {
  position: absolute; z-index: 70; top: calc(100% + 8px); left: 0; right: 0;
  background: #fff; border: 1px solid rgba(11, 13, 15, .14); border-radius: 14px;
  box-shadow: 0 22px 48px rgba(10, 20, 30, .2); padding: 6px; max-height: 320px; overflow: auto;
}
body.cargo-page .sel-panel[hidden] { display: none; }
body.cargo-page .sel-opt {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 11px 12px; border: 0; background: transparent; border-radius: 9px;
  font: inherit; font-size: .86rem; color: #0B0D0F; text-align: left; cursor: pointer;
}
body.cargo-page .sel-opt:hover, body.cargo-page .sel-opt:focus-visible { background: #F2EDE2; outline: none; }
body.cargo-page .sel-opt.is-sel { background: rgba(200, 169, 106, .16); font-weight: 700; }
body.cargo-page .sel-opt.is-sel::after { content: "✓"; margin-left: auto; color: #806536; font-weight: 800; }

/* Grid blowout fix: the long scope label forced its column wider than the
   grid track, pushing button and panel past the card edge. min-width:0 lets
   the ellipsis do its job instead. */
body.cargo-page .mission-grid .mission-field { min-width: 0; }
body.cargo-page form.mission-form .sel-btn { min-width: 0; }

/* Type-to-filter inside longer dropdowns */
body.cargo-page .sel-search {
  width: calc(100% - 8px); margin: 2px 4px 6px; padding: 9px 12px;
  border: 1px solid #E4DFD2; border-radius: 9px; background: #FAF8F3;
  font: inherit; font-size: .84rem; color: #0B0D0F;
}
body.cargo-page .sel-search:focus { outline: none; border-color: #C8A96A; box-shadow: 0 0 0 3px rgba(200, 169, 106, .22); background: #fff; }
body.cargo-page .sel-empty { margin: 4px 8px 8px; font-size: .8rem; color: #8B8E85; }
/* The wrap is a grid item inside .mission-field; without min-width:0 its
   min-content (the nowrap label) set the width and pushed 20px past the card. */
body.cargo-page .sel-wrap, body.cargo-page .sel-custom { min-width: 0; width: 100%; }
body.cargo-page .sel-btn > span { min-width: 0; flex: 1 1 auto; }

/* ── Aeroinis Atlas — the full airport browser, site-wide ── */
.apx-seeall {
  display: flex; align-items: center; gap: 9px; width: calc(100% - 8px);
  margin: 6px 4px 2px; padding: 11px 12px; border: 0; border-top: 1px solid #EDE8DB;
  background: transparent; border-radius: 0 0 10px 10px;
  font: 700 12.5px/1 Satoshi, sans-serif; color: #806536; cursor: pointer; text-align: left;
}
.apx-seeall:hover { background: #F7F3E9; color: #10151C; }
.apx-modal {
  position: fixed; inset: 0; z-index: 200; display: grid; place-items: center;
  background: rgba(11, 13, 15, .55); padding: 20px;
}
.apx-card {
  width: min(760px, 100%); max-height: min(640px, calc(100vh - 40px));
  display: flex; flex-direction: column; overflow: hidden;
  background: #fff; border-radius: 18px; box-shadow: 0 40px 90px -20px rgba(0, 0, 0, .5);
}
.apx-head { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: #10151C; color: #F5F4F0; }
.apx-head p { margin: 0; font-size: .86rem; }
.apx-x { margin-left: auto; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #F5F4F0; font-size: 1.2rem; cursor: pointer; }
.apx-x:hover { background: #C8A96A; color: #10151C; }
.apx-body { display: grid; grid-template-columns: 1fr 1.15fr; gap: 0; min-height: 0; flex: 1; }
.apx-pane { display: flex; flex-direction: column; min-height: 0; padding: 14px 14px 10px; }
.apx-pane + .apx-pane { border-left: 1px solid #EDE8DB; }
.apx-pane h4 { margin: 0 0 10px; font: 700 .72rem/1 Satoshi, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #806536; }
.apx-cwrap { display: flex; gap: 6px; min-height: 0; flex: 1; }
.apx-rail { display: flex; flex-direction: column; overflow: auto; flex: none; }
.apx-rail button { border: 0; background: transparent; padding: 1px 5px; font-size: .62rem; font-weight: 700; color: #8B8E85; cursor: pointer; }
.apx-rail button:hover { color: #10151C; }
.apx-clist, .apx-alist { overflow: auto; min-height: 0; flex: 1; scroll-behavior: auto; }
.apx-letter { margin: 8px 0 2px; padding: 6px 10px; background: #F5F2EA; border-radius: 8px; font: 700 .72rem/1 Satoshi, sans-serif; color: #8B8E85; }
.apx-country { display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; border: 0; background: transparent; padding: 10px 10px; border-radius: 9px; font: inherit; font-size: .86rem; color: #0B0D0F; cursor: pointer; text-align: left; }
.apx-country:hover { background: #F2EDE2; }
.apx-country.is-on { background: #C8A96A; color: #10151C; font-weight: 700; }
.apx-country small { color: inherit; opacity: .55; font-size: .72rem; }
.apx-airport { display: grid; gap: 2px; width: 100%; border: 0; background: transparent; padding: 10px 12px; border-radius: 9px; font: inherit; color: #0B0D0F; cursor: pointer; text-align: left; }
.apx-airport:hover { background: #F2EDE2; }
.apx-airport b { font-size: .9rem; }
.apx-airport small { color: #6A6C62; font-size: .76rem; }
@media (max-width: 700px) {
  .apx-body { grid-template-columns: 1fr; }
  .apx-pane + .apx-pane { border-left: 0; border-top: 1px solid #EDE8DB; }
}

/* Atlas insets restated under the cargo reset (same values as the global rules). */
body.cargo-page .apx-modal { padding: 20px; }
body.cargo-page .apx-seeall { margin: 6px 4px 2px; padding: 11px 12px; }
body.cargo-page .apx-head { padding: 14px 16px; }
body.cargo-page .apx-pane { padding: 14px 14px 10px; }
body.cargo-page .apx-pane h4 { margin: 0 0 10px; }
body.cargo-page .apx-rail button { padding: 1px 5px; }
body.cargo-page .apx-letter { margin: 8px 0 2px; padding: 6px 10px; }
body.cargo-page .apx-country { padding: 10px; }
body.cargo-page .apx-airport { padding: 10px 12px; }
/* Hero widget label styling leaked into the calendar's hint line. */
.ai-hero-widget .ai-cal-flexhint { font-size: .72rem; font-weight: 400; text-transform: none; letter-spacing: 0; color: #8B8E85; }
.ai-hero-widget .ai-cal-head strong { font-size: 1.05rem; text-transform: none; letter-spacing: .01em; }

/* ── Floating calendar: when neither side of the field has ~460px ── */
.ai-field-panel--float {
  position: fixed !important; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 392px; max-width: calc(100vw - 28px);
  max-height: min(620px, calc(100vh - 28px)); overflow: auto;
  z-index: 240; box-shadow: 0 40px 90px -18px rgba(6, 10, 16, .5);
}
/* Compact enough to fit without an inner scrollbar in most viewports. */
.ai-cal-grid button, .ai-cal-grid span { height: 36px; }
.ai-cal-chips button { padding: 7px 13px; }
.ai-cal-flexhint { margin: 4px 2px 8px; }

/* ── Jet adviser strip under the private-charter bar ── */
.asb__panel:has(+ .jet-advice) { border-radius: 10px 10px 0 0; box-shadow: none; padding-bottom: 4px; }
.jet-advice {
  display: flex; align-items: center; gap: 14px;
  margin: 0; padding: 10px 20px 12px; background: #fff;
  border-top: 1px dashed rgba(11, 13, 15, .1);
}
.jet-advice:empty { display: none; }
.jet-advice__art { flex: none; width: 58px; color: #A9873F; }
.jet-advice__main { min-width: 0; font-size: .88rem; color: #2A3038; line-height: 1.45; }
.jet-advice__main b { color: #0B0D0F; }
.jet-advice__main small { display: block; font-size: .72rem; color: #7C7669; margin-top: 1px; }
.jet-advice__link { margin-left: auto; flex: none; font-size: .78rem; font-weight: 700; color: #806536; text-decoration: none; }
.jet-advice__link:hover { color: #0B0D0F; text-decoration: underline; text-underline-offset: 3px; }
.jet-advice__group { margin: 0; font-size: .86rem; color: #2A3038; }
.jet-advice__group a { color: #806536; font-weight: 700; }
@media (max-width: 720px) { .jet-advice { flex-wrap: wrap; } .jet-advice__link { margin-left: 72px; } }

/* Jet adviser: one icon per class, the suggested one lit. */
.jet-advice__classes { display: flex; align-items: center; gap: 6px; flex: none; }
.jet-advice__cl { width: 46px; color: #D3CDBF; transition: color .18s, transform .18s; }
.jet-advice__cl.is-on { color: #A9873F; transform: scale(1.12); }
.jet-advice--mini { flex: 1 1 100%; border-top: 1px dashed rgba(11, 13, 15, .1); padding: 10px 6px 2px; background: transparent; display: flex; align-items: center; gap: 14px; }
.jet-advice--mini .jet-advice__cl { width: 38px; }
.jet-advice--mini .jet-advice__main { font-size: .82rem; }
.jet-advice--mini .jet-advice__main small { font-size: .68rem; }

/* ── Cabin-card class photographs (owner-supplied, local, optional) ── */
.cabin__photo { display: none; }
.cabin__photo.is-ready {
  display: block; position: relative; height: 156px; margin: 0 0 14px;
  border-radius: 12px; background-size: cover; background-position: center;
}
.cabin__photo.is-ready i {
  position: absolute; right: 8px; bottom: 8px; font-style: normal;
  font-size: .58rem; letter-spacing: .06em; padding: 3px 8px; border-radius: 999px;
  background: rgba(11, 13, 15, .55); color: rgba(245, 244, 240, .85);
}
.cabin:has(.cabin__photo.is-ready) .cabin__art { display: none; }

/* ── Aircraft-guide class cards: the class photographs ── */
.fcard__photo { position: relative; margin: 2px 0 6px; border-radius: 12px; overflow: hidden; aspect-ratio: 16 / 7; }
.fcard__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fcard__photo span {
  position: absolute; right: 8px; bottom: 8px; font-size: .56rem; letter-spacing: .06em;
  padding: 3px 8px; border-radius: 999px; background: rgba(11, 13, 15, .55); color: rgba(245, 244, 240, .85);
}

/* Empty-leg hero: the repositioning photograph behind the board's gradient. */
.ai-core-empty-legs-hero {
  background:
    linear-gradient(100deg, rgba(8, 17, 24, .93) 0%, rgba(8, 17, 24, .62) 46%, rgba(8, 17, 24, .3) 100%),
    url('../img/empty-legs-hero.webp') center 42% / cover no-repeat;
}

/* Cargo ground section: the dawn handover figure. */
body.cargo-page .ground-figure { margin: 22px 0 26px; border-radius: 16px; overflow: hidden; }
body.cargo-page .ground-figure img { width: 100%; height: auto; display: block; }
body.cargo-page .ground-figure figcaption { padding: 10px 4px 0; font-size: .74rem; color: #9BA09A; }

/* Hero media on ai-cpage headers: cover everywhere, not only on the pages
   that happen to carry the obc-guide body class. */
.ai-cpage-hero { position: relative; isolation: isolate; overflow: hidden; }
.ai-cpage-hero__media {
  position: absolute; inset: 0; z-index: -1;
  background-size: cover !important; background-position: center 40%;
}
.ai-cpage-hero__media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(8, 13, 19, .88) 0%, rgba(8, 13, 19, .55) 48%, rgba(8, 13, 19, .22) 100%);
}

/* ── Hero and section video layers ── */
body.cargo-page .hero .bg video.ai-video-hero__video { object-position: 50% 42%; }
.ai-cpage-hero__media video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center 40%;
}
.tc-human-visual video, .tc-ops video, video[poster*="staff-coordinator"] {
  width: 100%; height: auto; display: block; border-radius: inherit;
}

/* ═══ Guide Pro — sub-nav, class bands, rails, compare ═══ */
.gp-subnav {
  position: sticky; top: 0; z-index: 90; display: flex; gap: 4px;
  padding: 10px clamp(16px, 4vw, 40px); overflow-x: auto;
  background: rgba(245, 244, 240, .92); backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(11, 13, 15, .08);
}
.gp-subnav a { flex: none; padding: 8px 16px; border-radius: 999px; font: 700 12.5px/1 Satoshi, sans-serif; color: #5E6169; text-decoration: none; }
.gp-subnav a:hover { color: #0B0D0F; background: #EDE9DE; }
.gp-subnav a.is-on { background: #0B0D0F; color: #F5F4F0; }

.gp-fit { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin: 26px auto 8px; max-width: 1200px; padding: 14px 18px; background: #fff; border: 1px solid rgba(11, 13, 15, .08); border-radius: 14px; }
.gp-fit__lab { font: 800 11px/1 Satoshi, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #806536; }
.gp-fit label { display: inline-flex; align-items: center; gap: 8px; font-size: .8rem; color: #3E4144; font-weight: 700; }
.gp-fit input { width: 64px; padding: 7px 9px; border: 1px solid #D8D3C6; border-radius: 9px; font: inherit; text-align: center; }
.gp-fit .jet-advice--mini { flex: 1 1 100%; border-top: 1px dashed rgba(11, 13, 15, .1); padding-top: 10px; }

.gp-bands { max-width: 1200px; margin: 26px auto 0; display: grid; gap: 34px; }
.gp-band { border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid rgba(11, 13, 15, .07); box-shadow: 0 6px 26px rgba(11, 13, 15, .06); }
.gp-band__head { background-size: cover; background-position: center 40%; color: #F5F4F0; }
.gp-band__inner { padding: clamp(26px, 4vw, 44px) clamp(20px, 3vw, 36px); max-width: 640px; }
.gp-band__inner h3 { margin: 0; font-family: "Newsreader", Georgia, serif; font-weight: 500; font-size: clamp(24px, 2.6vw, 34px); }
.gp-band__inner p { margin: 8px 0 16px; color: rgba(245, 244, 240, .82); font-size: .92rem; max-width: 48ch; }
.gp-band__inner dl { display: flex; gap: 26px; margin: 0; flex-wrap: wrap; }
.gp-band__inner dt { font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: #C8A96A; font-weight: 800; }
.gp-band__inner dd { margin: 3px 0 0; font-size: 1.02rem; font-weight: 700; }
.gp-rail { display: grid; grid-auto-flow: column; grid-auto-columns: min(300px, 78vw); gap: 14px; overflow-x: auto; padding: 16px; scroll-snap-type: x mandatory; }
.gp-rail::-webkit-scrollbar { height: 8px; }
.gp-rail::-webkit-scrollbar-thumb { background: #DED9CC; border-radius: 999px; }
.gp-card { scroll-snap-align: start; background: #FBFAF6; border: 1px solid rgba(11, 13, 15, .07); border-radius: 14px; padding: 12px 14px 14px; display: grid; gap: 8px; transition: border-color .18s, transform .18s; }
.gp-card:hover { border-color: rgba(200, 169, 106, .6); transform: translateY(-2px); }
.gp-card.is-picked { border-color: #C8A96A; box-shadow: 0 0 0 2px rgba(200, 169, 106, .35); }
.gp-card__img { display: block; aspect-ratio: 16 / 8; border-radius: 10px; background: #EDE9DE center/cover no-repeat; }
.gp-card__t { margin: 2px 0 0; font-size: 1rem; }
.gp-card__three { display: flex; gap: 14px; margin: 0; }
.gp-card__three dt { font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: #8B8579; font-weight: 800; }
.gp-card__three dd { margin: 2px 0 0; font-size: .86rem; font-weight: 700; color: #0B0D0F; }
.gp-card__row { display: flex; justify-content: space-between; align-items: center; border-top: 1px dashed rgba(11, 13, 15, .1); padding-top: 9px; }
.gp-card__cmp { display: inline-flex; align-items: center; gap: 7px; font-size: .76rem; font-weight: 700; color: #5E6169; cursor: pointer; }
.gp-card__cmp input { width: 16px; height: 16px; accent-color: #C8A96A; }
.gp-card__row a { font-size: .78rem; font-weight: 700; color: #806536; text-decoration: none; }
.gp-card__row a:hover { text-decoration: underline; text-underline-offset: 3px; }
.gp-note { max-width: 1200px; margin: 14px auto 0; font-size: .76rem; color: #7C7669; }

.gp-hidden { display: none !important; }

.gp-tray {
  position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 160;
  display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 18px;
  background: #0B0D0F; color: #F5F4F0; border-radius: 999px;
  box-shadow: 0 18px 44px -12px rgba(6, 10, 16, .55); font-size: .84rem;
}
.gp-tray b { font-weight: 700; }
.gp-tray button { border: 0; border-radius: 999px; padding: 8px 14px; font: 700 12.5px/1 Satoshi, sans-serif; cursor: pointer; }
.gp-tray [data-gp-go] { background: #C8A96A; color: #0B0D0F; }
.gp-tray [data-gp-clear] { background: rgba(255, 255, 255, .12); color: #F5F4F0; }

.gp-compare { max-width: 1200px; margin: 44px auto 0; padding: 0 clamp(16px, 3vw, 32px); }
.gp-compare h2 { font-family: "Newsreader", Georgia, serif; font-weight: 500; font-size: clamp(26px, 3vw, 40px); margin: 6px 0 6px; }
.gp-compare__lede { color: #5E6169; max-width: 62ch; margin: 0 0 12px; }
.gp-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: .78rem; color: #7C7669; margin: 0 0 16px; }
.gp-presets button { border: 1px solid #DED9CC; background: #fff; border-radius: 999px; padding: 7px 13px; font: 700 12px/1 Satoshi, sans-serif; color: #3E4144; cursor: pointer; }
.gp-presets button:hover { border-color: #C8A96A; color: #0B0D0F; }
.gp-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid rgba(11, 13, 15, .08); border-radius: 14px; overflow: hidden; }
.gp-table th, .gp-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid rgba(11, 13, 15, .06); font-size: .88rem; }
.gp-table thead th { font-family: "Newsreader", Georgia, serif; font-weight: 500; font-size: 1rem; vertical-align: bottom; }
.gp-table__img { display: block; width: 150px; aspect-ratio: 16 / 8; border-radius: 8px; background: #EDE9DE center/cover no-repeat; margin-bottom: 8px; }
.gp-table tbody th { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: #8B8579; }
.gp-table td.is-best { color: #806536; font-weight: 800; background: rgba(200, 169, 106, .1); }

.gp-faq { display: grid; gap: 10px; max-width: 74ch; }
.gp-faq details { background: #fff; border: 1px solid rgba(11, 13, 15, .08); border-radius: 12px; padding: 14px 18px; }
.gp-faq summary { font-weight: 700; cursor: pointer; }
.gp-faq p { margin: 10px 0 2px; color: #3E4144; line-height: 1.6; max-width: 66ch; }

@media (max-width: 700px) {
  .gp-band__inner dl { gap: 16px; }
  .gp-table th, .gp-table td { padding: 9px 8px; font-size: .78rem; }
  .gp-table__img { width: 90px; }
}

/* ── Profile deepening: key grid, reach ring, cabin cross-section ── */
.key-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.key-grid > div { background: #fff; border: 1px solid rgba(11, 13, 15, .08); border-radius: 12px; padding: 12px 14px; }
.key-grid dt { font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: #8B8579; font-weight: 800; }
.key-grid dd { margin: 4px 0 0; font-size: 1.05rem; font-weight: 700; color: #0B0D0F; }
.range-ring svg { width: 100%; height: auto; display: block; background: #0D1117; border-radius: 14px; }
.rr-land path { fill: #1C2530; stroke: #2A3644; stroke-width: .6; }
.rr-ring { fill: rgba(200, 169, 106, .1); stroke: #C8A96A; stroke-width: 2; stroke-dasharray: 7 5; }
.rr-ist { fill: #C8A96A; }
.rr-label { fill: #F5F4F0; font: 700 13px Satoshi, sans-serif; letter-spacing: .08em; }
.range-note { margin: 10px 0 0; font-size: .8rem; color: #6A6C62; max-width: 70ch; }
.cabin-scale svg { max-width: 480px; width: 100%; height: auto; display: block; }
.cs-shell { fill: rgba(200, 169, 106, .07); stroke: #A9873F; stroke-width: 2; }
.cs-floor { stroke: #A9873F; stroke-width: 2; stroke-dasharray: 4 4; }
.cs-man circle, .cs-man line { stroke: #2A3038; stroke-width: 2.4; fill: none; stroke-linecap: round; }
.cs-dim { font: 700 12px Satoshi, sans-serif; fill: #806536; }
.cs-note { margin: 8px 0 0; font-size: .78rem; color: #6A6C62; }

/* ── Mission Fit 2.0 ── */
.mf2 { display: grid; gap: 16px; }
.mf2-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mf2-chips button {
  display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px;
  border: 1px solid #DED9CC; border-radius: 999px; background: #fff;
  font: 700 12.5px/1 Satoshi, sans-serif; color: #3E4144; cursor: pointer;
  transition: border-color .15s, background .15s, color .15s;
}
.mf2-chips button i { font-style: normal; color: #A9873F; }
.mf2-chips button:hover { border-color: #C8A96A; color: #0B0D0F; }
.mf2-chips button.is-on { background: #0B0D0F; border-color: #0B0D0F; color: #F5F4F0; }
.mf2-chips button.is-on i { color: #C8A96A; }
.mf2-sliders { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; align-items: end; }
.mf2-sliders label { display: grid; gap: 8px; font: 700 12px/1 Satoshi, sans-serif; color: #5E6169; }
.mf2-sliders label b { font-size: 15px; color: #0B0D0F; margin-left: 6px; }
.mf2-sliders input[type="range"] { width: 100%; accent-color: #C8A96A; height: 28px; }
.mf2-bags { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; font: 700 12px/1 Satoshi, sans-serif; color: #5E6169; }
.mf2-bags button { padding: 8px 14px; border: 1px solid #DED9CC; border-radius: 999px; background: #fff; font: 700 12px/1 Satoshi, sans-serif; color: #3E4144; cursor: pointer; }
.mf2-bags button.is-on { background: #0B0D0F; border-color: #0B0D0F; color: #F5F4F0; }
.mf2-result { margin-top: 16px; }
.mf2-answer { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 14px 16px; background: #FAF6EC; border: 1px solid rgba(200, 169, 106, .4); border-radius: 14px; }
.mf2-sil { width: 64px; color: #A9873F; flex: none; }
.mf2-answer__main { min-width: 0; }
.mf2-answer__main em { display: block; font-style: normal; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: #806536; font-weight: 800; }
.mf2-answer__main strong { font-family: "Newsreader", Georgia, serif; font-weight: 500; font-size: 1.35rem; }
.mf2-answer__main small { display: block; color: #6A6C62; font-size: .78rem; margin-top: 2px; }
.mf2-jump { margin-left: auto; border: 0; border-radius: 999px; padding: 11px 18px; background: #0B0D0F; color: #F5F4F0; font: 700 12.5px/1 Satoshi, sans-serif; cursor: pointer; }
.mf2-jump:hover { background: #C8A96A; color: #0B0D0F; }
.mf2-members { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.mf2-member { display: grid; gap: 6px; font: 700 12px/1.3 Satoshi, sans-serif; color: #0B0D0F; text-decoration: none; width: 132px; }
.mf2-member span { display: block; aspect-ratio: 16 / 9; border-radius: 9px; background: #EDE9DE center/cover no-repeat; }
.mf2-member:hover { color: #806536; }
.mf2-note { margin: 12px 0 0; font-size: .72rem; color: #8B8E85; }
.mf2-cargoMsg { margin: 0 0 10px; font-size: .88rem; color: #3E4144; max-width: 56ch; }
@media (max-width: 640px) { .mf2-sliders { grid-template-columns: 1fr; } .mf2-jump { margin-left: 0; } }
/* The legacy mission-fit card styled every button dark; the 2.0 chips paint
   their own states. */
.mission-fit .mf2-chips button, .mission-fit .mf2-bags button {
  background: #fff; border: 1px solid #DED9CC; color: #3E4144; padding: 10px 16px;
}
.mission-fit .mf2-chips button.is-on, .mission-fit .mf2-bags button.is-on {
  background: #0B0D0F; border-color: #0B0D0F; color: #F5F4F0;
}
.mission-fit form.mf2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: start; }
@media (max-width: 860px) { .mission-fit form.mf2 { grid-template-columns: 1fr; } }

/* ── Guide-path tiles, modernised: editorial category cards ── */
.guide-paths-head { display: block; }
.guide-paths-head p { margin-top: 12px; max-width: 60ch; }
.guide-path-grid { gap: 18px; margin-top: 26px; }
.guide-path { min-height: 380px; padding: 26px; border-radius: 20px; }
.guide-path::before { background: linear-gradient(180deg, rgba(4, 8, 12, .58) 0%, rgba(4, 8, 12, .28) 42%, rgba(4, 8, 12, .9) 100%); }
.guide-path img { transition: transform 1.1s var(--ease); }
.guide-path:hover img { transform: scale(1.07); }
.guide-path .cl { display: inline-block; color: #C8A96A; font-size: 11px; letter-spacing: .18em; }
.guide-path .cl::after { content: ""; display: block; width: 34px; height: 1px; background: rgba(200, 169, 106, .7); margin-top: 8px; }
.guide-path h4 { font-size: clamp(26px, 2.4vw, 34px); }
.guide-path p { max-width: 34ch; }
.guide-path__meta { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; }
.guide-path__meta em { font-style: normal; font: 700 11.5px/1 Satoshi, sans-serif; letter-spacing: .04em; color: rgba(245, 244, 240, .78); padding: 7px 12px; border: 1px solid rgba(245, 244, 240, .28); border-radius: 999px; }
.guide-path__go { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(245, 244, 240, .35); color: #F5F4F0; font-style: normal; font-size: 18px; transition: background .2s, color .2s, transform .25s; }
.guide-path:hover .guide-path__go { background: #C8A96A; color: #0B0D0F; transform: translateX(4px); border-color: #C8A96A; }
.guide-path__cta { margin-top: 10px; font-size: 11.5px; letter-spacing: .09em; text-transform: uppercase; color: rgba(245, 244, 240, .6); }
.guide-path:hover .guide-path__cta { color: #C8A96A; }
@media (max-width: 900px) { .guide-path { min-height: 300px; } }

/* Guide readability pass — the complaint was real: small grey labels on cards,
   white copy over bright photo areas. Larger type, darker labels, shadows. */
.gp-band__inner h3, .gp-band__inner p, .gp-band__inner dd { text-shadow: 0 1px 14px rgba(4, 8, 12, .75); }
.gp-band__inner p { color: rgba(248, 247, 243, .95); font-size: .96rem; }
.gp-band__inner dt { color: #E0C689; text-shadow: 0 1px 10px rgba(4, 8, 12, .85); }
.gp-band__inner dd { font-size: 1.08rem; }
.gp-card__t { font-size: 1.08rem; font-weight: 650; letter-spacing: -.01em; }
.gp-card__three dt { font-size: .62rem; color: #6E6A5E; }
.gp-card__three dd { font-size: .95rem; }
.gp-card__row a { font-size: .84rem; }

/* Mission Fit 2.0 — the mission line that always answers the sliders */
.mf2-mission { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 10px; font-size: .82rem; color: #5E6169; }
.mf2-mission b { color: #0B0D0F; font-weight: 700; }
.mf2-mission .mf2-pair { color: #806536; font-weight: 700; }
.mf2-count { font-size: .74rem; color: #7C7669; margin: 6px 0 0; }

/* Live cargo fit — the freighter door check inside Mission Fit */
.mf2-cargo { display: grid; gap: 10px; }
.mf2-cargo__dims { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.mf2-cargo__dims label { display: grid; gap: 4px; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6E6A5E; }
.mf2-cargo__dims input { min-width: 0; padding: 10px 10px; border: 1px solid rgba(11, 13, 15, .16); border-radius: 10px; font: inherit; font-size: .95rem; background: #fff; }
.mf2-cargo__dims input:focus { outline: 2px solid rgba(200, 169, 106, .55); outline-offset: 1px; }
.mf2-fits { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.mf2-fit { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid rgba(11, 13, 15, .08); border-radius: 10px; background: #FBFAF6; font-size: .84rem; }
.mf2-fit b { font-weight: 700; }
.mf2-fit small { margin-left: auto; color: #7C7669; white-space: nowrap; }
.mf2-fit .ok { color: #2E6B4F; font-weight: 800; }
.mf2-fit.is-no { opacity: .45; }
.mf2-fit.is-no .ok { color: #A33C2E; }
.mf2-cargo__note { font-size: .74rem; color: #7C7669; margin: 0; }

/* ULD reference table on cargo profiles */
.uld-wrap { overflow-x: auto; }
.uld-table { width: 100%; border-collapse: collapse; font-size: .88rem; background: #fff; border: 1px solid rgba(11, 13, 15, .08); border-radius: 12px; overflow: hidden; }
.uld-table th { text-align: left; font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; color: #6E6A5E; padding: 12px 16px; border-bottom: 1px solid rgba(11, 13, 15, .1); background: #FBFAF6; }
.uld-table td { padding: 11px 16px; border-bottom: 1px solid rgba(11, 13, 15, .06); vertical-align: top; }
.uld-table tr:last-child td { border-bottom: 0; }
.uld-table .uld-ok { color: #2E6B4F; font-weight: 700; }
.uld-table .uld-check { color: #806536; font-weight: 700; }

/* Route → aircraft cross-links */
.route-fit__line { margin: 0 0 14px; color: #3E4144; }
.route-fit__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }

/* Profile → route cross-links */
.profile-routes { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.profile-routes a { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 16px; background: #fff; border: 1px solid rgba(11, 13, 15, .08); border-radius: 12px; text-decoration: none; color: #0B0D0F; font-weight: 650; transition: border-color .18s; }
.profile-routes a:hover { border-color: rgba(200, 169, 106, .6); }
.profile-routes small { color: #7C7669; font-weight: 600; white-space: nowrap; }

/* Empty-leg cards: the per-seat line — the SkyAccess argument, honestly framed */
.elm-card__pp { display: block; margin-top: 2px; color: #806536; font-weight: 700; }

/* Empty-leg card: the explicit details affordance, SkyAccess-style */
.elm-card__more { display: inline-block; margin-top: 8px; font-size: .8rem; font-weight: 700; color: #806536; cursor: pointer; }
.elm-card:hover .elm-card__more { text-decoration: underline; text-underline-offset: 3px; }


/* Desk badges and amenity pills — only what the desk actually ticked */
.elm-card__deskbadge { position: absolute; top: 10px; right: 10px; z-index: 2; padding: 4px 10px; border-radius: 999px; background: #C8A96A; color: #0B0F1E; font: 700 10px/1 "Satoshi", system-ui, sans-serif; letter-spacing: .1em; }
.elm-card__deskbadge--rare { background: rgba(11,13,15,.78); color: #E8D5AB; border: 1px solid rgba(200,169,106,.6); }
.elm-card__amens { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; }
.elm-amen { padding: 4px 9px; border: 1px solid rgba(11,13,15,.12); border-radius: 999px; font: 600 10.5px/1.3 "Satoshi", system-ui, sans-serif; color: #55584f; background: #fff; }
.elm-amen--gold { border-color: rgba(200,169,106,.6); color: #8a6f3c; }

/* per-seat leads the price block; the whole-aircraft figure stays visible */
.elm-card__seattag { display: block; font: 700 10px/1 "Satoshi", system-ui, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #8a6f3c; margin-top: 3px; }
.elm-card__pp { display: block; margin-top: 5px; color: #6A6C62; font-weight: 500; }

/* pagination — a quiet ghost row, never numbered pages */
.elm-more { display: flex; justify-content: center; margin: 26px 0 4px; }
.elm-more button { padding: 13px 30px; border: 1px solid rgba(11,13,15,.2); border-radius: 999px; background: #fff; font: 700 12px/1 "Satoshi", system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #55584f; cursor: pointer; transition: all .25s cubic-bezier(.16,1,.3,1); }
.elm-more button:hover { border-color: #C8A96A; color: #8a6f3c; }
.elm-more__done { text-align: center; margin: 22px 0 0; font: 400 13px/1 "Satoshi", system-ui, sans-serif; color: #8b8d84; }

/* the indicative disclosure moved off the photograph and into the card body,
   where it reads as information instead of a stamp */
.elm-card__ind{margin:6px 0 0;font:600 11.5px/1.4 "Satoshi",system-ui,sans-serif;color:#8a6f3c}
.elm-empty{padding:38px 20px}
.elm-indcta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:22px 0 0}
.elm-book{white-space:nowrap}

/* Booking form: dial code + national grouping, and the per-person figure that
   moves with the party size. The photo credit leaves the picture — the licence
   still needs naming, so it sits under the frame, not stamped across it. */
.elm-phone{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}
.elm-opt{text-transform:none;letter-spacing:0;font-weight:400;font-size:.78rem;color:rgba(11,13,15,.45)}
.elm-err{display:block;margin-top:6px;font-size:.78rem;color:#B3261E;text-transform:none;letter-spacing:0;font-weight:400}
.elm-book__fields .is-bad,.elm-book__msg .is-bad{border-color:#B3261E!important}
.elm-conf{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding:11px 13px;border:1px solid rgba(200,169,106,.45);background:rgba(200,169,106,.09);border-radius:11px;font-size:.86rem}
.elm-conf[hidden]{display:none}
.elm-conf__ask{flex:1;min-width:180px;color:rgba(11,13,15,.78);line-height:1.45;text-transform:none;letter-spacing:0;font-weight:400}
.elm-conf__ask b{font-weight:700;white-space:nowrap}
.elm-conf__yes{border:0;background:#0B0D0F;color:#fff;font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.06em;padding:9px 14px;border-radius:9px;cursor:pointer}
.elm-conf__yes:hover{background:#C8A96A;color:#0B0D0F}
.elm-conf--done{border-color:rgba(31,122,74,.35);background:rgba(31,122,74,.08)}
.elm-conf--done b{color:#1F7A4A;font-weight:700}
.elm-conf--done button{margin-left:auto;border:0;background:none;font:inherit;font-size:.8rem;color:rgba(11,13,15,.6);text-decoration:underline;cursor:pointer;padding:0}
.elm-book__req[disabled]{opacity:.42;cursor:not-allowed}
.elm-book__req[disabled]:hover{background:#0B0D0F;color:#fff}
.elm-book__gate{margin:8px 0 0;font-size:.78rem;text-align:center;color:rgba(11,13,15,.55)}
.elm-book__gate[hidden]{display:none}
.elm-book__fields .elm-lab{display:block}
.elm-dial{position:relative;display:inline-block}
.elm-dial__btn{display:flex;align-items:center;gap:7px;border:0;border-bottom:1px solid rgba(11,13,15,.22);background:none;padding:8px 4px 8px 2px;font:inherit;font-size:.9rem;cursor:pointer;color:inherit;min-width:104px}
.elm-dial__btn:hover,.elm-dial__btn[aria-expanded=true]{border-bottom-color:#C8A96A}
.elm-dial__btn b{font-weight:600;letter-spacing:.01em}
.elm-dial__btn span{font-size:.72rem;letter-spacing:.1em;color:rgba(11,13,15,.5)}
.elm-dial__btn i{width:0;height:0;margin-left:auto;border:4px solid transparent;border-top-color:rgba(11,13,15,.42)}
.elm-dial__panel{position:absolute;z-index:40;top:calc(100% + 8px);left:0;width:286px;max-width:78vw;background:#fff;border:1px solid rgba(11,13,15,.1);border-radius:14px;box-shadow:0 26px 60px rgba(11,13,15,.18);padding:10px;display:block}
.elm-dial__panel[hidden]{display:none}
.elm-dial__q{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid rgba(11,13,15,.14);background:none;padding:8px 4px;font:inherit;font-size:.9rem;outline:none}
.elm-dial__q:focus{border-bottom-color:#C8A96A}
.elm-dial__list{display:block;max-height:248px;overflow:auto;margin-top:6px}
.elm-dial__list button{display:flex;width:100%;align-items:baseline;gap:10px;border:0;background:none;font:inherit;font-size:.88rem;text-align:left;padding:8px 8px;border-radius:9px;cursor:pointer;color:inherit}
.elm-dial__list button:hover,.elm-dial__list button:focus-visible{background:rgba(200,169,106,.14);outline:none}
.elm-dial__list button[aria-selected=true]{background:rgba(200,169,106,.2)}
.elm-dial__list button span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.elm-dial__list button b{font-weight:600}
.elm-dial__list button i{font-style:normal;font-size:.7rem;letter-spacing:.1em;color:rgba(11,13,15,.42);width:24px;text-align:right}
.elm-dial__none{display:block;padding:12px 8px;font-size:.86rem;color:rgba(11,13,15,.5)}
.elm-dial__none[hidden]{display:none}
.elm-book__per{display:block;margin-top:4px;font:600 12px/1.3 "Satoshi",system-ui,sans-serif;color:#8a6f3c}
.elm-card__credit{display:none}
.elm-credit{position:static!important;display:block;margin-top:8px;padding:0 4px;color:#8b8d84;font-size:.62rem;text-shadow:none!important}
.elm-rmap{display:block;margin-top:14px}

/* The hero used to cut between scenes in about a second, while a visitor was
   still reading the line. The cross-fade now takes its time, and the text
   moves with it rather than against it. */
body.ai-core-home-page .hero .bg .ai-heroslide { transition: opacity 2s cubic-bezier(.4,0,.2,1); }
body.ai-core-home-page .hero .tag,
body.ai-core-home-page .hero .fg > p { transition: opacity .38s ease, transform .38s ease; }

/* ── Booking sheet ────────────────────────────────────────────────────
   Same shell as the leg card: photo left, column right, price rail below.
   Fixed height so step one and step three are the same card. */
.elm-overlay--book .elm-bookmodal{max-width:1060px;height:min(760px,92vh)}
.elm-overlay--book .elm-modal__scroll{padding:18px 18px 18px}
/* the site-wide section rhythm must not leak into a dialog */
.elm-side section{padding:0;margin:0}
.elm-bk__left{position:sticky;top:0;align-self:start}
.elm-overlay--book .elm-carousel{min-height:0;height:min(400px,46vh)}
.elm-overlay--book .elm-modal__grid{align-items:start}
.elm-overlay--book .elm-side{gap:12px}
.elm-bk__map{display:block;margin-top:14px;border-radius:14px;overflow:hidden}
.elm-bk__map svg{display:block;width:100%;height:186px}
.elm-side__meta b{white-space:nowrap}
.elm-bk__prog{display:flex;align-items:center;gap:12px;margin:4px 0 2px}
.elm-bk__bar{flex:1;height:2px;background:rgba(11,13,15,.1);border-radius:2px;overflow:hidden}
.elm-bk__bar i{display:block;height:100%;background:#C8A96A;transition:width .45s cubic-bezier(.16,1,.3,1)}
.elm-bk__step{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(11,13,15,.42)}
.elm-side .elm-bk__h{margin:2px 0 0;font-family:'Newsreader',Georgia,serif;font-size:1.5rem;font-weight:600;letter-spacing:-.01em}
.elm-side .elm-bk__sub{margin:6px 0 16px;font-size:.85rem;line-height:1.5;color:#6e6a60}
.elm-side .elm-book__fields{display:grid;gap:14px}
.elm-side .elm-book__fields label{display:block;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8f8a80}
.elm-side .elm-book__fields input:not(.elm-dial__q):not(.elm-otp__in){width:100%;box-sizing:border-box;margin-top:6px;border:1px solid rgba(11,13,15,.14);border-radius:11px;background:#fff;padding:12px 13px;font:inherit;font-size:.98rem;font-weight:500;letter-spacing:0;text-transform:none;color:#0B0D0F;outline:none;transition:border-color .2s,box-shadow .2s}
.elm-side .elm-book__fields input:focus{border-color:#C8A96A;box-shadow:0 0 0 3px rgba(200,169,106,.16)}
.elm-side .elm-book__fields small{display:block;margin-top:7px;font-size:.74rem;font-weight:400;letter-spacing:0;text-transform:none;color:#8f8a80}
.elm-bk__pax{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:13px 15px;border:1px solid rgba(11,13,15,.1);border-radius:13px}
.elm-bk__pax .elm-book__lab{display:block;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8f8a80}
.elm-bk__pax b{display:block;margin-top:3px;font-weight:600}
.elm-bk__pax .elm-book__per{display:block;margin-top:2px;font-size:.76rem;color:#806536}
.elm-side .elm-phone{display:grid;grid-template-columns:auto 1fr;gap:9px;margin-top:6px}
.elm-side .elm-dial__btn{border:1px solid rgba(11,13,15,.14);border-radius:11px;padding:12px 11px;min-width:98px}
.elm-side .elm-dial__btn:hover,.elm-side .elm-dial__btn[aria-expanded=true]{border-color:#C8A96A}
/* the number reads back as itself, not as a shouted sentence */
.elm-conf{display:block;margin-top:12px;padding:15px;border:1px solid rgba(200,169,106,.5);background:linear-gradient(180deg,rgba(200,169,106,.1),rgba(200,169,106,.04));border-radius:13px;text-align:center}
.elm-conf--nudge{animation:elmNudge .5s}
@keyframes elmNudge{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.elm-conf__num{display:block;font-size:1.16rem;font-weight:600;letter-spacing:.01em;text-transform:none;color:#0B0D0F}
.elm-conf__hint{display:block;margin-top:4px;font-size:.78rem;font-weight:400;letter-spacing:0;text-transform:none;color:#6e6a60}
.elm-conf__yes{margin-top:12px;border:0;background:#0B0D0F;color:#fff;font:inherit;font-size:.82rem;font-weight:600;letter-spacing:.02em;text-transform:none;padding:11px 20px;border-radius:10px;cursor:pointer;transition:background .2s,color .2s}
.elm-conf__yes:hover{background:#C8A96A;color:#0B0D0F}
.elm-conf--done{display:flex;align-items:center;gap:10px;text-align:left;border-color:rgba(31,122,74,.32);background:rgba(31,122,74,.07)}
.elm-conf--done b{color:#1F7A4A;font-weight:600;font-size:.86rem;text-transform:none;letter-spacing:0}
.elm-conf__done-num{font-size:.86rem;font-weight:400;color:#42403a;text-transform:none;letter-spacing:0}
.elm-conf--done button{margin-left:auto;border:0;background:none;font:inherit;font-size:.78rem;font-weight:400;color:#8f8a80;text-decoration:underline;cursor:pointer;text-transform:none;letter-spacing:0}
.elm-otp{display:block;margin-top:13px;padding-top:13px;border-top:1px solid rgba(200,169,106,.35)}
.elm-otp[hidden]{display:none}
.elm-otp__sent{display:block;font-size:.8rem;font-weight:400;text-transform:none;letter-spacing:0;color:#6e6a60}
.elm-otp__row{display:flex;gap:9px;justify-content:center;margin-top:9px}
.elm-otp__in{width:148px;text-align:center;font-size:1.16rem;letter-spacing:.3em;border:1px solid rgba(11,13,15,.16);border-radius:10px;padding:10px;font-family:inherit;outline:none}
.elm-otp__in:focus{border-color:#C8A96A}
.elm-otp__again{margin-top:9px;border:0;background:none;font:inherit;font-size:.76rem;font-weight:400;color:#8f8a80;text-decoration:underline;cursor:pointer;text-transform:none;letter-spacing:0}
.elm-bk__review{margin-top:16px;border:1px solid rgba(11,13,15,.1);border-radius:13px;padding:13px 15px}
.elm-bk__review dl{margin:9px 0 0;display:grid;gap:8px}
.elm-bk__review dl div{display:flex;justify-content:space-between;gap:14px;font-size:.86rem}
.elm-bk__review dt{color:#8f8a80}
.elm-bk__review dd{margin:0;font-weight:600;text-align:right}
.elm-side .elm-book__msg{position:relative}
.elm-side .elm-book__msg textarea{width:100%;box-sizing:border-box;border:1px solid rgba(11,13,15,.14);border-radius:11px;padding:12px 13px;font:inherit;font-size:.92rem;outline:none;resize:vertical}
.elm-side .elm-book__msg textarea:focus{border-color:#C8A96A;box-shadow:0 0 0 3px rgba(200,169,106,.16)}
.elm-side .elm-book__msg [data-elm-count]{position:absolute;right:10px;bottom:8px;font-size:.7rem;color:#a8a49a}
.elm-side .elm-book__price{display:grid;gap:7px;margin-top:14px;font-size:.88rem}
.elm-side .elm-book__price span{display:flex;justify-content:space-between;color:#6e6a60}
.elm-side .elm-book__price b{color:#0B0D0F;font-weight:600}
.elm-side .elm-book__price .tot{padding-top:8px;border-top:1px solid rgba(11,13,15,.1);color:#0B0D0F;font-weight:600}
.elm-bk__nopay{margin:12px 0 0;font-size:.76rem;color:#8f8a80;line-height:1.5}
.elm-bk__acts{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.elm-bk__back{border:0;background:none;font:inherit;font-size:.86rem;color:#6e6a60;cursor:pointer;padding:10px 2px}
.elm-bk__back::before{content:'\2039 '}
.elm-bk__back:hover{color:#0B0D0F}
.elm-bk__back[hidden],.elm-bk__go[hidden]{display:none}
.elm-bk__go{border:0;font:inherit;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s}
.elm-bk__go:hover{box-shadow:0 10px 26px rgba(200,169,106,.3)}
.elm-bk__go[disabled]{opacity:.38;cursor:not-allowed;box-shadow:none}
.elm-bk__go[disabled]:hover{background:#0B0D0F;color:#fff}
.elm-bar .elm-book__gate{margin:0;font-size:.76rem;color:#8f8a80}
.elm-bar .elm-book__gate[hidden]{display:none}
@media(max-width:860px){
  .elm-overlay--book .elm-bookmodal{height:min(96vh,100%)}
  .elm-overlay--book .elm-carousel{min-height:190px}
  .elm-bk__acts{width:100%}
  .elm-bk__go{flex:1;text-align:center}
}

/* request sent */
.elm-overlay--book .elm-bookmodal--done{height:auto;max-width:520px}
.elm-done{padding:44px 38px 36px;text-align:center}
.elm-done__tick{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:rgba(31,122,74,.1);color:#1F7A4A;font-size:1.5rem}
.elm-done h2{margin:0;font-family:'Newsreader',Georgia,serif;font-size:1.7rem;font-weight:600;letter-spacing:-.01em}
.elm-done p{margin:10px auto 0;max-width:42ch;font-size:.9rem;line-height:1.6;color:#6e6a60}
.elm-done__ref{display:inline-flex!important;align-items:center;gap:10px;margin-top:18px!important;padding:9px 16px;border:1px solid rgba(11,13,15,.12);border-radius:10px}
.elm-done__ref span{font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8f8a80}
.elm-done__ref b{font-size:.98rem;letter-spacing:.04em;color:#0B0D0F}
.elm-done__leg{margin-top:14px!important;font-size:.82rem;color:#8f8a80}
.elm-done .elm-bar__book{display:inline-block;margin-top:24px;border:0;cursor:pointer;font:inherit;font-weight:800;letter-spacing:.06em;padding:13px 30px;border-radius:12px;background:#0B0D0F;color:#fff}
.elm-done .elm-bar__book:hover{background:#C8A96A;color:#0B0D0F}
.elm-bk__fail{margin:0;font-size:.78rem;color:#B3261E}
.elm-bk__fail a{color:#0B0D0F}
