
/* RAPCO2 NEXT V6.5 · Brand identity: BLUE / BLACK / RED.
   Inspired by the clean, deliberate hierarchy of Shopify's Inter-based marketing typography.
   Inter is libre; no proprietary font assets are redistributed. */
:root{
  --site-background:#F2F5FB;--ink:#101827;--ink-2:#1D2D49;--muted:#61708A;
  --green:#2E63D8;--green-dark:#1F4CAA;--green-soft:#E4EDFD;
  --blue:#2E63D8;--red:#E73646;--black:#080E19;
  --line:rgba(20,40,78,.14);--line-strong:rgba(20,40,78,.24);
  --page-accent-rgb:46,99,216;
}
body,button,input,textarea,select{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif}
body{font-optical-sizing:auto;font-feature-settings:'cv11' 1,'ss01' 1}
/* No ornamental italics. Only explicit scientific terms remain italic. */
.app-page em,.app-page i:not(.bh-carbon__orb i):not(.bh-connection i):not(.nv-bridge__connector i){font-style:normal}
.app-page em.science-term,.app-page i.science-term{font-style:italic!important;font-family:Inter,system-ui,sans-serif;font-weight:inherit}
.app-page .rap-accent{font-family:Inter,system-ui,sans-serif!important;font-style:normal!important;font-weight:inherit!important;letter-spacing:inherit!important;line-height:inherit!important}
/* Modern sans system on every page. Keep text labels visibly smaller than headlines. */
.app-page h1,.app-page h2,.app-page h3{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif!important;font-optical-sizing:auto;font-style:normal;letter-spacing:-.055em;font-weight:620;line-height:1.06}
.app-page h3{font-weight:630;letter-spacing:-.035em;line-height:1.12}
.app-page .eyebrow,.app-page .bh-count,.app-page .nv-index{font-family:Inter,system-ui,sans-serif;font-weight:700}
/* Force the new UI palette without retouching photographic assets. */
.bh-home{background:#F1F4FA;color:#101827}
.bh-home h1,.bh-home h2{font-weight:610;letter-spacing:-.067em;line-height:1.025}
.bh-home .rap-accent{color:#2F65DD}
.bh-home .bh-hero .rap-accent,
.bh-home .bh-world .rap-accent,
.bh-home .bh-finale .rap-accent{color:#88ADFF}
.bh-home .bh-hero{background:#070D18;color:#fff}
.bh-home .bh-hero__veil{background:linear-gradient(90deg,#070D18 1%,#070D18 19%,rgba(7,13,24,.93) 33%,rgba(7,13,24,.42) 65%,rgba(7,13,24,.12) 100%),linear-gradient(0deg,#070D18,transparent 25%)}
.bh-home .bh-hero__line{border-color:rgba(80,129,242,.3);box-shadow:0 0 0 60px rgba(49,99,218,.032),0 0 0 130px rgba(49,99,218,.023)}
.bh-home .bh-spark{background:#F33F50;box-shadow:0 0 18px rgba(243,63,80,.55)}
.bh-home .bh-hero h1{font-size:clamp(64px,7.65vw,120px);font-weight:585;letter-spacing:-.069em}
.bh-home .bh-button--lime{background:#306CF1;color:#fff;font-weight:680;box-shadow:0 9px 24px rgba(26,64,151,.15)}
.bh-home .bh-button--lime:hover{background:#255DD7}
.bh-home .bh-link{color:#2854AE;font-weight:660}
.bh-home .bh-link--light{color:#F0F5FF}
.bh-home .bh-system,.bh-home .bh-recognition{background:#F1F4FA}
.bh-home .bh-system h2,.bh-home .bh-carbon h2,.bh-home .bh-recognition h2{font-weight:600}
.bh-home .bh-proof--editorial{background:#F6F8FC;color:#111827}
.bh-home .bh-proof--editorial .bh-proof__copy h2{color:#101827;font-weight:595;letter-spacing:-.065em}
.bh-home .bh-proof--editorial .bh-proof__copy .rap-accent{color:#2E64DC}
.bh-home .bh-proof__copy>p{color:#50627E}
.bh-home .bh-proof__meta{color:#647897}
.bh-home .bh-carbon{background:#E9EEF8}
.bh-home .bh-carbon__orb{border-color:rgba(130,176,255,.55);color:#D7E6FF;box-shadow:0 0 0 26px rgba(79,128,255,.045),0 0 0 80px rgba(79,128,255,.025),inset 0 0 90px rgba(75,130,245,.13)}
.bh-home .bh-carbon__orb i{background:#F04455;box-shadow:0 0 18px rgba(240,68,85,.5)}
.bh-home .bh-world--editorial{background:#0B1424}
.bh-home .bh-world__lead{color:#CDD8EA}
.bh-home .bh-finale{background:#070E1B}
.bh-home .bh-finale__intro>p{color:#C8D5E9}
.bh-home .bh-recognition__slot{background:#E6ECF6;border-color:#C9D6EB}
.bh-home .bh-recognition__star{color:#E73646}
.bh-home .bh-count{color:#B62C42}
.bh-home .bh-count--light,.bh-home .bh-eyebrow--light{color:#DFE8FB}
.bh-home .bh-corner--real{background:#D93648;color:#fff}
.bh-home .bh-corner{font-style:normal}
.bh-home .bh-recognition__slot strong{color:#12233F}
.bh-home .bh-recognition__note{color:#62758D}
.bh-home .bh-carbon__controls button.is-active,.bh-home .bh-carbon__controls button:hover{color:#265CCA}
.bh-home .bh-carbon__controls button.is-active:after{color:#E73646}
.next-vision{--nv-ink:#111C2F;--nv-light:#F1F4FA;--nv-lime:#3272EA;background:#F1F4FA}
.next-vision .rap-accent{color:#2D63DB}
.next-vision .nv-hero .rap-accent,.next-vision .nv-atrium .rap-accent,.next-vision .nv-end .rap-accent{color:#85ACFF}
.next-vision h1,.next-vision h2{font-weight:600;letter-spacing:-.065em}
.next-vision .nv-hero{background:#070D18}
.next-vision .nv-cta--lime{background:#346FEC;color:#fff}
/* Global navigation is consistent with the blue/black/red identity. */
.site-header{background:rgba(244,247,252,.95);border-bottom:1px solid rgba(31,59,110,.09)}
.site-header.is-scrolled{background:rgba(244,247,252,.97)}
.site-header .main-nav a{font-weight:640}
.site-header .main-nav a:hover,.site-header .main-nav a.is-current{color:#285CD2}
.site-header .header-cta{background:#3167E6;color:white}
.site-header .header-cta b{background:#111A30;color:white}
body.next-home-active .site-header,body.next-vision-active .site-header{background:#070F1B!important;border-bottom-color:rgba(232,238,255,.14)}
body.next-home-active .site-header.is-scrolled,body.next-vision-active .site-header.is-scrolled{background:rgba(7,15,27,.97)!important}
body.next-home-active .rapco2-header-word,body.next-vision-active .rapco2-header-word{color:#F4F7FF}
body.next-home-active .main-nav a,body.next-vision-active .main-nav a{color:#E1E8F8}
body.next-home-active .main-nav a.is-current,body.next-vision-active .main-nav a.is-current{color:#85ABFF}
body.next-home-active .site-header .header-cta,body.next-vision-active .site-header .header-cta{background:#346FEA!important;color:#fff!important}
body.next-home-active .site-header .header-cta b,body.next-vision-active .site-header .header-cta b{background:#071023!important;color:#fff!important}
body.next-home-active .nav-toggle,body.next-vision-active .nav-toggle{background:#172443!important}
body.next-home-active .site-header .nav-toggle span,body.next-vision-active .site-header .nav-toggle span{background:#E7EEFF!important}
body.next-home-active .lang-switch--desktop button,body.next-vision-active .lang-switch--desktop button{color:#E4EAF9}
body.next-home-active .site-header .main-nav a::after{background:#E73646}
@media(max-width:720px){.bh-home .bh-hero h1{font-size:clamp(55px,12.5vw,84px)}.bh-home .bh-proof--editorial .bh-proof__copy h2{font-size:clamp(49px,11.7vw,75px)}}
@media(prefers-reduced-motion:reduce){.bh-home .bh-button--lime{transition:none}}

/* RAPCO2 NEXT V6.6 — TITRE ROUGE / RED TITLE RHYTHM
   Red identifies the semantic punchline of each block heading.
   Blue stays with CTAs, links and system interactions; black with base typography.
   Two red variants are used for contrast on light/dark canvases. */
:root{--rap-title-red:#C7253A;--rap-title-red-on-dark:#FF5968}
.app-page :is(h1,h2,h3) .rap-accent{
  color:var(--rap-title-red)!important;
  font-style:normal!important;
  -webkit-text-fill-color:currentColor;
}
/* Dark cinematic scenes: sufficiently luminous red against navy/black. */
.bh-home :is(.bh-hero,.bh-world,.bh-finale) :is(h1,h2,h3) .rap-accent,
.next-vision :is(.nv-hero,.nv-atrium,.nv-bridge,.nv-network,.nv-end) :is(h1,h2,h3) .rap-accent,
.app-page .panel-dark :is(h1,h2,h3) .rap-accent{
  color:var(--rap-title-red-on-dark)!important;
}
/* Maintain a red cue even in product cards which do not have a split heading. */
.bh-home .bh-tile__body h3{color:var(--rap-title-red)!important}
/* Small decorative marker mirrors the title color without changing label content. */
.bh-home .bh-section-top .bh-count,
.bh-home .bh-proof__copy>.bh-count,
.bh-home .bh-carbon__text>.bh-count,
.bh-home .bh-recognition__heading .bh-count{color:var(--rap-title-red)!important}
/* Scientific notation: the sole deliberate use of italics. */
.app-page em.science-term,.app-page i.science-term{font-style:italic!important}
