/* Ambra / grafite: presentation only. Existing layout and behaviours are kept. */
body.theme-blue {
  --ink: #252A31;
  --accent: #2457A7;
  --deep: #252A31;
  --muted: #596575;
  --paper: #F4F5F7;
  --tint: #E8EDF4;
  --line: #CCD4DF;
  --white: #FFFFFF;
  --sage: #B8C8DF;
  --inverse-soft: #B8C8DF;
  --highlight: #E6AF51;
  --highlight-ink: #85520C;
  --highlight-soft: #F7E9CC;
}
.theme-blue h1, .theme-blue h2, .theme-blue h3 { color: var(--ink); }
.theme-blue h2 em { color: var(--accent); }
.theme-blue .button.primary, .theme-blue .nav-call {
  background: var(--highlight);
  border-color: var(--highlight);
  color: var(--ink);
}
.theme-blue .button.primary:hover, .theme-blue .nav-call:hover {
  background: var(--highlight);
  color: var(--ink);
  filter: brightness(.97);
}
.theme-blue .brand-icon { background: var(--accent); }
.theme-blue .brand-icon i { background: var(--paper); }
.theme-blue .brand-icon i:last-child { background: var(--highlight); }
.theme-blue .hero { position: relative; isolation: isolate; }
.theme-blue .hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: var(--deep);
  box-shadow: 0 0 0 100vmax var(--deep);
  clip-path: inset(0 -100vmax);
}
.theme-blue .hero h1, .theme-blue .hero-description { color: var(--paper); }
.theme-blue .hero h1 em { color: var(--highlight); }
.theme-blue .hero .eyebrow, .theme-blue .hero .call-note { color: var(--inverse-soft); }
.theme-blue .blue-stage { background: var(--tint); }
.theme-blue .principle-ownership { background: var(--deep); color: var(--paper); }
.theme-blue .principle-ownership h2,
.theme-blue .principle-ownership .principle-description { color: var(--paper); }
.theme-blue .principle-ownership h2 em,
.theme-blue .principle-ownership .eyebrow { color: var(--highlight); }
.theme-blue .principle-number { color: var(--highlight-ink); background: var(--highlight-soft); }
.theme-blue .principle-ownership .principle-number { color: var(--ink); background: var(--highlight); }
.theme-blue .owned-assets small, .theme-blue .ownership-outcome { color: var(--inverse-soft); }
.theme-blue .principle-zone { background: var(--paper); }
.theme-blue .zone-orbit { border-color: var(--sage); background: var(--tint); }
.theme-blue .zone-studio { border-color: var(--line); }
.theme-blue .zone-check { border-color: var(--tint); }
.theme-blue .zone-dot { background: var(--sage); border-color: var(--paper); }
.theme-blue .infographic, .theme-blue .infographic-open { background: var(--paper); }
.theme-blue .review-strip { padding-top: 10px; }
.theme-blue .review-featured { background: var(--accent); color: var(--paper); }
.theme-blue .review-featured h3,
.theme-blue .review-featured .quote-symbol { color: var(--paper); }
.theme-blue .review-featured .review-person p { color: var(--paper); opacity: .85; }
.theme-blue .review-mini { --mini-background: var(--tint); --mini-hover: #DDE5F0; }
.theme-blue .review-mini:nth-child(even) { --mini-background: #CCD4DF; --mini-hover: #C0CDDF; }
.theme-blue .review-mini:hover, .theme-blue .review:target { border-color: var(--sage); outline-color: var(--accent); }
.theme-blue .review-portrait { background: var(--tint); }
.theme-blue .commitment { background: var(--highlight-soft); }
.theme-blue .commitment-copy { border-left-color: var(--highlight-ink); }
.theme-blue .footer { background: var(--deep); color: var(--paper); }
.theme-blue .footer .brand, .theme-blue .footer .brand-icon i { color: var(--paper); }
.theme-blue .footer .brand-icon { background: var(--accent); border-color: var(--accent); }
.theme-blue .footer .brand-icon i { background: var(--paper); }
.theme-blue .footer .brand-icon i:last-child { background: var(--highlight); }
.theme-blue .footer-top > p, .theme-blue .footer-bottom { color: var(--inverse-soft); }
.theme-blue .mobile-call { background: var(--paper); border-color: var(--line); }

/* The live contact, confirmation and information dialogs share the palette. */
.theme-blue dialog { background: var(--paper); color: var(--ink); border-color: var(--line); }
.theme-blue dialog::backdrop { background: rgb(37 42 49 / 78%); }
.theme-blue .form-grid input { color: var(--ink); background: var(--white); border-color: var(--line); }
.theme-blue .form-grid input::placeholder { color: #687483; }
.theme-blue .consent > input { accent-color: var(--accent); }
.theme-blue .sender-card, .theme-blue .success-icon { background: var(--tint); }
.theme-blue .sender-card > strong, .theme-blue .success-icon { color: var(--accent); }
.theme-blue .close-button:hover { background: var(--tint); }
.theme-blue :is(button, a, input, [tabindex]):focus-visible { outline-color: var(--accent); }
.theme-blue .hero :is(button, a):focus-visible, .theme-blue .footer a:focus-visible { outline-color: var(--highlight); }
