/* Source: ic-v17-unified-black-premium-fix */
/* =========================================================
   V17 — TRUE PREMIUM BLACK AUDIT
   Goal: one single black surface (#151515) across nav, hero,
   and the following dark block. No gradients, no seams, no
   darker panels, no pseudo-element overlays that recreate bands.
   ========================================================= */
:root{
  --ic-bg:#151515 !important;
  --ic-bg-2:#151515 !important;
  --ic-black:#151515 !important;
  --ic-paper:#F6F2EB !important;
  --ic-muted:rgba(246,242,235,.56) !important;
  --ic-line:transparent !important;
  --footer-bg:#151515 !important;
  --footer-fg:#F6F2EB !important;
  --footer-line:transparent !important;
  --banner-bg:#151515 !important;
  --banner-color:#F6F2EB !important;
  --banner-border:transparent !important;
}

html,
body,
main,
.nav,
.intro,
.about-hero,
.about-hero-premium,
.footer,
.footer-redesign,
.footer-redesign-inner,
.partners-section,
section.intro{
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}

/* remove the subtle horizontal bands/seams created by pseudo-elements */
.nav::before,
.nav::after,
.intro::before,
.intro::after,
.about-hero::before,
.about-hero::after,
.about-hero-premium::before,
.about-hero-premium::after,
.footer::before,
.footer::after,
.footer-redesign::before,
.footer-redesign::after,
.partners-section::before,
.partners-section::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  background:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
}

/* keep the hero premium, but stop the background from shifting black tones */
.about-hero-premium{
  background:#ffffff !important;
  min-height:calc(100svh - 104px) !important;
}

/* the bottom line was mainly a seam between hero and the next block */
.about-hero-premium + *,
.intro + *,
.footer-redesign,
.footer,
.partners-section{
  margin-top:-1px !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:#ffffff !important;
  border-top:0 !important;
}

/* remove internal divider rules while preserving spacing */
.about-hero-jump,
.editorial-jump,
.footer-grid,
.footer-redesign-bottom,
.footer-follow,
.footer-socials::before,
.service,
.service:last-child,
.process-list,
.process-item,
.process-footer,
.quote-meta,
.news-card,
.news-tool-left{
  border:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* UI chips keep their outline; the large page block does not. */
.pill,
.menu-toggle,
.news-tool-trigger,
.news-tool-panel,
.history-cta{
  border-color:rgba(21,21,21,.28) !important;
}

/* text stays premium and consistent on the unified black */
.about-hero-kicker,
.about-hero-signature,
.about-hero-jump span,
.about-hero-jump a{
  color:#151515 !important;
}
.about-hero-statement{
  color:#151515 !important;
}
.about-hero-premium h1{
  color:#151515 !important;
}

/* Avoid image glow creating a fake darker/lighter rectangular block. */
.about-hero-visual::before,
.about-hero-visual::after{
  content:none !important;
  display:none !important;
  background:#ffffff !important;
}

/* Firefox/Chrome sub-pixel anti-seam insurance */
.intro,
.about-hero-premium,
.footer,
.footer-redesign,
.partners-section{
  transform:translateZ(0) !important;
  backface-visibility:hidden !important;
}

/* Source: ic-v18-true-single-black-and-no-footer-peek */
/* =========================================================
   V18 — TRUE SINGLE BLACK SURFACE
   Final correction: the darker band was not a border; it was the
   next footer block peeking into the first viewport + residual
   background overlays. This makes nav/hero/footer one single black
   and pushes the footer below the opening frame.
   ========================================================= */
:root{
  --ic-black:#151515 !important;
  --ic-bg:#151515 !important;
  --ic-bg-2:#151515 !important;
  --ic-paper:#F6F2EB !important;
  --footer-bg:#151515 !important;
  --footer-fg:#F6F2EB !important;
  --footer-line:transparent !important;
  --banner-bg:#151515 !important;
  --banner-color:#F6F2EB !important;
  --banner-border:transparent !important;
}

html, body, main, header.nav,
section#top.about-hero-premium,
.footer-redesign,
.footer-redesign-inner,
.footer-redesign-main,
.footer-brand-block,
.footer-nav-block{
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:#ffffff !important;
  border:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}

/* Kill every possible pseudo-element seam around the opening block */
html::before, html::after,
body::before, body::after,
main::before, main::after,
header.nav::before, header.nav::after,
section#top.about-hero-premium::before,
section#top.about-hero-premium::after,
section#top.about-hero-premium .about-hero-copy::before,
section#top.about-hero-premium .about-hero-copy::after,
section#top.about-hero-premium .about-hero-jump::before,
section#top.about-hero-premium .about-hero-jump::after,
.footer-redesign::before,
.footer-redesign::after,
.footer-redesign-inner::before,
.footer-redesign-inner::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  background:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
}

