/* Insolventa.co.uk — Mihail main-domain colour mapping, 4 November 2026.
 * Screen paint only: existing layout, typography, motion and markup stay intact.
 * Original print/forced-colour rules, third-party branding and functional
 * warning/error/status colours are deliberately preserved.
 */
@media screen and (forced-colors: none) {
  :root {
    --im-navy: #272C3F;
    --im-gold: #D28C0E;
    --im-white: #FFFFFF;
    --im-footer: #1B1F23;
    --im-surface: #F4F4F4;
    --im-body: #333333;
    --im-service: #102D5E;
    --im-heading: #202125;
    --im-muted: #48494C;
    --im-panel: #141318;
    --im-slate: #323A43;
    --im-light-text: #F3F3F3;
    --im-header-divider: #FCFCFC;
    --im-submenu-divider: #C4C4C4;
    --im-line: #DBDBDB;
    --im-control-border: #7C7C7C;
    --im-control-hover: #535456;
    --im-link: #124D7B;
    --im-soft-gold: #F3CA73;
    --im-amber: #FFD27F;
    --im-privacy-text: #172331;
    --im-privacy-control: #173B57;
    --im-privacy-border: #B7C2CB;
    --im-privacy-surface: #F0F4F7;
    --im-card-hover: rgba(232, 246, 255, 0.8);
    --im-footer-copy: rgba(255, 255, 255, 0.82);
    --im-footer-link: rgba(255, 255, 255, 0.88);
    --im-card-shadow: rgba(16, 45, 94, 0.17);
    --im-hover-tint: rgba(6, 63, 150, 0.07);
    --im-backdrop: #00000066;
    --im-hero-overlay: linear-gradient(135deg, #0D0D19 48%, rgba(53, 53, 66, 0.52) 40%);
    /* Equivalent background-layer alpha: 0.90 × 0.97 and 1.00 × 0.97.
       This preserves the existing CTA decorations and keeps text opaque. */
    --im-closing-overlay: linear-gradient(180deg, rgba(21, 26, 48, 0.873) 0%, rgba(7, 12, 38, 0.97) 100%);
    --ink: var(--im-navy);
    --deep: var(--im-navy);
    --text: var(--im-body);
    --muted: var(--im-muted);
    --line: var(--im-line);
    --cream: var(--im-surface);
    --mint: var(--im-surface);
    --gold: var(--im-gold);
  }

  body { background-color: var(--im-white); color: var(--im-body); }
  h1, h2, h3 { color: var(--im-heading); }
  a:hover { color: var(--im-link); }
  .eyebrow, .guide-card .label, .featured-card .label { color: var(--im-service); }
  .label, .news-row .label, .resource-card .label,
  .section-desc, .section-head .section-desc { color: var(--im-muted); }
  .section-head h2, .article-heading h1 { color: var(--im-heading); }
  .text-link, .read-link, .phone, .inline-links a,
  .prose a, .legacy-prose a, .notice a { color: var(--im-link); }
  .prose a:visited, .legacy-prose a:visited, .notice a:visited { color: var(--im-link); }
  .text-link:hover, .read-link:hover, .phone:hover, .inline-links a:hover,
  .prose a:hover, .legacy-prose a:hover, .notice a:hover { color: var(--im-service); }
  .prose p, .legacy-prose p { color: var(--im-body); }

  /* Header, existing logo shape and mobile navigation. */
  .topline { background-color: var(--im-slate); color: var(--im-light-text); }
  .topline a:hover { color: var(--im-soft-gold); }
  .header, .header.is-scrolled {
    background-color: var(--im-navy);
    color: var(--im-white);
    border-bottom-color: var(--im-header-divider);
  }
  .header.is-scrolled { box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); }
  .header .brand, .header .navigation a, .header .iconbutton { color: var(--im-white); }
  .header .brand-domain { color: var(--im-light-text); }
  .brandmark { background-color: var(--im-panel); color: var(--im-white); box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.2); }
  .brandmark span { color: var(--im-gold); }
  .header .navigation a:hover, .header .iconbutton:hover { color: var(--im-gold); }
  .navigation a:after, .navigation a:hover:after,
  .navigation a[aria-current=page]:after { background-color: var(--im-gold); }
  .navigation.mobile-open { background-color: var(--im-slate); border-bottom-color: var(--im-submenu-divider); }
  .header .navigation.mobile-open a:hover { color: var(--im-soft-gold); }
  .reading-progress span { background-color: var(--im-gold); box-shadow: 0 0 9px rgba(0, 0, 0, 0.2); }
  .skip { background-color: var(--im-navy); color: var(--im-white); }

  /* Gold labels are explicitly navy, including nested icons and hover states. */
  .button.dark, .button.pale,
  .hero-editorial .hero-buttons .button,
  .budget-result .button.pale {
    background-color: var(--im-gold);
    color: var(--im-navy);
  }
  .button.dark:hover, .button.pale:hover,
  .hero-editorial .hero-buttons .button:hover,
  .budget-result .button.pale:hover {
    background-color: var(--im-navy);
    color: var(--im-gold);
    border-color: var(--im-gold);
  }
  .button.dark:hover { box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12); }
  .button.outline { color: var(--im-service); border-color: var(--im-control-border); }
  .button.outline:hover { background-color: var(--im-surface); color: var(--im-service); border-color: var(--im-navy); }

  /* Existing hero layers; opacity never applies to the text container. */
  .hero { background-color: var(--im-surface); border-top-color: var(--im-line); }
  .hero-editorial { background-color: var(--im-navy); color: var(--im-white); }
  .hero-editorial:before { background-image: var(--im-hero-overlay); opacity: 0.93; }
  .hero-editorial:after {
    background-image: linear-gradient(#FFFFFF 1px, transparent 1px), linear-gradient(90deg, #FFFFFF 1px, transparent 1px);
  }
  .hero-edition { color: var(--im-light-text); }
  .hero-edition:after { background-color: rgba(255, 255, 255, 0.2); }
  .hero-editorial h1 { color: var(--im-white); }
  .hero-editorial h1 em { color: var(--im-soft-gold); }
  .hero-editorial .hero-copy>.eyebrow { color: var(--im-soft-gold); }
  .hero-editorial .live-dot { background-color: var(--im-gold); box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.12); }
  .hero-editorial .hero-copy>p { color: var(--im-footer-copy); }
  .hero-editorial .hero-buttons .button { box-shadow: 0 7px 23px rgba(0, 0, 0, 0.12); }
  .hero-editorial .text-link { color: var(--im-white); }
  .hero-editorial .text-link:hover { color: var(--im-soft-gold); }
  .hero-editorial .hero-proof { color: var(--im-footer-link); }
  .hero-editorial .hero-proof svg { color: var(--im-gold); }
  .hero-editorial .divider { background-color: var(--im-submenu-divider); }
  .hero-quicklinks { border-top-color: rgba(255, 255, 255, 0.2); }
  .hero-quicklinks a { color: var(--im-white); border-bottom-color: rgba(255, 255, 255, 0.2); }
  .hero-quicklinks a>span, .hero-quicklinks svg { color: var(--im-soft-gold); }
  .hero-quicklinks a:hover, .hero-quicklinks a:hover svg { color: var(--im-amber); }

  .navigator { color: var(--im-body); background-color: var(--im-white); border-color: var(--im-line); box-shadow: 0 28px 70px rgba(0, 0, 0, 0.3); }
  .navigator-heading { color: var(--im-muted); border-bottom-color: var(--im-line); }
  .navigator-icon { color: var(--im-service); }
  .navigator-dot { background-color: var(--im-gold); }
  .navigator-tabs button { color: var(--im-muted); }
  .navigator-tabs button[aria-selected=true] { background-color: var(--im-navy); color: var(--im-white); box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12); }
  .navigator-tabs button:hover:not([aria-selected=true]) { background-color: var(--im-surface); color: var(--im-navy); }
  .navigator .navigator-panel>p { color: var(--im-body); }
  .navigator-links { border-top-color: var(--im-line); }
  .navigator-links>a { color: var(--im-link); border-bottom-color: var(--im-line); }
  .navigator-links>a:hover, .navigator-links svg { color: var(--im-service); }
  .navigator-number { color: var(--im-muted); }
  .navigator-cta { background-color: var(--im-gold); color: var(--im-navy); }
  .navigator-cta:hover { background-color: var(--im-navy); color: var(--im-gold); }
  .navigator-footer { background-color: var(--im-surface); color: var(--im-muted); border-top-color: var(--im-line); }

  /* Reading surfaces and cards, with no changes to their geometry. */
  .trustline { background-color: var(--im-surface); border-bottom-color: var(--im-line); }
  .trustline .wrap>span, .trustline .wrap>strong { color: var(--im-muted); }
  .path-card { border-color: var(--im-line); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12); }
  .mint, .sand, .lavender { background-image: linear-gradient(140deg, #FFFFFF, #F4F4F4); }
  .path-card:before, .path-card:nth-child(3):before { background-color: var(--im-service); }
  .path-card:nth-child(2):before { background-color: var(--im-gold); }
  .path-card>div svg { color: var(--im-service); }
  .path-card>div>span, .path-card p { color: var(--im-muted); }
  .path-card strong { color: var(--im-link); border-top-color: var(--im-line); }
  .path-card:hover { color: var(--im-body); border-color: var(--im-service); box-shadow: 0 16px 35px var(--im-card-shadow); }
  .featured-grid, .guide-card, .news-card, .help-card, .resource-card { background-color: var(--im-white); }
  .feature-number { color: var(--im-muted); }
  .featured-card:hover, .guide-card:hover { background-color: var(--im-card-hover); color: var(--im-body); }
  .guide-card:hover { border-color: var(--im-service); box-shadow: 0 12px 30px var(--im-card-shadow); }
  .news-card { box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12); }
  .news-card:hover { color: var(--im-body); box-shadow: 0 19px 35px var(--im-card-shadow); }
  .tone-0 { background-color: var(--im-service); color: var(--im-white); }
  .tone-1 { background-color: var(--im-navy); color: var(--im-white); }
  .tone-2 { background-color: var(--im-surface); color: var(--im-service); }
  .news-visual .label { color: inherit; }
  .news-visual:before, .news-visual:after { border-color: rgba(0, 0, 0, 0.2); }
  .tone-2:before, .tone-2:after { border-color: var(--im-line); }

  .tool-band { background-color: var(--im-navy); color: var(--im-white); }
  .tool-band:before { background-image: radial-gradient(ellipse at 100% 50%, var(--im-hover-tint), transparent 65%); }
  .tool-inner h2 { color: var(--im-white); }
  .tool-inner .eyebrow, .tool-inner h2 em { color: var(--im-soft-gold); }
  .tool-inner p { color: var(--im-footer-copy); }
  .budget-art { background-color: var(--im-service); border-color: var(--im-submenu-divider); box-shadow: 0 24px 55px rgba(0, 0, 0, 0.3); }
  .budget-title, .budget-art>div span:first-child { color: var(--im-soft-gold); }
  .budget-art>div:not(:first-child) { border-bottom-color: rgba(255, 255, 255, 0.2); }
  .budget-art strong { color: var(--im-white); }
  .budget-art>p { color: var(--im-footer-copy); }
  .faq-section { border-top-color: var(--im-line); }
  .faqs details[open] { background-color: var(--im-surface); }
  .faqs summary span { color: var(--im-service); }
  .closing { background-color: var(--im-panel); background-image: var(--im-closing-overlay); color: var(--im-white); border-color: var(--im-navy); }
  .closing h2 { color: var(--im-white); }
  .closing .eyebrow { color: var(--im-soft-gold); }
  .closing p { color: var(--im-footer-copy); }
  .closing:before, .closing:after { border-color: rgba(255, 255, 255, 0.12); }

  footer { background-color: var(--im-footer); color: var(--im-white); }
  footer .brand { color: var(--im-white); }
  footer .brandmark { background-color: var(--im-navy); box-shadow: none; }
  footer .brand-domain { color: var(--im-light-text); }
  .footer-top p, .footer-bottom p { color: var(--im-footer-copy); }
  .footer-top>div>strong { color: var(--im-white); }
  .footer-top>div>a:not(.brand) { color: var(--im-footer-link); }
  .footer-top>div>a:hover { color: var(--im-gold) !important; }
  .footer-bottom { border-top-color: var(--im-submenu-divider); }

  .page-intro { background-image: linear-gradient(145deg, #F4F4F4, #FFFFFF); border-bottom-color: var(--im-line); }
  .notice { background-color: var(--im-surface); border-left-color: var(--im-gold); }
  .aside-help { background-color: var(--im-surface); border-color: var(--im-line); }
  .review-note, .editorial-note, .orientation-result, .migration-fact { background-color: var(--im-surface); border-color: var(--im-line); }
  .resource-card { border-top-color: var(--im-service); }
  .help-card>svg { color: var(--im-service); }
  thead { background-color: var(--im-navy); color: var(--im-white); }
  tbody th { background-color: var(--im-surface); }

  /* Field boundaries deliberately use source grey 7C7C7C, not decorative DBDBDB. */
  input, select, textarea { color: var(--im-body); background-color: var(--im-white); border-color: var(--im-control-border); }
  input::placeholder, textarea::placeholder { color: var(--im-muted); }
  .search-input, .money-input { background-color: var(--im-white); border-color: var(--im-control-border); }
  .search-input input, .money-input input { background-color: transparent; }
  .money-input>span { color: var(--im-muted); }
  .search-input:focus-within, .money-input:focus-within { border-color: var(--im-navy); }
  .money-input:has(input[aria-invalid=true]) { border-color: #A12630; }
  .chip { background-color: var(--im-white); color: var(--im-muted); border-color: var(--im-control-border); }
  .chip.active { background-color: var(--im-navy); color: var(--im-white); border-color: var(--im-navy); }
  .chip:hover:not(.active) { background-color: var(--im-surface); color: var(--im-navy); border-color: var(--im-navy); }
  .budget-result { background-color: var(--im-service); color: var(--im-white); border-color: var(--im-service); box-shadow: 0 15px 35px var(--im-card-shadow); }
  .budget-result h3 { color: var(--im-white); }
  .budget-result .eyebrow { color: var(--im-soft-gold); }
  .budget-result p, .budget-result small { color: var(--im-footer-copy); }
  .budget-result dl div { border-bottom-color: rgba(255, 255, 255, 0.2); }
  .budget-result .plain-button:hover { color: var(--im-soft-gold); }
  .budget-result[aria-invalid=true] { border-color: #F1C3C5; }
  .result-hint { background-color: rgba(255, 255, 255, 0.12); }
  .search-overlay { background-color: var(--im-backdrop); }
  .search-dialog { background-color: var(--im-white); color: var(--im-body); }
  .search-results>a { color: var(--im-link); }
  .search-results>a:hover { color: var(--im-service); }

  /* Existing white inner ring + navy outer outline, preserving geometry. */
  button:focus-visible, a:focus-visible, input:focus-visible,
  select:focus-visible, textarea:focus-visible, summary:focus-visible,
  [tabindex]:focus-visible { outline-color: var(--im-navy); box-shadow: 0 0 0 4px #FFFFFF; }
  main[tabindex]:focus-visible { outline-color: var(--im-navy); box-shadow: none; }
  .search-input input:focus-visible { outline-color: var(--im-navy); }
  .button:focus-visible, .button:focus-visible:hover,
  .navigator-tabs button[aria-selected]:focus-visible,
  .path-card:focus-visible, .guide-card:focus-visible,
  .news-card:focus-visible { box-shadow: 0 0 0 4px #FFFFFF; }

  /* Higher specificity overrides the existing late inline privacy paint only. */
  body .im-analytics-settings { background-color: var(--im-privacy-surface); color: var(--im-privacy-text); }
  body .im-analytics-settings button { color: var(--im-link); }
  body .im-analytics-notice { background-color: var(--im-white); color: var(--im-privacy-text); border-color: var(--im-privacy-border); box-shadow: 0 5px 28px rgba(0, 0, 0, 0.2); }
  body .im-analytics-notice h2, body .im-analytics-notice p { color: var(--im-privacy-text); }
  body .im-analytics-notice a { color: var(--im-link); }
  body .im-analytics-actions button { background-color: var(--im-privacy-control); color: var(--im-white); border-color: var(--im-privacy-control); }
  body .im-analytics-actions button:hover { background-color: var(--im-control-hover); color: var(--im-white); border-color: var(--im-control-hover); }
  body .im-analytics-notice :focus-visible,
  body .im-analytics-settings button:focus-visible { outline-color: var(--im-navy); box-shadow: 0 0 0 4px #FFFFFF; }
}
