/* PA site fixes (9 Oct, Marsha review). Loaded site-wide by pa-core; theme files untouched. */
/* One floating button on mobile: keep WhatsApp, drop the call bubble (call stays in header/footer). */
@media (max-width: 900px) {
	.pa-site .pa-float { gap: 0; }
	.pa-site .pa-float__btn--call { display: none !important; }
}
/* Footer wordmark: always painted (never left as an empty white box). */
.pa-footer__logo img { min-height: 28px; object-fit: contain; opacity: 1 !important; visibility: visible !important; }
/* Less blue (founder 5:08): footer banner on off-white, blue/red only as accents. */
.pa-site .pa-footer__banner { background: var(--pa-tint-2, #f6f7ff); border: 1px solid var(--pa-line, #e3e6f5); border-top: 6px solid var(--pa-blue, #0012ff); }
.pa-site .pa-footer__banner::before { background: linear-gradient(90deg, rgba(246, 247, 255, .98) 0%, rgba(246, 247, 255, .9) 46%, rgba(246, 247, 255, .05) 100%); }
.pa-site .pa-footer__sweep { width: 46px; background: linear-gradient(90deg, var(--pa-red, #ff3131) 0 40%, transparent 40% 60%, var(--pa-blue, #0012ff) 60%); opacity: 1; }
.pa-site .pa-footer__kicker { color: var(--pa-blue, #0012ff); }
.pa-site .pa-footer__tagline { color: var(--pa-ink, #000a8c); font-weight: 700; }
@media (max-width: 900px) { .pa-site .pa-footer__banner::before { background: linear-gradient(180deg, rgba(246, 247, 255, .96), rgba(246, 247, 255, .88)); } }

/* Marsha 5:30 fix 3: every form's Send button is the main red button (#FF3131). 18px bold white = large text, AA at 3:1. */
.pa-site .elementor-form .elementor-button[type="submit"], .elementor-form .elementor-field-type-submit .elementor-button { background: #FF3131 !important; border-color: #FF3131 !important; color: #fff !important; font-size: 18px; font-weight: 800; border-radius: 999px; }
.pa-site .elementor-form .elementor-button[type="submit"]:hover { background: #e5121a !important; }
/* Photo credits (CC BY) in the footer legal row. */
.pa-credits { margin: .6rem 0 0; font-size: 11px; line-height: 1.5; color: var(--pa-muted, #5b6080); }
.pa-credits a { color: inherit; text-decoration: underline; }

/* ---------- Contrast pass (9 Oct 2026): WCAG AA (4.5:1) for small text ----------
   The brand red #ff3131 is only 3.66:1 against white, so small red text and white-on-red labels use the deeper
   #d3121a (5.4:1). Large type, stripes and button fills keep the brand colour. WhatsApp green darkened for 4.5:1+. */
body .pa-ds-card__k, body .pa-in-row3 .pa-ds-card__k { color: #d3121a !important; }
body .v3-why__n, body .pa-eyebrow, body .pa-lp-eyebrow, body .pa-ch-eyebrow { color: #d3121a; }
body .v3-tile__label, body .pa-gd__badge, body .pa-in-badge--dev { background-color: #d3121a; color: #fff; }
body .pa-btn--whatsapp, body .pa-float__btn--wa { background-color: #0f7a40; border-color: #0f7a40; }
body .pa-btn--whatsapp:hover { background-color: #0b6334; border-color: #0b6334; }
body .v3-fees { background-color: #e5121a; }
body .pa-fx-brand { color: #d3121a; }

/* Pilots Sky Lend / loan card: full-bleed photo background with a dark overlay from the text side (founder, 10 Oct 2026).
   Applies to every instance: home costs band (.v3-sky), India long page (lp_loan), country home (ch_loans), inner loan sections (m_loan).
   Overlay alpha behind the text is >= .78 (desktop) / .80 (mobile), so white text keeps WCAG AA contrast over any photo. */
.v3-fees .v3-fees__grid { grid-template-columns: minmax(0, 1fr) !important; }
body .pa-loanbg.pa-loanbg { position: relative !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 0 !important; min-height: clamp(360px, 32vw, 480px); padding: 0 !important; border: 0 !important; border-radius: 22px !important; overflow: hidden !important; isolation: isolate; background: #0a0f2e !important; color: #fff !important; box-shadow: 0 40px 70px -30px rgba(0, 0, 40, .55); grid-template-columns: none !important; }
body .pa-loanbg.pa-loanbg > figure { position: absolute !important; inset: 0 !important; z-index: 0; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; aspect-ratio: auto !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important; order: 0 !important; background: #0a0f2e; }
body .pa-loanbg.pa-loanbg > figure img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; object-position: var(--pa-loan-focus, 68% 45%) !important; border-radius: 0 !important; }
body .pa-loanbg.pa-loanbg::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(8, 12, 36, .9) 0%, rgba(8, 12, 36, .84) 38%, rgba(8, 12, 36, .78) 52%, rgba(8, 12, 36, .35) 74%, rgba(8, 12, 36, .1) 100%); }
body .pa-loanbg.pa-loanbg::before { display: none !important; }
body .pa-loanbg.pa-loanbg > div { position: relative !important; z-index: 2 !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: center !important; gap: .9rem !important; width: 100% !important; max-width: min(36rem, 52%) !important; margin: 0 !important; padding: clamp(1.8rem, 4vw, 3.4rem) !important; background: none !important; border: 0 !important; color: #fff !important; text-align: left; }
body .pa-loanbg.pa-loanbg > div > * { margin-top: 0 !important; margin-bottom: 0 !important; }
body .pa-loanbg.pa-loanbg :is(h2, h3, p, li, b, strong, small, .hb-costs__k, .v3-sky__h, .pa-ch-small, .pa-ch-eyebrow, .pa-ch-k, .pa-ch-head__k) { color: #fff !important; }
body .pa-loanbg.pa-loanbg .hb-costs__k, body .pa-loanbg.pa-loanbg [class*="eyebrow"], body .pa-loanbg.pa-loanbg [class*="__k"] { color: #fff !important; white-space: nowrap; }
body .pa-loanbg.pa-loanbg li::before, body .pa-loanbg.pa-loanbg li::marker { color: #fff !important; border-color: #fff !important; }
body .pa-loanbg.pa-loanbg a:not(.pa-btn--white):not(.pa-ch-btn--red):not(.pa-btn--red) { color: #fff !important; border-color: rgba(255, 255, 255, .85) !important; background: transparent !important; }
body .pa-loanbg.pa-loanbg .pa-btn { margin-top: .4rem !important; }
@media (max-width: 1320px) { body .pa-loanbg.pa-loanbg .hb-costs__k, body .pa-loanbg.pa-loanbg [class*="eyebrow"], body .pa-loanbg.pa-loanbg [class*="__k"] { white-space: normal; } body .pa-loanbg.pa-loanbg > div { max-width: min(36rem, 58%) !important; } }
@media (max-width: 700px) {
	body .pa-loanbg.pa-loanbg { display: block !important; min-height: 0; border-radius: 18px !important; }
	body .pa-loanbg.pa-loanbg::after { background: linear-gradient(180deg, rgba(8, 12, 36, .8) 0%, rgba(8, 12, 36, .86) 100%); }
	body .pa-loanbg.pa-loanbg > div { max-width: none !important; padding: 2rem 1.4rem !important; }
	body .pa-loanbg.pa-loanbg > figure img { object-position: var(--pa-loan-focus-m, 60% 50%) !important; }
}

/* Costs calculator pills (buttons with aria-pressed), 10 Oct 2026. */
.v3-fees__g { min-width: 0; }
.v3-fees__l { margin: 0 0 .5rem !important; font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--pa-muted, #5b6075); }
.hb-seg--btn button { display: block; margin: 0; padding: .55rem .95rem; border: 0; border-radius: 999px; background: transparent; font: inherit; font-size: .9rem; font-weight: 600; letter-spacing: .04em; color: var(--pa-ink, #0a0f2e); cursor: pointer; }
.hb-seg--btn button[aria-pressed="true"] { background: var(--pa-blue, #000db2); color: #fff; }
.hb-seg--btn button:hover:not([aria-pressed="true"]) { background: var(--pa-tint-2, #eef0ff); }
.hb-seg--btn button:focus-visible { outline: 0; box-shadow: var(--pa-focus, 0 0 0 3px rgba(0, 13, 178, .35)); }
@media (max-width: 700px) { .hb-seg--btn button { padding: .45rem .65rem; font-size: .82rem; } }

/* Aircraft-type cards: manufacturer wordmark (Wikimedia Commons, public domain) instead of the name text, 10 Oct 2026.
   Identification only. Monochrome charcoal for a consistent row; the card name stays as the image alt text. */
.v3-fleet__t { display: flex; align-items: center; min-height: 30px; }
.v3-fleet__logo { display: block; width: auto !important; max-width: 150px; height: 30px !important; object-fit: contain; object-position: left center; filter: brightness(0) opacity(.8); }
.v3-fleet__logo--airbus, .v3-fleet__logo--embraer { height: 24px !important; }
.v3-fleet__logo--beechcraft { height: 32px !important; }
@media (max-width: 700px) { .v3-fleet__logo { height: 26px !important; max-width: 130px; } .v3-fleet__logo--airbus, .v3-fleet__logo--embraer { height: 21px !important; } }
.pa-lp-icard__logo { display: flex; align-items: center; min-height: 32px; margin: 0; }
.v3-fleet__logo--boeing { height: 19px !important; }
.v3-fleet__logo--cessna { height: 44px !important; max-width: 60px; }
@media (max-width: 700px) { .v3-fleet__logo--boeing { height: 17px !important; } .v3-fleet__logo--cessna { height: 40px !important; } }

/* Pilots Sky Lend scope line (10 Oct 2026). */
.v3-sky__scope { margin: .15rem 0 0 !important; font-size: .78rem !important; font-weight: 700 !important; letter-spacing: .1em; text-transform: uppercase; color: var(--pa-red, #d0021b) !important; }
body .pa-loanbg.pa-loanbg .v3-sky__scope { color: #ffd2d7 !important; }

/* Operators (10 Oct 2026): Available pill on track cards, brief teaser + covered panel, in-page enquiry. */
.pa-ds-card__k--pill { display: flex; align-items: center; gap: .5rem; }
.pa-ds-card__k--pill .hb-badge { display: inline-flex; align-items: center; padding: .18rem .55rem; border-radius: 999px; background: #e7f6ec; color: #11713a; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.pa-op-brief { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(1.2rem, 3vw, 2.4rem); align-items: stretch; }
.pa-op-brief > figure, .pa-op-brief > picture { margin: 0; border-radius: 18px; overflow: hidden; min-height: 260px; }
.pa-op-brief > figure img, .pa-op-brief > picture img { width: 100%; height: 100%; object-fit: cover; }
.pa-op-brief__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.pa-op-brief__list li { padding: 1.1rem 1.2rem; border: 1px solid var(--pa-line, #e3e6f2); border-top: 3px solid var(--pa-blue, #000db2); border-radius: 14px; background: #fff; }
.pa-op-brief__list li:nth-child(2n) { border-top-color: var(--pa-red, #d0021b); }
.pa-op-brief__n { font-size: .75rem; font-weight: 700; letter-spacing: .12em; color: var(--pa-muted, #5b6075); }
.pa-op-brief__list h3 { margin: .35rem 0 .3rem; font-size: 1.02rem; }
.pa-op-brief__list p { margin: 0; font-size: .92rem; color: var(--pa-muted, #5b6075); }
.pa-op-lock { position: relative; margin-top: 1.4rem; border-radius: 18px; overflow: hidden; border: 1px solid var(--pa-line, #e3e6f2); background: #fff; min-height: 220px; }
.pa-op-lock__ghost { padding: 1.4rem 1.6rem; filter: blur(5px); opacity: .55; user-select: none; }
.pa-op-lock__row { display: grid; grid-template-columns: 6rem 1fr 1fr 1fr; gap: 1rem; align-items: center; padding: .7rem 0; border-bottom: 1px solid #e3e6f2; }
.pa-op-lock__row b { color: var(--pa-blue, #000db2); }
.pa-op-lock__row i { display: block; height: .7rem; border-radius: 6px; background: #c9cde3; }
.pa-op-lock__over { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; padding: 1.2rem; text-align: center; background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.85)); }
.pa-op-lock__ic { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--pa-blue, #000db2); color: #fff; }
.pa-op-lock__ic svg { width: 1.3rem; height: 1.3rem; }
.pa-op-lock__t { max-width: 30rem; margin: 0; font-weight: 700; font-size: 1.05rem; color: var(--pa-ink, #0a0f2e); }
.pa-ds-btn--red { background: var(--pa-red, #d0021b) !important; border-color: var(--pa-red, #d0021b) !important; color: #fff !important; }
.pa-lp--operator.pa-lp--noform .pa-ds-main, .pa-lp--operator .pa-ds-body { grid-template-columns: minmax(0, 1fr) !important; }
.pa-op-enq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: clamp(1.2rem, 3vw, 2.6rem); align-items: start; }
.pa-op-enq__side p { margin: 0 0 1rem; color: var(--pa-muted, #5b6075); }
.pa-op-enq__mail { display: flex; flex-direction: column; gap: .2rem; padding: 1rem 1.2rem; border-radius: 14px; background: var(--pa-tint-2, #eef0ff); }
.pa-op-enq__mail span { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pa-muted, #5b6075); }
.pa-op-enq__mail a { font-weight: 700; color: var(--pa-blue, #000db2); word-break: break-all; }
.pa-op-enq__form { padding: clamp(1rem, 2.2vw, 1.6rem); border: 1px solid var(--pa-line, #e3e6f2); border-radius: 18px; background: #fff; box-shadow: 0 30px 60px -40px rgba(0, 10, 140, .45); }
.pa-op-enq__form .elementor-field-group { margin-bottom: .55rem !important; }
.pa-op-enq__form textarea { min-height: 4.5rem; }
@media (max-width: 900px) { .pa-op-brief, .pa-op-enq { grid-template-columns: minmax(0, 1fr); } .pa-op-brief > figure, .pa-op-brief > picture { min-height: 200px; } }
@media (max-width: 600px) { .pa-op-brief__list { grid-template-columns: minmax(0, 1fr); } .pa-op-lock__row { grid-template-columns: 4.5rem 1fr 1fr; } .pa-op-lock__row i:last-child { display: none; } .pa-op-enq__form .elementor-column { width: 100% !important; } }

/* Home operators: three track cards (10 Oct 2026). */
@media (min-width: 900px) { .v3-ops__cards.v3-ops__cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } .v3-ops__cards--3 .v3-svc a { grid-template-columns: 1fr !important; grid-template-rows: auto 1fr; } .v3-ops__cards--3 .v3-svc .pa-photo-slot { aspect-ratio: 16 / 10 !important; height: auto !important; } .v3-ops__cards--3 .v3-svc .pa-photo-slot img { width: 100%; height: 100%; object-fit: cover; } }
.pa-op-brief > figure { width: 100% !important; max-width: 100% !important; margin: 0 !important; transform: none !important; justify-self: stretch; }

/* Visa + Licence conversion sections (10 Oct 2026). */
.pa-visa__chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.2rem; }
.pa-visa__chips button { padding: .5rem 1rem; border: 1px solid var(--pa-line, #d9dcec); border-radius: 999px; background: #fff; font: inherit; font-size: .9rem; font-weight: 600; color: var(--pa-ink, #0a0f2e); cursor: pointer; }
.pa-visa__chips button[aria-pressed="true"] { background: var(--pa-blue, #000db2); border-color: var(--pa-blue, #000db2); color: #fff; }
.pa-visa__chips button:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(0, 13, 178, .35); }
.pa-visa__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(1rem, 2.5vw, 2rem); align-items: start; }
.pa-visa__panel { padding: clamp(1.1rem, 2.2vw, 1.6rem); border: 1px solid var(--pa-line, #e3e6f2); border-top: 3px solid var(--pa-blue, #000db2); border-radius: 16px; background: #fff; }
.pa-visa__k, .pa-conv__k { margin: 0; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pa-red, #d0021b); }
.pa-visa__t { margin: .3rem 0 .9rem; font-size: 1.15rem; }
.pa-visa__steps, .pa-conv__steps { margin: 0; padding: 0; list-style: none; display: grid; gap: .6rem; }
.pa-visa__steps li { display: grid; grid-template-columns: 1.8rem minmax(0, 1fr); gap: .6rem; align-items: start; }
.pa-visa__steps li span, .pa-conv__steps li span { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--pa-tint-2, #eef0ff); color: var(--pa-blue, #000db2); font-weight: 700; font-size: .85rem; }
.pa-visa__steps p { margin: .2rem 0 0; }
.pa-visa__lock { position: relative; margin-top: .9rem; min-height: 140px; border-radius: 12px; overflow: hidden; border: 1px dashed var(--pa-line, #d9dcec); }
.pa-visa__ghost { display: grid; gap: .7rem; padding: 1rem 1.1rem; filter: blur(4px); opacity: .55; }
.pa-visa__ghost i { display: block; height: .75rem; border-radius: 6px; background: #c9cde3; }
.pa-visa__ghost i:nth-child(2) { width: 80%; } .pa-visa__ghost i:nth-child(3) { width: 60%; }
.pa-visa__over { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; padding: 1rem; text-align: center; background: rgba(255, 255, 255, .7); }
.pa-visa__over p { margin: 0; font-weight: 700; color: var(--pa-ink, #0a0f2e); }
.pa-visa__src, .pa-conv__src { margin: .8rem 0 0; font-size: .82rem; color: var(--pa-muted, #5b6075); }
.pa-visa__help { padding: clamp(1.1rem, 2.2vw, 1.6rem); border-radius: 16px; background: var(--pa-tint-2, #eef0ff); }
.pa-visa__help h3 { margin: 0 0 .8rem; font-size: 1.05rem; }
.pa-visa__help ul { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.pa-visa__help li { display: grid; gap: .1rem; padding-left: 1rem; border-left: 3px solid var(--pa-red, #d0021b); }
.pa-visa__help li span { font-size: .9rem; color: var(--pa-muted, #5b6075); }
.pa-visa__note { margin: 1rem 0 0; font-size: .8rem; color: var(--pa-muted, #5b6075); }
.pa-conv__lead { margin: 0 0 1rem; font-size: 1.02rem; }
.pa-conv__sum { margin: 0 0 1.1rem; padding: 1rem 1.2rem; border-left: 3px solid var(--pa-blue, #000db2); border-radius: 0 12px 12px 0; background: var(--pa-tint-2, #eef0ff); }
.pa-conv__sum p { margin: .3rem 0 0; }
.pa-conv__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.pa-conv__steps li { padding: 1rem 1.1rem; border: 1px solid var(--pa-line, #e3e6f2); border-radius: 14px; background: #fff; }
.pa-conv__steps li b { display: block; margin: .55rem 0 .25rem; }
.pa-conv__steps li p { margin: 0; font-size: .92rem; color: var(--pa-muted, #5b6075); }
.pa-conv__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.2rem; }
@media (max-width: 900px) { .pa-visa__grid, .pa-conv__steps { grid-template-columns: minmax(0, 1fr); } }

/* Boarding pass band on destination pages (10 Oct 2026). PA deep red #b5001b / #d0021b and blue #000db2 on off-white. */
.pa-ds-mod--bp { padding: clamp(1.6rem, 3.5vw, 2.8rem) !important; border-radius: 22px; overflow: hidden; background: radial-gradient(120% 140% at 0% 0%, #eef0ff 0%, #f7f7fb 45%, #fff 100%) !important; }
.pa-bp-wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr); gap: clamp(1.2rem, 3vw, 2.6rem); align-items: center; }
.pa-bp-copy__k { margin: 0 0 .5rem; font-size: .76rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pa-red, #d0021b); }
.pa-bp-copy__t { margin: 0 0 .7rem; font-size: clamp(1.5rem, 2.6vw, 2.2rem); line-height: 1.12; color: var(--pa-ink, #0a0f2e); }
.pa-bp-copy__t span { color: var(--pa-blue, #000db2); background: linear-gradient(transparent 82%, rgba(208, 2, 27, .9) 82%, rgba(208, 2, 27, .9) 92%, transparent 92%); }
.pa-bp-copy__s { margin: 0; color: var(--pa-muted, #5b6075); }
.pa-bp { position: relative; perspective: 1200px; }
.pa-bp__card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 0 9.5rem; border-radius: 20px; background: #fffdf9; box-shadow: 0 36px 70px -34px rgba(0, 10, 120, .55), 0 2px 0 rgba(0, 0, 0, .03); overflow: hidden; isolation: isolate; }
.pa-bp__card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: linear-gradient(90deg, #b5001b 0 50%, #000db2 50% 100%); z-index: 2; }
.pa-bp__main { position: relative; padding: 1.4rem 1.5rem 1.2rem; }
.pa-bp__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: .9rem; }
.pa-bp__brand { display: inline-flex; align-items: center; gap: .45rem; font-weight: 800; letter-spacing: .02em; color: var(--pa-ink, #0a0f2e); }
.pa-bp__brand i { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 8px; background: linear-gradient(135deg, #d0021b 0 50%, #000db2 50% 100%); color: #fff; font-style: normal; font-size: .72rem; font-weight: 800; }
.pa-bp__type { font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #b5001b; }
.pa-bp__route { display: grid; grid-template-columns: auto minmax(4rem, 1fr) auto; align-items: center; gap: .6rem; }
.pa-bp__end { display: flex; flex-direction: column; min-width: 0; }
.pa-bp__end--to { align-items: flex-end; text-align: right; }
.pa-bp__lbl, .pa-bp__fields dt { font-size: .64rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--pa-muted, #6b7085); }
.pa-bp__code { display: inline-flex; font-size: clamp(2rem, 3.6vw, 2.9rem); line-height: 1.05; font-weight: 800; letter-spacing: .02em; color: #000db2; perspective: 400px; }
.pa-bp__code--word { font-size: clamp(1.25rem, 2.1vw, 1.7rem); padding: .35rem 0; }
.pa-bp__end--to .pa-bp__code { color: #b5001b; }
.pa-bp__code span { display: inline-block; transform-origin: 50% 50% -.3em; backface-visibility: hidden; }
.pa-bp__city { font-size: .82rem; font-weight: 600; color: var(--pa-ink, #0a0f2e); }
.pa-bp__path { width: 100%; height: auto; color: #000db2; overflow: visible; }
.pa-bp__dot { fill: #000db2; } .pa-bp__dot--to { fill: #b5001b; }
.pa-bp__plane { fill: #b5001b; }
.pa-bp__draw { stroke-dasharray: 1; stroke-dashoffset: 0; }
.pa-bp__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem 1rem; margin: 1rem 0 0; padding: .9rem 0 0; border-top: 1px dashed #d9dcec; }
.pa-bp__fields div { min-width: 0; }
.pa-bp__fields dd { margin: .1rem 0 0; font-weight: 700; font-size: .95rem; color: var(--pa-ink, #0a0f2e); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pa-bp__stamp { position: absolute; right: 1.2rem; bottom: 1.1rem; padding: .35rem .7rem; border: 3px double #d0021b; border-radius: 8px; color: #d0021b; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; transform: rotate(-12deg); opacity: .9; mix-blend-mode: multiply; pointer-events: none; }
.pa-bp__tear { position: relative; width: 0; border-left: 2px dashed #d3d6e6; margin: 1rem 0; }
.pa-bp__tear::before, .pa-bp__tear::after { content: ""; position: absolute; left: -13px; width: 24px; height: 24px; border-radius: 50%; background: #f3f4fa; }
.pa-bp__tear::before { top: calc(-1rem - 12px); } .pa-bp__tear::after { bottom: calc(-1rem - 12px); }
.pa-bp__stub { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .55rem; padding: 1.2rem .9rem; background: linear-gradient(180deg, #fff 0%, #f6f7ff 100%); text-align: center; }
.pa-bp__mini { display: flex; gap: .3rem; align-items: center; margin: 0; font-size: .82rem; color: var(--pa-ink, #0a0f2e); } .pa-bp__mini span { color: #b5001b; }
.pa-bp__seat { margin: 0; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--pa-muted, #6b7085); } .pa-bp__seat b { color: #000db2; font-size: 1rem; }
.pa-bp__bars { display: block; width: 100%; max-width: 7rem; height: 2.6rem; background: repeating-linear-gradient(90deg, #0a0f2e 0 2px, transparent 2px 4px, #0a0f2e 4px 5px, transparent 5px 8px, #0a0f2e 8px 11px, transparent 11px 13px); border-radius: 2px; opacity: .85; }
.pa-bp__shine { position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .7) 50%, transparent 65%); transform: translateX(-120%); }
/* Armed (JS, motion allowed): start states. */
.pa-bp.is-armed .pa-bp__card { opacity: 0; transform: translateY(46px) rotateX(10deg) rotateZ(-4deg); }
.pa-bp.is-armed .pa-bp__code span { opacity: 0; transform: rotateX(-90deg); }
.pa-bp.is-armed .pa-bp__draw { stroke-dashoffset: 1; }
.pa-bp.is-armed .pa-bp__stamp { opacity: 0; transform: rotate(-12deg) scale(2.4); }
.pa-bp.is-armed .pa-bp__plane { opacity: 0; }
/* Live. */
.pa-bp.is-live .pa-bp__card { animation: paBpIn .9s cubic-bezier(.2, .8, .2, 1) forwards; }
.pa-bp.is-live .pa-bp__code span { animation: paBpFlip .5s cubic-bezier(.3, 1.4, .5, 1) forwards; animation-delay: calc(.55s + var(--i) * .07s); }
.pa-bp.is-live .pa-bp__end--to .pa-bp__code span { animation-delay: calc(.8s + var(--i) * .05s); }
.pa-bp.is-live .pa-bp__draw { animation: paBpDraw 1.8s cubic-bezier(.45, 0, .25, 1) .9s forwards; }
.pa-bp.is-live .pa-bp__plane { animation: paBpFade .2s linear .9s forwards; }
.pa-bp.is-live .pa-bp__stamp { animation: paBpStamp .45s cubic-bezier(.2, 1.6, .4, 1) 2.8s forwards; }
.pa-bp.is-live .pa-bp__shine { animation: paBpShine 1.4s ease-in-out 3.3s forwards; }
@keyframes paBpIn { to { opacity: 1; transform: none; } }
@keyframes paBpFlip { to { opacity: 1; transform: none; } }
@keyframes paBpDraw { to { stroke-dashoffset: 0; } }
@keyframes paBpFade { to { opacity: 1; } }
@keyframes paBpStamp { 0% { opacity: 0; transform: rotate(-12deg) scale(2.4); } 70% { opacity: 1; transform: rotate(-12deg) scale(.92); } 100% { opacity: .9; transform: rotate(-12deg) scale(1); } }
@keyframes paBpShine { to { transform: translateX(120%); } }
@media (prefers-reduced-motion: reduce) { .pa-bp .pa-bp__card, .pa-bp .pa-bp__code span, .pa-bp .pa-bp__stamp, .pa-bp .pa-bp__plane { animation: none !important; opacity: 1 !important; transform: none !important; } .pa-bp .pa-bp__stamp { transform: rotate(-12deg) !important; opacity: .9 !important; } .pa-bp .pa-bp__draw { animation: none !important; stroke-dashoffset: 0 !important; } .pa-bp__shine { display: none; } }
@media (max-width: 900px) { .pa-bp-wrap { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
	.pa-ds-mod--bp { padding: 1.2rem !important; }
	.pa-bp__card { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 0 auto; }
	.pa-bp__main { padding: 1.2rem 1rem 1rem; }
	.pa-bp__route { gap: .35rem; grid-template-columns: auto minmax(2.6rem, 1fr) auto; }
	.pa-bp__code { font-size: 1.9rem; } .pa-bp__code--word { font-size: 1.05rem; }
	.pa-bp__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pa-bp__stamp { right: .8rem; bottom: auto; top: 3.2rem; font-size: .62rem; }
	.pa-bp__tear { width: auto; height: 0; border-left: 0; border-top: 2px dashed #d3d6e6; margin: 0 1rem; }
	.pa-bp__tear::before { top: -13px; left: calc(-1rem - 12px); } .pa-bp__tear::after { top: -13px; bottom: auto; left: auto; right: calc(-1rem - 12px); }
	.pa-bp__stub { flex-direction: row; justify-content: space-between; padding: .9rem 1rem; }
	.pa-bp__bars { max-width: 5.5rem; height: 2rem; }
}
/* Boarding pass refinements: stamp in flow (no overlap), wrapping values, slimmer stub. */
.pa-bp__card { grid-template-columns: minmax(0, 1fr) 0 8rem; }
.pa-bp__fields dd { white-space: normal; overflow: visible; text-overflow: clip; }
.pa-bp__stamp, .pa-bp.is-armed .pa-bp__stamp { position: relative; right: auto; bottom: auto; top: auto; display: block; width: max-content; margin: .9rem 0 0 auto; }
@media (max-width: 600px) { .pa-bp__card { grid-template-columns: minmax(0, 1fr); } .pa-bp__stamp, .pa-bp.is-armed .pa-bp__stamp { top: auto; margin-top: .8rem; } }

/* Guides hub + country archives (10 Oct 2026). */
.pa-gc__layout { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; gap: clamp(1.4rem, 3vw, 2.6rem); align-items: start; width: min(1200px, 92vw); margin: 2rem auto 3rem; }
.pa-gc__main .pa-gd__lead { margin-top: 0; }
.pa-gc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (min-width: 1280px) { .pa-gc__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
.pa-gc__t { margin: .3rem 0 .35rem; font-size: 1.05rem; line-height: 1.3; }
.pa-gc__side { position: sticky; top: 6.5rem; }
.pa-gc__sticky { padding: 1.2rem; border: 1px solid var(--pa-line, #e3e6f2); border-radius: 18px; background: #fff; box-shadow: 0 30px 60px -45px rgba(0, 10, 140, .5); }
.pa-gc__search label { display: block; margin: 0 0 .4rem; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pa-muted, #5b6075); }
.pa-gc__search div, .pa-gc__mbar .pa-gc__search { display: flex; gap: .4rem; }
.pa-gc__search input { flex: 1; min-width: 0; padding: .6rem .8rem; border: 1px solid var(--pa-line, #d9dcec); border-radius: 10px; font: inherit; }
.pa-gc__search button { padding: .6rem .9rem; border: 0; border-radius: 10px; background: var(--pa-blue, #000db2); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.pa-gc__h { margin: 1.3rem 0 .6rem; font-size: 1rem; }
.pa-gc__list { margin: 0; padding: 0; list-style: none; display: grid; gap: .15rem; }
.pa-gc__list a { display: flex; justify-content: space-between; gap: .5rem; padding: .45rem .6rem; border-radius: 9px; color: var(--pa-ink, #0a0f2e); text-decoration: none; font-size: .93rem; }
.pa-gc__list a:hover { background: var(--pa-tint-2, #eef0ff); }
.pa-gc__list a[aria-current="page"] { background: var(--pa-blue, #000db2); color: #fff; }
.pa-gc__list span { color: var(--pa-muted, #6b7085); font-size: .8rem; } .pa-gc__list a[aria-current="page"] span { color: #dfe2ff; }
.pa-gc__mbar { display: none; }
.pa-gc__count { margin: 0 0 1rem; color: var(--pa-muted, #5b6075); }
.pa-gc__empty { padding: 2rem; border: 1px dashed var(--pa-line, #d9dcec); border-radius: 18px; background: #fff; text-align: center; }
.pa-gc__empty h2 { margin: 0 0 .5rem; }
@media (max-width: 900px) {
	.pa-gc__layout { grid-template-columns: minmax(0, 1fr); margin-top: 1rem; }
	.pa-gc__side { display: none; }
	.pa-gc__mbar { display: grid; gap: .6rem; width: 92vw; margin: 1.2rem auto 0; }
	.pa-gc__mbar select { width: 100%; padding: .65rem .8rem; border: 1px solid var(--pa-line, #d9dcec); border-radius: 10px; font: inherit; background: #fff; }
}
@media (max-width: 600px) { .pa-gc__grid { grid-template-columns: minmax(0, 1fr) !important; } }
/* Read all guides buttons (home + country pages). */
.v3-guides__all { margin: 1.4rem 0 0; }
.pa-ch-guides__all { margin-top: 1.2rem; }

/* Operator hub v2: pilot sourcing card (10 Oct 2026). */
.pa-op-src { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(1rem, 3vw, 2.2rem); align-items: center; padding: clamp(1rem, 2.4vw, 1.6rem); border: 1px solid var(--pa-line, #e3e6f2); border-left: 4px solid var(--pa-red, #d0021b); border-radius: 20px; background: #fff; }
.pa-op-src > figure { margin: 0; border-radius: 14px; overflow: hidden; }
.pa-op-src__k { display: flex; align-items: center; gap: .5rem; margin: 0 0 .6rem; font-size: .76rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pa-red, #d0021b); }
.pa-op-src__k .hb-badge { display: inline-flex; padding: .18rem .55rem; border-radius: 999px; background: #e7f6ec; color: #11713a; font-size: .68rem; letter-spacing: .1em; }
.pa-op-src__b > p { margin: 0 0 .8rem; }
.pa-op-src__l { margin: 0 0 1rem; padding: 0; list-style: none; display: grid; gap: .35rem; }
.pa-op-src__l li { padding-left: 1.2rem; position: relative; } .pa-op-src__l li::before { content: ""; position: absolute; left: 0; top: .55em; width: .5rem; height: .5rem; border-radius: 50%; background: var(--pa-blue, #000db2); }
@media (max-width: 900px) { .pa-op-src { grid-template-columns: minmax(0, 1fr); } }

/* Operator enquiry: programme interest radios in two columns so submit stays above the fold at 1280x800 (10 Oct 2026). */
@media (min-width: 700px) { .pa-op-enq .elementor-field-type-radio .elementor-field-subgroup { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem 1rem; } .pa-op-enq .elementor-field-type-radio .elementor-field-option { margin: 0; } }

/* Operator enquiry: shorter message box (it grows as people type) so the submit button shows at 1280x800 (10 Oct 2026). */
.pa-op-enq textarea { min-height: 0 !important; height: 3rem; resize: vertical; }

/* FAQ category chips (10 Oct 2026). */
.pa-faq-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 1rem; }
.pa-faq-chip { appearance: none; border: 1px solid #d5d9ea; background: #fff; color: #1b1f33; border-radius: 999px; padding: .42rem .85rem; font: inherit; font-size: .84rem; font-weight: 600; cursor: pointer; min-height: 36px; }
.pa-faq-chip span { color: #6a7090; font-weight: 500; margin-left: .2rem; }
.pa-faq-chip[aria-pressed="true"] { background: #000db2; border-color: #000db2; color: #fff; }
.pa-faq-chip[aria-pressed="true"] span { color: #dfe2ff; }
.pa-faq-chip:focus-visible { outline: 2px solid #d0021b; outline-offset: 2px; }
.pa-ds-faq details[hidden] { display: none; }

/* PA-BPROT-20261014 Rotating FROM airport. */
.pa-bp-fade { transition: opacity .4s ease; }
.pa-bp-fade.is-out { opacity: 0; }
.pa-bp .pa-bp__code.is-rot span { animation: none !important; opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) { .pa-bp-fade { transition: none; } }