/* The footer was visible at the bottom of the first viewport and looked
   like a different black. Make the hero cover the complete opening frame. */
section#top.about-hero-premium{
  min-height:calc(100svh - 104px + 120px) !important;
  margin:0 !important;
  padding-bottom:clamp(70px,8vh,110px) !important;
  isolation:isolate !important;
}

section#top.about-hero-premium + .footer-redesign{
  margin-top:0 !important;
  background:#ffffff !important;
  border:0 !important;
}

/* Remove the last visible separator-like rules inside footer/next block */
.footer-redesign *,
.footer-grid,
.footer-redesign-bottom,
.footer-follow,
.footer-socials,
.footer-socials::before,
.footer-col,
.footer-col h3,
.footer-col ul,
.footer-col li{
  border:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* Keep only deliberate UI outlines, not structural borders */
.pill,
.menu-toggle,
.news-tool-trigger{
  border-color:rgba(21,21,21,.28) !important;
}

/* Prevent fixed grain/overlays from creating different black patches */
.grain{
  opacity:.08 !important;
  mix-blend-mode:normal !important;
}

/* Source: ic-v19-absolute-single-black-clean */
/* =========================================================
   V19 — ABSOLUTE SINGLE BLACK CLEANUP
   Goal: the hero black is EXACTLY the same black as navbar/footer.
   Removes all overlays, gradients, grain, pseudo-elements and blend modes
   that visually created several blacks.
   ========================================================= */
:root{
  --ic-black:#151515 !important;
  --ic-bg:#151515 !important;
  --ic-bg-2:#151515 !important;
  --ic-paper:#F6F2EB !important;
  --paper:#ffffff;
  --ink:#151515;
  --dark:#ffffff;
  --footer-bg:#151515 !important;
  --footer-fg:#F6F2EB !important;
  --footer-line:transparent !important;
  --banner-bg:#151515 !important;
  --banner-color:#F6F2EB !important;
  --banner-border:transparent !important;
}

html,
body,
main,
header,
.nav,
section,
section#top,
.intro,
.about-hero,
.about-hero-premium,
.about-hero-copy,
.about-hero-visual,
.about-hero-jump,
.footer,
.footer-redesign,
.footer-redesign-inner,
.footer-redesign-main,
.partners-section{
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:#ffffff !important;
  background-attachment:initial !important;
  background-blend-mode:normal !important;
  border:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}

/* The grain/texture was creating visible black differences. */
.grain,
.ic-cursor-glow,
.editorial-image,
.marquee,
.about-logo-reveal,
.hero-knot{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  background:#ffffff !important;
  background-image:#ffffff !important;
}

/* Kill every pseudo overlay/seam that can tint the hero. */
html::before, html::after,
body::before, body::after,
main::before, main::after,
header::before, header::after,
.nav::before, .nav::after,
section::before, section::after,
section#top::before, section#top::after,
.intro::before, .intro::after,
.about-hero::before, .about-hero::after,
.about-hero-premium::before, .about-hero-premium::after,
.about-hero-copy::before, .about-hero-copy::after,
.about-hero-visual::before, .about-hero-visual::after,
.about-hero-jump::before, .about-hero-jump::after,
.footer::before, .footer::after,
.footer-redesign::before, .footer-redesign::after,
.footer-redesign-inner::before, .footer-redesign-inner::after,
.footer-redesign-main::before, .footer-redesign-main::after,
.partners-section::before, .partners-section::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  background:#ffffff !important;
  background-image:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
}

