/* Acquit appearance: original light composition, with a tonal navy counterpart.
   Brand artwork keeps its source colors; text and surfaces use semantic tokens. */
:root {
  color-scheme: light;
  --teal: #007a74;
  --blue: #2373b0;
  --theme-border: #b3c0ca;
  --theme-control: #e8edf1;
  --theme-thumb: #ffffff;
  --theme-active-ink: #071421;
  --theme-inactive-ink: #5d6f7d;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --ink: #eef3f6;
  --muted: #aebfcd;
  --ground: #071421;
  --surface: #122737;
  --rule: #2b4051;
  --teal: #72d7ca;
  --blue: #89c5f4;
  --theme-border: #536879;
  --theme-control: #102635;
  --theme-thumb: #e8f0f2;
  --theme-active-ink: #071421;
  --theme-inactive-ink: #aebfcd;
}

/* Three explicit choices keep device appearance visible beside manual modes. */
.header-actions { gap: 14px; }
.theme-control { flex: none; }
.theme-selector {
  display: inline-grid;
  grid-template-columns: repeat(3, 44px);
  border: 1px solid var(--theme-border);
  border-radius: 100px;
  background: var(--theme-control);
}
.theme-selector[hidden] { display: none; }
.theme-choice {
  position: relative;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--theme-inactive-ink);
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: color 160ms ease;
}
.theme-choice::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: inherit;
  background: var(--theme-thumb);
  box-shadow: 0 1px 3px #0714211f;
  opacity: 0;
  transform: scale(.88);
  transition: opacity 160ms ease, transform 200ms var(--ease);
}
.theme-choice[aria-checked="true"] { color: var(--theme-active-ink); }
.theme-choice[aria-checked="true"]::before { opacity: 1; transform: scale(1); }
.theme-choice:not([aria-checked="true"]):hover { color: var(--ink); }
.theme-choice:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.theme-choice svg {
  position: relative;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.theme-footer,
.footer-bottom > .theme-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 12px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.theme-auto {
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-decoration: underline;
  text-decoration-color: var(--theme-border);
  text-underline-offset: 4px;
  cursor: pointer;
}
.theme-auto:not([aria-disabled="true"]):hover { text-decoration-color: currentColor; }
.theme-auto[aria-disabled="true"] { color: var(--muted); text-decoration: none; cursor: default; }
.theme-auto:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
html[data-theme-preference="auto"] #theme-status { display: none; }

/* Dark surfaces have their own hierarchy, including the existing dark bands. */
html[data-theme="dark"] .site-header { border-color: #c5d9e81f; }
html[data-theme="dark"] .hero {
  background:
    radial-gradient(ellipse 65% 85% at 104% 34%, #2778b91a, transparent 75%),
    radial-gradient(ellipse 50% 65% at -4% 85%, #00a7a00c, transparent 74%),
    var(--ground);
}
html[data-theme="dark"] .hero-description { color: #b9c8d3; }
html[data-theme="dark"] .mobile-nav {
  background: #0d2030;
  box-shadow: 0 26px 35px -22px #000000b3;
}
html[data-theme="dark"] .button-primary,
html[data-theme="dark"] .button-light {
  background: #e6eff1;
  color: #071421;
}
html[data-theme="dark"] :is(.button-primary, .button-light):is(:hover, :focus-visible) {
  background: #ffffff;
  color: #071421;
  box-shadow: 0 8px 28px -12px #d8f1f02b;
}
html[data-theme="dark"] .button-outline { border-color: #607589; }
html[data-theme="dark"] .button-outline:is(:hover, :focus-visible) {
  border-color: #a6bdce;
  background: #152c3e;
}
html[data-theme="dark"] .scroll-cue { border-color: #577086; }
html[data-theme="dark"] .scroll-cue:hover { background: var(--surface); }
html[data-theme="dark"] .skip-link { background: #e6eff1; color: #071421; }
html[data-theme="dark"] ::selection { background: #ef5b755c; color: #ffffff; }
html[data-theme="dark"] .settled-assets { background: #0a1a28; }
html[data-theme="dark"] .asset-list img {
  border-radius: 50%;
  box-shadow: 0 0 0 1px #d2e4ef24;
}
html[data-theme="dark"] .ambition {
  background-color: #050f1b;
  border-bottom: 1px solid #243748;
  --ambition-rule: #ffffff29;
}
html[data-theme="dark"] .liquidity-figure {
  background: linear-gradient(145deg, #ffffff05, #ffffff00 64%), #0d2030;
  box-shadow: 0 24px 64px -40px #000000;
}
html[data-theme="dark"] .solutions { background: #091927; }
html[data-theme="dark"] .service-tabs button[aria-selected="false"] { color: #a3b6c5; }
html[data-theme="dark"] .service-tabs button[aria-selected="true"] { background-color: #ffffff04; }
html[data-theme="dark"] .service-tabs button[aria-selected="true"]::before { background: var(--teal); }
html[data-theme="dark"] .service-tabs button:hover { color: var(--ink); }
html[data-theme="dark"] .service-panel {
  background: #102333;
  box-shadow: 0 0 0 1px #b0cedd1f, 0 20px 48px -32px #00000066;
}
html[data-theme="dark"] :is(.service-art, .company-art) {
  background-color: #102434;
  background-image:
    radial-gradient(ellipse 100% 90% at 12% 4%, #91c5ef08, transparent 75%),
    radial-gradient(ellipse 85% 75% at 100% 100%, #2778b912, transparent 76%);
}
html[data-theme="dark"] .pay-art {
  background-color: #102931;
  background-image:
    radial-gradient(ellipse 100% 90% at 12% 4%, #91ddce06, transparent 75%),
    radial-gradient(ellipse 85% 75% at 100% 100%, #00a7a010, transparent 76%);
}
html[data-theme="dark"] .art-grid {
  background-image:
    linear-gradient(#c5d9e80a 1px, transparent 1px),
    linear-gradient(90deg, #c5d9e80a 1px, transparent 1px);
}
html[data-theme="dark"] .art-caption { color: #bbcedb; }
html[data-theme="dark"] .art-caption i { background-color: #738e9f66; }
html[data-theme="dark"] .institution-section {
  color: #eef3f6;
  background-color: #06121e;
  border-block: 1px solid #263b4b;
}
html[data-theme="dark"] .institution-intro .headline-accent { color: #72d7ca; }
html[data-theme="dark"] :is(.institution-intro .eyebrow, .institution-intro > p:not(.eyebrow), .list-label) { color: #b3c5d2; }
html[data-theme="dark"] .step-number,
html[data-theme="dark"] .steps article { border-color: #40586b; }
html[data-theme="dark"] .company-art {
  box-shadow: 0 0 0 1px #b0cedd1f, 0 20px 48px -32px #00000066;
}
/* The final invitation is deliberately quiet: pearl, navy and one coral dot. */
.closing {
  color: #071421;
  background: #eaf0f3;
  border-block: 1px solid #d5e0e7;
}
.closing::before { display: none; }
.closing .eyebrow { color: #526878; }
.closing h2 > span { color: var(--logo-coral); }
.closing > p:last-child { color: #465c6c; }
.closing-button {
  color: #f5f7fa;
  border-color: #071421;
  background: #071421;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.closing-button:is(:hover, :focus-visible) {
  color: #ffffff;
  border-color: #223c4f;
  background: #223c4f;
  transform: none;
}
.closing-button:focus-visible { outline: 2px solid #2373b0; outline-offset: 5px; }
.closing-button .icon-arrow { transition: translate 220ms var(--ease); }
html[data-theme="dark"] .closing {
  color: #eef3f6;
  background: #0e2232;
  border-color: #2b4051;
}
html[data-theme="dark"] .closing .eyebrow { color: #aec1d0; }
html[data-theme="dark"] .closing > p:last-child { color: #b9c9d5; }
html[data-theme="dark"] .closing-button {
  color: #071421;
  border-color: #e8f0f2;
  background: #e8f0f2;
}
html[data-theme="dark"] .closing-button:is(:hover, :focus-visible) {
  color: #071421;
  border-color: #ffffff;
  background: #ffffff;
}
html[data-theme="dark"] .closing-button:focus-visible { outline-color: #89c5f4; }
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .closing-button:hover .icon-arrow { translate: 3px -3px; }
}
@media (prefers-reduced-motion: no-preference) {
  .closing-button:focus-visible .icon-arrow { translate: 3px -3px; }
}
html[data-theme="dark"] .site-footer { background: #06111d; }

/* Enquiry UI: the toolbar, fields and ready-to-send state share the theme. */
html[data-theme="light"] #access-dialog :is(input, select, textarea) { border-color: #82909c; }
html[data-theme="light"] #access-dialog :is(input, select, textarea):hover { border-color: #6c8191; }
html[data-theme="light"] #access-dialog :is(input, select, textarea):focus-visible { border-color: var(--blue); }
html[data-theme="dark"] #access-dialog {
  background: #0e2232;
  border-color: #4b6275;
  box-shadow: 0 32px 100px #00000099, 0 4px 16px #00000033;
}
html[data-theme="dark"] dialog::backdrop { background: #020911c9; }
html[data-theme="dark"] .dialog-toolbar {
  background: #0e2232f5;
  border-color: #304659;
}
html[data-theme="dark"] #access-dialog .dialog-close {
  color: #eef3f6;
  background: #1a3245;
  border-color: #526d82;
}
html[data-theme="dark"] #access-dialog .dialog-close:is(:hover, :focus-visible) {
  background: #284659;
  border-color: #a4c6db;
  box-shadow: none;
}
html[data-theme="dark"] #access-dialog :is(input, select, textarea) {
  background: #081a29;
  border-color: #5d7588;
  color: #eef3f6;
  box-shadow: none;
}
html[data-theme="dark"] #access-dialog :is(input, textarea)::placeholder { color: #a4b6c5; }
html[data-theme="dark"] #access-dialog :is(input, select, textarea):hover { border-color: #8eabbe; }
html[data-theme="dark"] #access-dialog :is(input, select, textarea):focus-visible {
  border-color: var(--blue);
  box-shadow: 0 0 0 4px #89c5f418;
}
html[data-theme="dark"] #access-dialog :is(input, textarea):autofill {
  background: #173445;
  color: #eef3f6;
}
html[data-theme="dark"] #access-dialog #draft-preview {
  background: #081a29;
  border-color: #3b5265;
  color: #d8e5ed;
  box-shadow: none;
}
html[data-theme="dark"] #access-dialog #copy-status:not(:empty) {
  background: #72d7ca0d;
  color: #c1e9e3;
}

@media (max-width: 1200px) {
  .header-actions { gap: 12px; }
}
@media (min-width: 801px) and (max-width: 1000px) {
  .desktop-nav { gap: 16px; font-size: 15px; }
  .site-header .button-small { padding-inline: 16px; gap: 16px; }
}
@media (max-width: 560px) {
  .header-actions { gap: 8px; }
  .header-actions > .button { display: none; }
  .menu-toggle { width: 44px; }
  .site-header .wordmark.brand-lockup { font-size: 29px; letter-spacing: -1.2px; gap: 9px; }
  .site-header .brand-lockup img { width: 24px; }
}
@media (max-width: 360px) {
  .header-actions { gap: 8px; }
  .site-header .wordmark.brand-lockup { font-size: 23px; gap: 6px; }
  .site-header .brand-lockup img { width: 20px; }
}
@media (max-width: 340px) {
  .site-header { padding-inline: 12px; }
  .header-actions { gap: 6px; }
  .site-header .wordmark.brand-lockup { font-size: 21px; gap: 5px; }
  .site-header .brand-lockup img { width: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-choice,
  .theme-choice::before,
  .closing-button,
  .closing-button .icon-arrow { transition: none; }
}
@media (forced-colors: active) {
  .theme-selector { border-color: ButtonText; background: Canvas; }
  .theme-choice { color: CanvasText; }
  .theme-choice[aria-checked="true"] { color: HighlightText; forced-color-adjust: none; }
  .theme-choice::before { background: Highlight; forced-color-adjust: none; }
  .theme-choice:focus-visible { outline-color: Highlight; }
}
@media print {
  html[data-theme] {
    color-scheme: light;
    --ink: #071421;
    --muted: #52606c;
    --ground: #ffffff;
    --surface: #eef1f6;
    --rule: #dee4ec;
    --teal: #00807a;
    --blue: #2678b8;
  }
  .theme-control,
  .theme-footer,
  .menu-toggle,
  .mobile-nav { display: none !important; }
  html[data-theme] :is(.hero, .settled-assets, .solutions, .service-panel, .institution-section, .closing, .site-footer, .ambition) {
    color: #071421;
    background: #ffffff;
    border-color: #dee4ec;
    box-shadow: none;
  }
  html[data-theme] .ambition { --ambition-text: #071421; --ambition-muted: #52606c; --ambition-accent: #00807a; --ambition-rule: #dee4ec; }
  html[data-theme] :is(.service-art, .company-art, .liquidity-figure) { color: #071421; background: #eef1f6; box-shadow: none; }
  html[data-theme] :is(.hero-description, .art-caption, .institution-intro .eyebrow, .institution-intro > p:not(.eyebrow), .list-label, .closing > p:last-child) { color: #52606c; }
  html[data-theme] :is(.institution-intro .headline-accent, .closing .eyebrow) { color: #00807a; }
  html[data-theme] :is(.button-primary, .button-light) { color: #071421; background: #eef1f6; }
  html[data-theme] .service-tabs button[aria-selected="false"] { color: #52606c; }
  html[data-theme] .closing h2 > span { color: #071421; }
  html[data-theme] .closing-button { color: #071421; border-color: #52606c; background: #eef1f6; }
}
