/* IAG brand layer: existing public template, layout and components retained. */
body.reo-guest-shell {
  --reo-surface-light-0: #071D33;
  --reo-surface-light-1: #103451;
  --reo-surface-light-2: #173e5a;
  --reo-surface-warm: #071D33;
  --reo-surface-tint: #103451;
  --reo-surface-0: #071D33;
  --reo-surface-1: #103451;
  --reo-surface-2: #173e5a;
  --reo-hairline: #294459;
  --reo-on-dark: #FFFFFF;
  --reo-on-dark-muted: #B6C5D2;
  --reo-on-light: #FFFFFF;
  --reo-on-light-muted: #B6C5D2;
  --reo-muted-on-blue: #B6C5D2;
  --reo-hairline-light: #294459;
  --reo-sage: #54718A;
  --reo-sage-light: #E8EEF3;
  --reo-sage-deep: #496989;
  --reo-sage-on-dark: #aac5e2;
  --reo-sage-text: #aac5e2;
  --reo-sage-on-blue: #aac5e2;
  --reo-sage-cta-bg: #103451;
  --reo-sage-cta-hover: #173e5a;
  --reo-cta-primary: #103451;
  --reo-cta-primary-hover: #173e5a;
  --reo-focus-on-dark: #d0e4fb;
  --reo-glow-sage: 0 0 0 1px rgba(142,171,201,.45), 0 10px 30px rgba(142,171,201,.12);
  /* --reo-ink remains dark: the template also uses it as a background. */
  background-color: #071D33 !important;
  color: #FFFFFF;
}
body.reo-guest-shell .header,
body.reo-guest-shell .footer { background-color: #071D33 !important; }
/* Keep the template's active/hover indicator, using the approved IAG accent. */
body.reo-guest-shell .header .nav-menu .nav-link::before { background-color: #F97316; }
body.reo-guest-shell main .section-heading__title { color: #FFFFFF !important; }
body.reo-guest-shell main .section-heading__desc { color: #B6C5D2 !important; }
body.reo-guest-shell .reo-hero-auth { color: #d4e2f2; background: rgba(13,25,42,.88); }
body.reo-guest-shell .reo-hero-btn--primary { background: #103451 !important; color: #fff !important; }
body.reo-guest-shell .reo-hero-btn--primary:hover { background: #173e5a !important; }

/* About's retained inline section still carries literal legacy green colors. */
body.reo-guest-shell .reo-about.v3 {
  --bg: #071D33;
  --panel: #103451;
  --panel-2: #071D33;
  --ink: #FFFFFF;
  --muted: #B6C5D2;
  --line: #294459;
  --accent: #B6C5D2;
  --accent-2: #54718A;
  background: #071D33;
}
body.reo-guest-shell .reo-about.v3 :is(h1, h2, h3) { color: #FFFFFF; }
body.reo-guest-shell .reo-about.v3 p { color: #B6C5D2; }
body.reo-guest-shell .reo-about.v3 :is(.hero, .card) { background: #103451; }
body.reo-guest-shell .reo-about.v3 :is(.badge, .card .head, .tick) {
  background: rgba(182,197,210,.06);
  border-color: #294459;
  color: #FFFFFF;
}
body.reo-guest-shell .reo-about.v3 .portrait {
  background: linear-gradient(160deg, #103451, #071D33);
}
body.reo-guest-shell .reo-about.v3 .tick .dot { box-shadow: 0 0 0 3px rgba(182,197,210,.18); }
body.reo-guest-shell .reo-about.v3 .card .decor {
  border-color: #294459;
  background: linear-gradient(135deg, #103451, #071D33);
}

/* These existing components contain literal light colors in their view styles. */
body.reo-guest-shell .reo-ab__cred,
body.reo-guest-shell .reo-ab__card,
body.reo-guest-shell .reo-ab__btn-ghost,
body.reo-guest-shell .contact__form__card,
body.reo-guest-shell .reo-contact-trust,
body.reo-guest-shell .reo-regb--light .reo-regb__item,
body.reo-guest-shell .reo-regb--compact .reo-regb__item {
  background: var(--reo-surface-1);
  border-color: var(--reo-hairline);
}
body.reo-guest-shell .reo-ab__title,
body.reo-guest-shell .reo-ab__card-title,
body.reo-guest-shell .reo-ab__cred span {
  color: var(--reo-on-dark);
}
body.reo-guest-shell .reo-ab__lead,
body.reo-guest-shell .reo-ab__card p,
body.reo-guest-shell .contact__form__card > .mb-4 > p,
body.reo-guest-shell .contact__form__card .form--floating label,
body.reo-guest-shell .reo-gi__tier-works,
body.reo-guest-shell .reo-gi__fact dt,
body.reo-guest-shell .reo-gi__fact dd span {
  color: var(--reo-on-dark-muted);
}
body.reo-guest-shell .reo-ab__btn-ghost,
body.reo-guest-shell .reo-ab__cred i { color: var(--reo-sage-light); }
body.reo-guest-shell .reo-ab__btn-ghost:hover,
body.reo-guest-shell .reo-contact-trust:hover {
  background: var(--reo-surface-2);
  color: var(--reo-on-dark);
  border-color: var(--reo-sage);
}
body.reo-guest-shell .contact__form__card h2,
body.reo-guest-shell .contact__form__card h3 {
  color: var(--reo-on-dark) !important;
}
/* main.css forces a light-theme body colour on floating labels with !important. */
body.reo-guest-shell .contact__form__card .form--floating label {
  color: var(--reo-on-dark-muted) !important;
}
body.reo-guest-shell .contact__form__card .form--control:is(:focus,:not(:placeholder-shown)) ~ label {
  background: var(--reo-surface-0) !important;
}
/* The template hides contact paragraphs; keep the enquiry/privacy notices visible. */
body.reo-guest-shell .contact__form__card p {
  display: block;
  color: var(--reo-on-dark-muted);
}
body.reo-guest-shell .contact__form__card .form--control {
  /* custom.css applies an important white background to these controls. */
  background: var(--reo-surface-0) !important;
  color: var(--reo-on-dark);
  border-color: var(--reo-hairline);
  color-scheme: dark;
}
body.reo-guest-shell .contact__form__card .form--control:focus {
  background: var(--reo-surface-0);
  border-color: var(--reo-sage);
  box-shadow: 0 0 0 3px rgba(142,171,201,.18);
}
body.reo-guest-shell .reo-regb__ic { background: var(--reo-surface-2); }
body.reo-guest-shell .pagination .page-item .page-link {
  background: var(--reo-surface-1);
  color: var(--reo-on-dark);
  border-color: var(--reo-hairline);
}
body.reo-guest-shell .pagination .page-item .page-link:hover,
body.reo-guest-shell .pagination .page-item.active .page-link {
  background: var(--reo-cta-primary);
  color: #fff;
  border-color: var(--reo-sage);
}
body.reo-guest-shell .pagination .page-item.disabled .page-link {
  background: var(--reo-surface-0);
  color: var(--reo-on-dark-muted);
}
body.reo-guest-shell :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline-color: var(--reo-focus-on-dark) !important;
}

/* Supplied IAG Brand System v1: scoped to the existing public shell. */
body.reo-guest-shell {
  --reo-font-sans: 'Inter', Arial, Helvetica, sans-serif;
  --reo-radius-card: 0px;
  --reo-glow-sage: none;
  font-family: var(--reo-font-sans);
}
body.reo-guest-shell :is(h1,h2,h3,h4,h5,h6) { font-family: var(--reo-font-sans); font-weight: 500; }
body.reo-guest-shell .banner-section .banner-content__title { font-family: var(--reo-font-sans); font-weight: 500; font-size: clamp(32px, 5vw, 72px); line-height: 1.1; }
body.reo-guest-shell .banner-content__title span { color: #FFFFFF; }
body.reo-guest-shell .banner-section__slide.bg-img::after { background: linear-gradient(90deg, rgba(7,29,51,.92), rgba(7,29,51,.65)) !important; }
body.reo-guest-shell .reo-hero-auth { color: #F97316; border-radius: 2px; background: #071D33; padding: 6px 10px; }
body.reo-guest-shell .iag-home-content .iag-home-label { color: #F97316; }
body.reo-guest-shell .iag-home-note { border-left-color: #F97316; }
body.reo-guest-shell :is(.iag-home-card,.reo-ab__card,.contact__form__card) { border-radius: 0; box-shadow: none; }
body.reo-guest-shell .banner-section .reo-home-cta .reo-hero-btn,
body.reo-guest-shell :is(.btn,.reo-ab__btn) { border-radius: 2px; box-shadow: none; }
body.reo-guest-shell .banner-section .reo-hero-btn--primary { border: 1px solid #54718A; }
body.reo-guest-shell .iag-header-brand { display: block; }
body.reo-guest-shell .header .iag-header-brand img { width: 90px; height: auto; max-width: none; max-height: none; display: block; }
body.reo-guest-shell .footer-item__logo .iag-footer-brand { width: 90px; height: auto; display: block; max-height: none; }
@media (min-width: 1200px) {
  body.reo-guest-shell .header .iag-header-brand img { width: 360px; }
}

body.reo-guest-shell .iag-about-image { margin: 32px 0; }
body.reo-guest-shell .iag-about-image img { display: block; width: 100%; height: auto; }
body.reo-guest-shell .iag-about-image figcaption { color: #B6C5D2; font-size: 14px; line-height: 1.6; margin-top: 12px; }
body.reo-guest-shell .reo-cb__fab { box-shadow: none; border: 1px solid #54718A; border-radius: 2px; }
body.reo-guest-shell .reo-cb__panel { background: #071D33; border-color: #294459; border-radius: 2px; }
body.reo-guest-shell .reo-cb__title i { color: #F97316; }

body.reo-guest-shell .reo-bc .reo-bc-overlay { background: #071D33; }
body.reo-guest-shell .reo-bc .reo-bc-accent { background: #F97316; border-radius: 0; height: 2px; }

/* Existing consent controls, using the same public IAG palette. */
body.reo-guest-shell :is(.reo-cookie-banner,.reo-cookie-modal-content,.reo-cookie-modal-head,.reo-cookie-modal-foot) { background: #071D33; border-color: #54718A; border-radius: 0; box-shadow: none; }
body.reo-guest-shell :is(.reo-cookie-title,.reo-cookie-category-name,.reo-cookie-modal-title) { color: #FFFFFF; }
body.reo-guest-shell :is(.reo-cookie-desc,.reo-cookie-category-desc) { color: #B6C5D2; }
body.reo-guest-shell :is(.reo-cookie-link,.reo-cookie-link:hover) { color: #E8EEF3; text-decoration: underline; }
body.reo-guest-shell .reo-cookie-category { border-color: #294459; }
body.reo-guest-shell .reo-cookie-icon { background: #103451; color: #F97316; border-radius: 2px; }
body.reo-guest-shell .reo-cookie-btn { border-radius: 2px; }
body.reo-guest-shell :is(.reo-cookie-btn-outline,.reo-cookie-btn-ghost) { color: #FFFFFF; background: #103451; border-color: #54718A; }
body.reo-guest-shell :is(.reo-cookie-btn-outline,.reo-cookie-btn-ghost):hover { color: #FFFFFF; background: #173e5a; }
body.reo-guest-shell .reo-cookie-btn-primary { color: #071D33; background: #F97316; border-color: #F97316; }
body.reo-guest-shell .reo-cookie-btn-primary:hover { color: #071D33; background: #FB923C; border-color: #FB923C; }
body.reo-guest-shell .reo-cookie-toggle input:focus-visible + .reo-cookie-toggle-slider { outline-color: #E8EEF3; }
.iag-cookie-settings { background: transparent; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; min-height: 44px; }

/* Owner-requested stronger orange accents; status and financial colors stay unchanged. */
body.reo-guest-shell :is(.reo-hero-btn--primary,.reopc-cta,.iag-home-content .btn--base,.reo-cb__fab) {
  background: #F97316 !important; color: #071D33 !important; border-color: #F97316 !important;
}
body.reo-guest-shell :is(.reo-hero-btn--primary,.reopc-cta,.iag-home-content .btn--base,.reo-cb__fab):hover {
  background: #FB923C !important; color: #071D33 !important; border-color: #FB923C !important;
}
body.reo-guest-shell .iag-home-card { border-top: 3px solid #F97316; }
body.reo-guest-shell .reopc-mode-btn.is-active { background: #F97316; color: #071D33; }
body.reo-guest-shell .reopc-mode-btn:not(.is-active) { color: #D6E2ED; }
body.reo-guest-shell .reopc-mode-btn:focus-visible { outline-color: #FB923C; }
body.reo-guest-shell .iag-home-question[open] { border-left: 3px solid #F97316; padding-left: 18px; }

/* Extend the owner's orange direction to About, Contact and catalogue selection. */
body.reo-guest-shell :is(.reo-ab__btn-primary,.contact__form__card .btn--base,.reo-sector-chip.is-active,.reo-catalog-chip.is-active) {
  background: #F97316 !important; color: #071D33 !important; border-color: #F97316 !important; box-shadow: none;
}
body.reo-guest-shell :is(.reo-ab__btn-primary,.contact__form__card .btn--base):hover {
  background: #FB923C !important; color: #071D33 !important; border-color: #FB923C !important;
}
body.reo-guest-shell .contact__form__card .btn--base.is-loading { color: transparent !important; }
body.reo-guest-shell .reo-sector-chip.is-active i { color: #071D33; }
body.reo-guest-shell .reo-sector-chip.is-active .reo-sector-chip__n { color: #071D33; background: rgba(7,29,51,.08); }
body.reo-guest-shell :is(.reo-ab__card,.contact__form__card) { border-top: 3px solid #F97316; }
body.reo-guest-shell .reo-ab__hero .reo-sec-head { color: #F97316; }
body.reo-guest-shell .reo-ab__btn-ghost { border-color: #F97316; }
body.reo-guest-shell .contact__form__card .form--control:focus { border-color: #FB923C; box-shadow: 0 0 0 2px rgba(249,115,22,.25); }
/* Local preview notes must stay readable against the dark public shell. */
body.reo-guest-shell .container[role="note"] > p { color: #B6C5D2; }

/* Complete the public primary-action hierarchy without changing status colors. */
body.reo-guest-shell :is(.reo-hdr-btn--primary,.reo-acta__btn--primary) {
  background: #F97316 !important; color: #071D33 !important; border-color: #F97316 !important; box-shadow: none;
}
body.reo-guest-shell :is(.reo-hdr-btn--primary,.reo-acta__btn--primary):hover {
  background: #FB923C !important; color: #071D33 !important; border-color: #FB923C !important;
}
/* Color-only transitions avoid moving click targets; reduced motion is respected. */
body.reo-guest-shell :is(.reo-hero-btn,.reo-hdr-btn,.reo-acta__btn,.reo-ab__btn-primary,.reo-ab__btn-ghost,.reopc-cta,.reo-cb__fab,.reo-sector-chip) {
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
body.reo-guest-shell :is(.reo-hero-btn,.reo-hdr-btn,.reo-acta__btn,.reo-ab__btn-primary,.reo-ab__btn-ghost,.reopc-cta,.reo-cb__fab,.reo-sector-chip):is(:hover,:active) { transform: none; }
body.reo-guest-shell :is(.reo-hdr-btn,.reo-acta__btn,.reo-ab__btn-primary,.reo-ab__btn-ghost,.reopc-cta):focus-visible {
  outline: 3px solid #FB923C; outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  body.reo-guest-shell :is(.reo-hero-btn,.reo-hdr-btn,.reo-acta__btn,.reo-ab__btn-primary,.reo-ab__btn-ghost,.reopc-cta,.reo-cb__fab,.reo-sector-chip) { transition: none; }
  body.reo-guest-shell .reo-cb__fab i { animation: none; }
}

/* Compact wayfinding leaves the first screen to the actual page content. */
body.reo-guest-shell .reo-bc { padding-top: 40px !important; padding-bottom: 32px !important; }
body.reo-guest-shell .reo-bc .reo-bc-title {
  font-family: var(--reo-font-sans); font-size: clamp(24px, 2.6vw, 36px); font-weight: 500;
  line-height: 1.2; letter-spacing: -.02em; text-shadow: none;
}
body.reo-guest-shell .reo-bc .reo-bc-accent { margin-top: 14px; }
body.reo-guest-shell .reo-bc .reo-bc-trail { margin-top: 12px; }
body.reo-guest-shell .reo-bc .reo-bc-current { color: #B6C5D2; }
@media (max-width: 575px) {
  body.reo-guest-shell .reo-bc { padding-top: 28px !important; padding-bottom: 24px !important; }
  body.reo-guest-shell .reo-ab { padding-top: 32px; }
  body.reo-guest-shell .reo-ab__lead { line-height: 1.65; }
}

/* Shared Insights cards: retain the public navy palette wherever CMS includes them. */
body.reo-guest-shell .reo-blog-card,
body.reo-guest-shell .reo-blog-card__body {
  background: #103451 !important;
  border-color: #294459 !important;
}
body.reo-guest-shell .reo-blog-card__title { color: #FFFFFF !important; }
body.reo-guest-shell .reo-blog-card::before { background: #F97316; }
body.reo-guest-shell .reo-blog-card:is(:hover,:focus-within) { border-color: #F97316 !important; }
body.reo-guest-shell .reo-blog-card:focus-within::before { opacity: 1; }
body.reo-guest-shell .reo-blog-card__meta li { color: #B6C5D2; background: #071D33; border-color: #294459; }
body.reo-guest-shell .reo-blog-card__meta i { color: #B6C5D2; }
body.reo-guest-shell .reo-blog-end__mark { background: #F97316; }
body.reo-guest-shell .reo-blog-card__desc { color: #B6C5D2 !important; }
body.reo-guest-shell .reo-blog-card__more,
body.reo-guest-shell .reo-blog-card__title:hover { color: #F97316 !important; }
body.reo-guest-shell .reo-blog-card__more { border-color: #F97316; }
body.reo-guest-shell .reo-blog-card__more:is(:hover,:focus-visible) {
  background: #F97316; color: #071D33 !important; border-color: #F97316;
}
body.reo-guest-shell :is(.reo-blog-head,.reo-ab__hero) .reo-sec-head {
  background: #071D33; border-color: #54718A;
}

/* Article and related-content surfaces use the same palette as the Insights cards. */
body.reo-guest-shell nav.reo-bc { background: #071D33; border-color: #294459; }
body.reo-guest-shell .blog-item__title,
body.reo-guest-shell .blog-item__title a { color:#fff !important; }
body.reo-guest-shell .blog-item__title a:hover { color:#FB923C !important; }
body.reo-guest-shell .iag-contact-demo-note { color:#B6C5D2 !important; }
body.reo-guest-shell :is(.reo-contact-card__ic,.reo-contact-place__mark) { background: #103451; border-color: #54718A; }
body.reo-guest-shell :is(.reo-contact-card__ic,.reo-contact-place__mark) i { color: #B6C5D2; }
body.reo-guest-shell .reo-contact-card:hover { border-color: #F97316; box-shadow: none; }
body.reo-guest-shell .reo-contact-place::before { background: radial-gradient(circle, rgba(16,52,81,.2) 0%, rgba(16,52,81,0) 68%); }
body.reo-guest-shell .reo-contact-map__btn:hover { background: #103451; border-color: #F97316; }
body.reo-guest-shell .reo-bc__item span { color: #B6C5D2; }
body.reo-guest-shell .reo-bc__item a { color: #FB923C; }
body.reo-guest-shell .reo-bc__sep { color: #B6C5D2; }
body.reo-guest-shell .reo-bd__back:hover { color: #FB923C; }
body.reo-guest-shell .reo-ab__card-ic { color: #B6C5D2; background: #071D33; }
body.reo-guest-shell :is(.reo-bd__main,.reo-bd__side-card) {
  background: #103451; border-color: #294459;
}
body.reo-guest-shell :is(.reo-bd__title,.reo-bd__side-title,.reo-bd__rel-title,.reo-bd__share-lbl),
body.reo-guest-shell .reo-bd__content :is(h1,h2,h3,h4,h5,h6) { color: #FFFFFF; }
body.reo-guest-shell :is(.reo-bd__content,.reo-bd__meta,.reo-bd__rel-date) { color: #B6C5D2; }
body.reo-guest-shell .reo-bd__content :is(p,li,td,th,div,span,b,strong,em) { color: inherit !important; }
body.reo-guest-shell .reo-bd__content [style*="font-family"] { font-family: inherit !important; }
body.reo-guest-shell .reo-bd__content [style*="border-left"] { border-left-color: #F97316 !important; }
body.reo-guest-shell .reo-bd__content a,
body.reo-guest-shell .reo-bd__rel:hover .reo-bd__rel-title { color: #FB923C; }
body.reo-guest-shell .reo-bd__content a[style*="background"] {
  background: #F97316 !important; color: #071D33 !important;
}
body.reo-guest-shell .reo-bd__content blockquote {
  background: #071D33; color: #B6C5D2; border-left-color: #F97316;
}
body.reo-guest-shell :is(.reo-bd__share,.reo-bd__rel) { border-color: #294459; }
body.reo-guest-shell .reo-bd__share a {
  background: #071D33; color: #FB923C; border-color: #294459;
}
body.reo-guest-shell .reo-bd__share a:hover {
  background: #F97316; color: #071D33; border-color: #F97316;
}
body.reo-guest-shell :is(.reo-bd__share a,.reo-bd__rel,.reo-bd__back,.reo-bc__item a):focus-visible {
  outline: 3px solid #FB923C; outline-offset: 3px;
}

/* Project decoration: the shared template still emits literal inherited green fills.
   Rate figures, distribution charts, verification and social-service colours keep their meaning. */
body.reo-guest-shell .reopc-card {
  background: linear-gradient(135deg, rgba(84,113,138,.18), transparent 55%), #103451;
}
body.reo-guest-shell :is(.reo-sec-head--dark,.reo-tcell__ic,.reo-hiw__ic,.reo-hiw__legacy) {
  background: rgba(84,113,138,.18);
  border-color: #54718A;
}
body.reo-guest-shell .reo-rail__lead { background: #071D33; border-color: #54718A; }
body.reo-guest-shell .reopc-horizon-cycle { color: #FFFFFF; }
body.reo-guest-shell .reo-mgr { background: #103451; border-color: #294459; }
body.reo-guest-shell .reo-mgr__btn { border-color: #54718A; color: #FFFFFF; }
body.reo-guest-shell .reo-mgr__btn:hover { background: #173e5a; border-color: #54718A; }
body.reo-guest-shell .reo-social-btn { background: #103451 !important; color: #FFFFFF !important; border-color: #54718A !important; }
body.reo-guest-shell .reo-social-btn:is(.active,:hover,:focus) { background: #F97316 !important; color: #071D33 !important; border-color: #F97316 !important; }
body.reo-guest-shell .reo-social-btn:is(.active,:hover,:focus) i { color: #071D33 !important; }
/* Only an available project action receives primary styling; HOLD stays visibly inactive. */
body.reo-guest-shell .reo-rail__cta:not([aria-disabled="true"]):not(.is-disabled):not(.disabled) {
  background: #F97316; border-color: #F97316; color: #071D33; box-shadow: none;
}
body.reo-guest-shell .reo-rail__cta:not([aria-disabled="true"]):not(.is-disabled):not(.disabled):hover {
  background: #FB923C; color: #071D33;
}
body.reo-guest-shell :is(.reo-mgr__btn,.reo-social-btn,.reo-rail__cta):focus-visible {
  outline: 2px solid #FB923C; outline-offset: 4px;
}

/* Existing maintenance information keeps its white reading card within IAG navy. */
body.reo-guest-shell .reo-maintenance { background: #071D33; }
body.reo-guest-shell .reo-maintenance-card { box-shadow: 0 20px 60px rgba(7,29,51,.18); }
body.reo-guest-shell .reo-maintenance-icon { background: #103451; box-shadow: none; }
body.reo-guest-shell .reo-maintenance-eyebrow { background: #eef3f8; color: #103451; }
body.reo-guest-shell .reo-maintenance-title { color: #071D33; }
body.reo-guest-shell .reo-maintenance-sub { color: #334e61; }
body.reo-guest-shell .reo-maintenance-desc { background: #eef3f8; color: #334e61; }
body.reo-guest-shell .reo-maintenance-desc :is(strong,b) { color: #071D33; }
body.reo-guest-shell .reo-maintenance-help { background: #eef3f8; color: #103451; border-left-color: #103451; }