/* Keep the opening frame as one uninterrupted black surface. */
section#top.about-hero-premium,
.about-hero-premium{
  min-height:calc(100svh - 104px) !important;
  margin:0 !important;
  isolation:auto !important;
  overflow:hidden !important;
}

/* No footer peek, no contrast band below hero. */
section#top.about-hero-premium + *,
.about-hero-premium + *,
.footer-redesign,
.footer-redesign *,
.footer,
.footer *{
  background-color:#ffffff !important;
  background-image:#ffffff !important;
  border-color:rgba(21,21,21,.28) !important;
  box-shadow:none !important;
}

/* Remove structural rules everywhere, while preserving spacing. */
.about-hero-jump,
.editorial-jump,
.footer-grid,
.footer-redesign-bottom,
.footer-follow,
.footer-socials,
.footer-socials::before,
.service,
.service:last-child,
.process-list,
.process-item,
.process-footer,
.quote-meta,
.news-card,
.news-tool-left{
  border:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* Buttons can keep their visible outlines; they are UI, not layout blocks. */
.pill,
.menu-toggle,
.news-tool-trigger,
.history-cta{
  border-color:rgba(21,21,21,.28) !important;
}

/* Photo should not generate a fake rectangle/shadow on the black background. */
.about-hero-visual,
.about-hero-portrait,
.about-hero-visual img{
  box-shadow:none !important;
  background:#ffffff !important;
}

/* Sub-pixel seam protection. */
.nav,
.about-hero-premium,
.footer-redesign,
.footer{
  transform:translateZ(0) !important;
  backface-visibility:hidden !important;
}

/* Source: ic-v20-single-black-no-child-panels */
/* =========================================================
   V20 — SINGLE BLACK CLEAN + FOOTER FIX
   Fixes v19 issue: child elements inside the footer were forced
   to have their own #151515 background, creating grey boxes.
   We now apply the single black ONLY to real layout containers,
   and reset footer/nav text children to transparent backgrounds.
   ========================================================= */
:root{
  --ic-single-black:#151515 !important;
  --ic-paper:#F6F2EB !important;
  --paper:#ffffff;
  --ink:#151515;
  --dark:#ffffff;
  --footer-bg:#151515 !important;
  --footer-fg:#F6F2EB !important;
  --footer-line:transparent !important;
  --banner-bg:#151515 !important;
  --banner-color:#F6F2EB !important;
  --banner-border:transparent !important;
}

html,
body{
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:#ffffff !important;
}

.nav,
main,
section#top,
.about-hero,
.about-hero-premium,
.about-hero-copy,
.footer,
.footer-redesign,
.footer-redesign-inner,
.footer-redesign-main,
.footer-nav-block,
.footer-brand-block,
.footer-redesign-bottom{
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:#ffffff !important;
  background-blend-mode:normal !important;
  border:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}

/* Critical footer correction: no grey panels behind text. */
.footer-redesign *,
.footer *,
.footer-col,
.footer-col *,
.footer-follow,
.footer-follow *,
.footer-socials,
.footer-socials *,
.footer-redesign-bottom,
.footer-redesign-bottom *,
.footer-legal-links,
.footer-legal-links *,
.footer-nav-block,
.footer-nav-block *,
.footer-brand-block{
  background:transparent !important;
  background-color:transparent !important;
  background-image:#ffffff !important;
  box-shadow:none !important;
  border-color:rgba(21,21,21,.28) !important;
}

/* Keep the footer itself black, not its children. */
.footer,
.footer-redesign,
.footer-redesign-inner,
.footer-redesign-main,
.footer-redesign-bottom{
  background:#ffffff !important;
  color:#151515 !important;
}

.footer-redesign .footer-col h3,
.footer-redesign .footer-col li,
.footer-redesign .footer-col a,
.footer-follow h3,
.footer-socials a,
.footer-redesign-bottom,
.footer-redesign-bottom a{
  color:#151515 !important;
}

/* Hero: remove the remaining visual tinting overlays without touching layout. */
.about-hero-premium::before,
.about-hero-premium::after,
.about-hero-copy::before,
.about-hero-copy::after,
.about-hero-visual::before,
.about-hero-visual::after,
section#top::before,
section#top::after,
.nav::before,
.nav::after,
.footer-redesign::before,
.footer-redesign::after{
  content:none !important;
  display:none !important;
  background:#ffffff !important;
  background-image:#ffffff !important;
  opacity:0 !important;
  box-shadow:none !important;
  border:0 !important;
}

/* Disable the progress line / cursor glow that was visually polluting screenshots. */
.ic-progress,
.ic-cursor-glow,
.grain{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}

/* Keep only intentional UI outlines. */
.pill,
.menu-toggle,
.news-tool-trigger{
  background:transparent !important;
  border-color:rgba(21,21,21,.28) !important;
}

/* Avoid footer appearing as a different black because of child overlays. */
.footer-redesign .footer-logo,
.footer-redesign .footer-logo-img{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
}

/* Source: ic-v22-single-black-surgical-fix */
/* =========================================================
   V22 — SURGICAL SINGLE BLACK FIX
   Base file preserved. Only visible dark backgrounds are
   unified to one black (#151515). No layout, navbar, footer,
   spacing, logo, or component structure is changed.
   ========================================================= */
:root{
  --ic-black:#151515 !important;
  --ic-paper:#F6F2EB !important;
  --ic-muted:rgba(246,242,235,.58) !important;
  --ink:#151515;
  --dark:#ffffff;
  --paper:#ffffff;
  --footer-bg:#151515 !important;
  --footer-fg:#F6F2EB !important;
  --footer-line:transparent !important;
  --banner-bg:#151515 !important;
  --banner-color:#F6F2EB !important;
  --banner-border:transparent !important;
}

/* One single rendered black for the visible dark shell */
html,
body,
main,
.nav,
.about-hero-premium,
.intro,
.footer,
.footer-redesign,
.footer-redesign-inner,
.footer-redesign-main,
.footer-redesign-bottom{
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:#ffffff !important;
  background-blend-mode:normal !important;
  box-shadow:none !important;
}

/* Keep the real content transparent so no grey panels appear */
.about-hero-copy,
.about-hero-visual,
.about-hero-jump,
.footer-brand-block,
.footer-nav-block,
.footer-col,
.footer-follow,
.footer-socials,
.footer-legal-links{
  background:transparent !important;
  background-color:transparent !important;
  background-image:#ffffff !important;
  box-shadow:none !important;
}

/* Remove only the overlays/seams that altered the black */
.nav::before,.nav::after,
.about-hero-premium::before,.about-hero-premium::after,
.about-hero-copy::before,.about-hero-copy::after,
.about-hero-visual::before,.about-hero-visual::after,
.about-hero-jump::before,.about-hero-jump::after,
.intro::before,.intro::after,
.footer::before,.footer::after,
.footer-redesign::before,.footer-redesign::after,
.footer-redesign-inner::before,.footer-redesign-inner::after,
.footer-redesign-main::before,.footer-redesign-main::after,
.footer-redesign-bottom::before,.footer-redesign-bottom::after,
.footer-socials::before{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  background:#ffffff !important;
  background-image:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
}

/* No horizontal divider between hero/footer blocks */
.about-hero-premium,
.about-hero-jump,
.footer,
.footer-redesign,
.footer-redesign-inner,
.footer-redesign-main,
.footer-redesign-bottom{
  border-top:0 !important;
  border-bottom:0 !important;
  outline:0 !important;
}

/* Footer text stays readable, but footer layout is untouched */
.footer-redesign,
.footer-redesign h3,
.footer-redesign li,
.footer-redesign a,
.footer-redesign span,
.footer-redesign-bottom,
.footer-redesign-bottom a{
  color:#151515 !important;
}

/* Keep existing UI outlines; only make the background transparent */
.pill,
.menu-toggle,
.news-tool-trigger{
  background:transparent !important;
}

/* Remove only page-wide visual noise that changes perceived black */
.grain,
.ic-progress,
.ic-cursor-glow{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}

/* =========================================================
   V30 — FINAL COLOR HARMONIZATION WITH INDEX PALETTE
   Palette: black #151515 / beige #F6F2EB / red #9d1000 / one muted grey
   This block intentionally overrides old violet, acid green, brown and light grey
   without changing structure, JS, panels or layout.
   ========================================================= */
:root{
  --violet:#ffffff;
  --violet-2:#ffffff;
  --acid:#ffffff;
  --ink:#151515;
  --paper:#ffffff;
  --red:#151515;
  --dark:#ffffff;
  --muted:rgba(21,21,21,.58);
  --line:rgba(21,21,21,.18);
  --text-muted-light:rgba(246,242,235,.58) !important;
  --text-muted-dark:rgba(21,21,21,.58) !important;
}

/* Neutralize legacy color sections */
.image-stage,
.services,
.impact,
.process,
.projects{
  background:#ffffff !important;
  color:#151515 !important;
}

.quote,
.history-panel,
.news-tool-panel,
.page-cinema-fade{
  background:#ffffff !important;
  color:#151515 !important;
}

/* Remove legacy colored glows / gradients */
.impact::after,
.process::before,
.projects,
.quote::before,
.news-thumb,
.card::before,
.card::after{
  background:#ffffff !important;
}

.card::before,
.card::after{
  display:none !important;
}

/* Text normalization */
.body,
.clean-copy,
.service p,
.impact-note,
.process-item p,
.news-card p{
  color:#151515 !important;
}

.editorial-title,
.editorial-title strong,
.about-testimonial-quote,
.history-lead,
.history-text,
.quote p{
  color:#151515 !important;
}

.quote-kicker,
.about-testimonial-quote span,
.history-source span{
  color:#151515 !important;
}

/* Accent normalization */
.label,
.impact::before,
.process-kicker,
.quote-label,
.news-tool-kicker,
.news-clock,
.news-card small{
  color:#151515 !important;
}

.ic-progress{
  background:#ccff00 !important;
  box-shadow:0 0 18px rgba(157,16,0,.35) !important;
}

.ic-cursor-glow{
  background:#ffffff !important;
}

/* Component backgrounds */
.stage-card,
.card,
.process-visual{
  background:#ffffff !important;
  color:#151515 !important;
  box-shadow:none !important;
}

.service:hover,
.news-card:hover{
  background:#ffffff !important;
}

.service::before{
  background:#ffffff !important;
}

/* Process module */
.process-title,
.process-item summary,
.process-footer{
  color:#151515 !important;
}

.process-list,
.process-item,
.process-footer{
  border-color:rgba(21,21,21,.28) !important;
}

.process-item summary::after,
.process-cta{
  border-color:rgba(21,21,21,.28) !important;
  color:#151515 !important;
}

.process-item[open] summary::after,
.process-cta:hover{
  background:#ffffff !important;
  color:#151515 !important;
}

/* News panel */
.news-tool-trigger,
.news-tool-tabs button,
.news-tool-close,
.news-clock,
.news-date,
.news-play{
  background:#ffffff !important;
  color:#151515 !important;
  border-color:rgba(21,21,21,.28) !important;
}

.news-tool-tabs button:hover,
.news-tool-tabs button.is-active,
.news-tool-trigger:hover{
  background:#ffffff !important;
  border-color:rgba(21,21,21,.28) !important;
}

.news-tool-all:hover,
.news-play:hover,
.news-tool-close:hover{
  background:#ffffff !important;
  color:#151515 !important;
  border-color:rgba(21,21,21,.28) !important;
}

/* Floating CTA */
.floating-talk:hover{
  background:#ffffff !important;
  color:#151515 !important;
  border-color:rgba(21,21,21,.28) !important;
}

/* Footer and panel lines */
.footer-redesign,
.footer,
.footer-redesign-bottom,
.footer-socials::before{
  --footer-bg:#151515 !important;
  --footer-fg:#F6F2EB !important;
  --footer-line:rgba(246,242,235,.12) !important;
  --footer-hover:#F6F2EB !important;
}

/* Buttons / menu hover should no longer fall back to violet */
.nav,
.section-menu{
  --banner-hover-color:#F6F2EB !important;
  --banner-hover-bg:#151515 !important;
  --banner-border:rgba(21,21,21,.12) !important;
}

.intro,
.editorial-image,
.history-panel,
.history-close,
.history-mark,
.history-photo{
  background:#ffffff !important;
}

