/* The approved Night composition, with a darker range of materials. */
:root[data-theme=night] {
  --bg:#060a11;
  --surface:#0a111c;
  --raised:#111c29;
  --text:#edf3f7;
  --muted:#acbdca;
  --accent:#65a9c6;
  --link:#9acbdf;
  --accent-soft:#10222f;
  --border:#293744;
  --control-border:#657f90;
  --glass:rgba(10,17,27,.88);
  --header-glass:rgba(6,10,17,.78);
  --highlight:rgba(173,204,221,.2);
  --sheen:rgba(142,181,203,.045);
  --cta:#a52e28;
  --cta-hover:#bf3b32;
  --signal-red:#c6473d;
  --signal-red-light:#d66655;
  --signal-red-deep:#651e29;
  --signal-red-text:#dc6754;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
}
body.night-reprise {background:#060a11;isolation:isolate}
.night-reprise::before {display:none}
.night-reprise::after {content:"";position:fixed;inset:0;z-index:8;pointer-events:none;background:url('assets/media/grain.svg');opacity:.035;mix-blend-mode:screen}
.night-reprise .scene:not(.hero) {background:transparent;min-height:0;padding-block:104px}
.night-reprise #produit {padding-top:86px;padding-bottom:108px}
.night-reprise #difference.why-proof {background:transparent}
.night-reprise #difference.why-proof::before {display:none}
.site-atmosphere {position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none;background:#060a11;isolation:isolate}
.site-atmosphere__wash {position:absolute;inset:-18%;background:radial-gradient(ellipse at 12% 18%,#1b354664,transparent 43%),radial-gradient(ellipse at 76% 26%,#0c182780,transparent 48%),radial-gradient(ellipse at 68% 82%,#19333e50,transparent 44%),radial-gradient(ellipse at 6% 88%,#111f3290,transparent 42%);animation:quiet-atmosphere 38s var(--ease-in-out) infinite alternate;will-change:transform}
.site-atmosphere::after {content:"";position:absolute;inset:0;background:url('assets/media/grain.svg');opacity:.12;mix-blend-mode:soft-light}
.site-atmosphere.is-paused .site-atmosphere__wash {animation-play-state:paused}
@keyframes quiet-atmosphere {from{transform:translate(-2%,-1.5%) scale(1.02)}to{transform:translate(3%,2.5%) scale(1.09)}}
.night-reprise .section-heading {display:block;margin-bottom:36px}
.night-reprise .section-heading h2 {max-width:26ch;font-size:clamp(2.5rem,3.9vw,3.8rem)}
.section-hook {color:var(--link);font-size:1.1rem;margin:0 0 12px;line-height:1.3}
.section-intro {margin-top:16px;max-width:65ch;color:var(--muted);font-size:1.25rem;line-height:1.5}
.night-reprise .section-heading h2::after,.night-reprise .center-heading h2::after {content:'\2060_';display:inline;white-space:nowrap;color:var(--link);margin-left:0;-webkit-text-stroke:0;transform:none}
.night-reprise .btn--primary {background:linear-gradient(140deg,#ad352e,#6e1d29);border-color:#b34a3d;box-shadow:inset 0 1px rgba(236,149,121,.12),0 8px 28px #0003}
.night-reprise .btn:active {transform:scale(.97)}
.night-reprise .site-header {background:rgba(6,10,17,.75);border-color:#c9dfed22}
.night-reprise .site-header.is-scrolled {background:#080e17f7;-webkit-backdrop-filter:none;backdrop-filter:none}
.night-reprise .glass-panel {background:linear-gradient(145deg,#23344324,transparent 58%),#0a121cc2}
.night-reprise .opal-frame::after {opacity:.1}
.night-reprise .hero {min-height:calc(100svh - var(--header-height));padding-block:clamp(48px,7vh,88px);overflow:visible;background:none}
.night-reprise .hero::before {display:none}
.night-reprise .conversion::before {display:none}
.night-reprise .decrypt-heading {position:relative}
.night-reprise .decrypt-layout {visibility:hidden;pointer-events:none;user-select:none;white-space:pre-line}
.night-reprise .decrypt-heading>.decrypt-text {display:block;position:absolute;inset:0;overflow:hidden;white-space:pre-line}
.night-reprise .hero-grid {grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(40px,5vw,80px)}
.night-reprise .hero-copy {position:relative;z-index:1}
.night-reprise .hero-panels {min-height:0}
.night-reprise #hero-title {max-width:14ch;font-size:clamp(3.5rem,5.9vw,5.75rem);line-height:.99;letter-spacing:-.025em;text-wrap:balance}
.night-reprise .hero-statement {font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.15;margin-top:17px;color:var(--text);max-width:30ch}
.night-reprise .hero-copy .lead {margin-top:24px;max-width:43ch;font-size:clamp(1.18rem,1.35vw,1.3rem);line-height:1.45;color:#c0ced7}
.night-reprise .hero-explanation {font-size:clamp(1.08rem,1.25vw,1.2rem);line-height:1.45;max-width:47ch;color:#a8becb;margin-top:13px}
.night-reprise .hero-actions {margin-top:34px;gap:26px;flex-direction:row;align-items:center;flex-wrap:wrap}
.night-reprise .hero-actions .btn {font-size:1.07rem;white-space:nowrap;padding:15px 23px;min-height:54px;gap:25px}
.hero-understand {display:inline-flex;align-items:center;gap:16px;min-height:48px;font-size:1.1rem;color:var(--text);border-bottom:1px solid #9cbac14d;transition:color 180ms ease,border-color 180ms ease}
.hero-understand span {font-size:1.45rem;color:var(--link)}
.hero-understand:hover {color:var(--link);border-color:var(--link)}
.night-reprise .hero-copy>.hero-signature {margin-top:26px;color:#8ca6b5;font-size:.64rem;letter-spacing:.16em}
.night-reprise .hero-media {padding:12px;max-width:none;margin:0;box-shadow:0 28px 65px #0006,inset 0 1px #b7d4e51a;background:linear-gradient(140deg,#283b4850,#080e1680 65%);border-color:#68839155}
.night-reprise .hero-media img,.night-reprise .hero-media .media-video {aspect-ratio:1.22;object-fit:cover;min-height:0;border-radius:6px}
.night-reprise .hero-media figcaption {padding:15px 12px 6px;font-size:.96rem;letter-spacing:.045em;color:#cfdae3}
.night-reprise .procedural-background {z-index:0;transform-origin:50% 45%;will-change:transform,opacity;background:#060a11;filter:none;color:#8cb3c8}
.hero-background-fade {position:fixed;inset:0;z-index:0;pointer-events:none;opacity:1;transition:opacity 1200ms var(--ease-in-out)}
.hero-background-fade.is-idle-hidden {opacity:0}
.night-reprise .procedural-background::after {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#03070b33,transparent 70%),linear-gradient(180deg,transparent 30%,#060a1166)}
.night-reprise .neural-bg-network {filter:brightness(.88)}
.night-reprise .neural-atmosphere {opacity:.8}
.night-reprise .blindspot-copy {background:linear-gradient(150deg,#152330ad,#080e17b8);border:1px solid #859dae26;border-radius:12px}
.night-reprise .process-grid {margin-top:48px;gap:32px}
.night-reprise .process-grid .step {background:transparent;border:0;box-shadow:none;backdrop-filter:none;border-radius:0;padding:24px 12px 0 0;min-height:0;border-top:1px solid #7596a344}
.night-reprise .process-grid .step::before,.night-reprise .process-grid .step::after {display:none}
.night-reprise .process-grid .step-node {position:static;display:inline-flex;background:none;box-shadow:none;border:0;width:auto;height:auto;margin-bottom:18px;color:var(--link);font-size:1rem;line-height:1}
.night-reprise .process-grid .step-icon {display:none}
.night-reprise .step h3 {font-size:2.1rem}
.night-reprise .step .step-intro {font-size:1.2rem}
.night-reprise .step p:not(.step-intro) {max-width:38ch;color:var(--muted);font-size:1.08rem;line-height:1.5}
.night-reprise .step .step-note {font-size:.98rem;color:#89a4b6;border:0;margin-top:14px!important;padding-top:0}
.night-reprise .section-closing {margin-top:30px;font-size:1.16rem}
.night-reprise .section-nav {right:5px}
.night-reprise .section-nav a {width:32px;height:32px}
.night-reprise .section-nav a::before {width:7px;height:7px;border-color:#89a6b96b}
.night-reprise .section-nav a[aria-current]::after {width:5px;height:5px}
.night-reprise .usecases {padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;overflow:visible}
.night-reprise .usecases::before,.night-reprise .usecases::after {display:none}
.night-reprise .usecase {grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:clamp(32px,5vw,76px);align-items:center}
.night-reprise .usecase>.mesh-image {align-self:stretch;min-height:465px;border:1px solid #738c9e42;border-radius:12px;overflow:hidden}
.night-reprise .usecase .mesh-image>img {position:absolute;inset:0;height:100%;max-height:none;width:100%;aspect-ratio:auto;object-fit:cover;filter:saturate(.65) brightness(.72)}
.night-reprise .usecase>.incident-copy {padding:18px 0 24px;min-width:0}
.incident-meta {display:flex;align-items:center;gap:10px;color:#95afbf;font:500 .7rem/1.5 ui-monospace,monospace;letter-spacing:.03em}
.incident-meta::before {content:"";width:5px;height:5px;background:#ba514a;border-radius:50%}
.night-reprise .incident-copy h3 {font-size:clamp(1.9rem,2.8vw,2.6rem);margin-top:14px;max-width:25ch}
.night-reprise .incident-stat.stat {font-size:clamp(4.4rem,7vw,7rem);line-height:.95;margin-top:24px;letter-spacing:-.035em;color:var(--text)}
.incident-stat .stat-unit {font-size:.55em;color:#89aebe;margin-left:.12em}
.incident-stat .stat-value {position:relative;display:inline-block}
.incident-stat .stat-value::before,.incident-stat .stat-value::after {content:attr(data-roll);position:absolute;inset:0;opacity:0;color:var(--link);pointer-events:none}
.incident-stat .stat-value::before {clip-path:inset(0 0 48%)}
.incident-stat .stat-value::after {clip-path:inset(52% 0 0);color:var(--accent)}
.incident-stat.is-rolling .stat-value::before {animation:stat-roll-upper 680ms steps(1,end)}
.incident-stat.is-rolling .stat-value::after {animation:stat-roll-lower 680ms steps(1,end)}
.night-reprise .incident-copy .incident-measure {font-size:1.22rem;line-height:1.3;margin-top:10px;color:var(--text)}
.incident-summary {font-size:1.12rem;line-height:1.5;color:var(--muted);margin-top:16px;max-width:45ch}
.incident-source {display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--link);font-size:.93rem;text-decoration:underline;text-decoration-color:#86b1c14d;text-underline-offset:5px;margin-top:4px}
.incident-relevance {border-top:1px solid #718b9c3d;margin-top:20px;padding-top:18px}
.incident-relevance strong {display:block;font-size:1.14rem;font-weight:600;color:#dfebf3}
.incident-relevance p {font-size:1.07rem;color:var(--muted);line-height:1.45;margin-top:6px}
.night-reprise .incident-copy p:last-child {max-width:49ch}
.night-reprise .sector-controls {justify-content:flex-start;margin-top:30px;padding-top:0;gap:10px;border:0}
.night-reprise .sector-controls button {min-height:44px;padding:10px 19px;border:1px solid #566f8059;background:transparent;color:#a9bfcd;border-radius:6px;font-size:1.05rem;transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease}
.night-reprise .sector-controls button[aria-selected=true] {background:#14232f;color:#e3edf5;border-color:#7099ae}
.incidents-note {max-width:86ch;font-size:.91rem;line-height:1.5;color:#91a6b6;margin-top:18px}
.night-reprise .offer {background:linear-gradient(140deg,#14202b80,#080e1799);border-color:#536c7c55}
.night-reprise .scanner-bento {filter:none}
@media(hover:hover) and (pointer:fine) {.night-reprise .btn--primary:hover {background:linear-gradient(140deg,#bd3f31,#852332)}.night-reprise .sector-controls button:hover {color:var(--text);border-color:#789bad}}
@media(min-width:1101px) {.night-reprise .hero {padding:0;min-height:calc(100svh - var(--header-height) + 120px);align-items:stretch}.night-reprise .hero .scene-stage {position:sticky;top:var(--header-height);height:auto;min-height:calc(100svh - var(--header-height));display:flex;align-items:center;align-self:flex-start}.night-reprise .hero .hero-grid {padding-block:44px}}
@media(min-width:1101px) and (max-height:800px) {.night-reprise #hero-title {font-size:clamp(3.5rem,5.6vw,4.6rem)}.night-reprise .hero-media img,.night-reprise .hero-media .media-video {max-height:calc(100svh - 220px);aspect-ratio:1.35}.night-reprise .hero-copy .lead {margin-top:20px;font-size:1.25rem}.night-reprise .hero-actions {margin-top:24px}}
@media(max-width:1100px) {.night-reprise .hero-grid {grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:30px}.night-reprise #hero-title {font-size:clamp(3.1rem,6.4vw,4.6rem)}.night-reprise .hero-actions {gap:12px 23px}.night-reprise .scene:not(.hero) {padding-block:76px}.night-reprise .hero-actions .btn {font-size:1rem;padding:13px 18px}.night-reprise .section-nav {display:none}.night-reprise .usecase {gap:32px}}
@media(max-width:767px) {.night-reprise .hero {padding-block:42px 54px;min-height:0;overflow:hidden}.night-reprise .hero-grid {grid-template-columns:minmax(0,1fr);gap:36px}.night-reprise #hero-title {font-size:clamp(3.1rem,12.4vw,4.25rem);max-width:13ch}.night-reprise .hero-copy .lead {font-size:1.18rem;max-width:37ch;margin-top:23px}.night-reprise .hero-actions {gap:18px;flex-wrap:wrap;align-items:center;margin-top:26px}.night-reprise .hero-actions .btn {font-size:1.02rem;gap:18px}.hero-understand {font-size:1rem;gap:12px}.night-reprise .hero-copy>.hero-signature {margin-top:22px;font-size:.59rem}.night-reprise .hero-media img,.night-reprise .hero-media .media-video {aspect-ratio:1.5}.night-reprise .hero-media {padding:8px}.night-reprise .hero-media figcaption {font-size:.82rem;padding:12px 5px 5px}.night-reprise .scene:not(.hero) {padding-block:64px}.night-reprise #produit {padding-top:56px}.night-reprise .section-heading h2 {font-size:2.6rem;max-width:22ch}.section-hook {font-size:1rem;margin-bottom:10px}.section-intro {font-size:1.13rem}.night-reprise .process-grid {gap:24px;margin-top:28px}.night-reprise .process-grid .step {padding-top:18px;padding-left:0}.night-reprise .process-grid .step-node {margin-bottom:12px}.night-reprise .process-grid .step p {max-width:none}.night-reprise .usecase {grid-template-columns:minmax(0,1fr);gap:24px}.night-reprise .usecase>.mesh-image {min-height:0;aspect-ratio:1.6}.night-reprise .usecase .mesh-image>img {aspect-ratio:1.6}.night-reprise .usecase>.incident-copy {padding:0}.night-reprise .incident-copy h3 {font-size:2rem;margin-top:10px}.night-reprise .incident-stat.stat {font-size:5.2rem;margin-top:20px}.night-reprise .sector-controls {gap:8px;margin-top:22px}.night-reprise .sector-controls button {flex-basis:auto;font-size:1rem;padding:9px 13px}.incident-summary {max-width:none}.incidents-note {font-size:.88rem}.night-reprise .procedural-background {will-change:opacity}}
@media(prefers-reduced-motion:reduce) {.night-reprise .hero .scene-stage {position:static}.night-reprise .hero {min-height:calc(100svh - var(--header-height))}.night-reprise .procedural-background {will-change:auto}}
@media(max-height:720px) and (min-width:1101px) {.night-reprise .hero {min-height:calc(100svh - var(--header-height))}.night-reprise .hero .scene-stage {position:relative;top:auto}.night-reprise .hero .hero-grid {padding-block:30px}.night-reprise #hero-title {font-size:clamp(3rem,5vw,4rem)}.night-reprise .hero-statement {font-size:1.4rem;margin-top:12px}.night-reprise .hero-copy .lead {font-size:1.15rem;margin-top:18px}.night-reprise .hero-explanation {font-size:1.06rem}.night-reprise .hero-actions {margin-top:22px}.night-reprise .hero-copy>.hero-signature {margin-top:18px}}
@media(max-width:767px) {.night-reprise .hero-copy .lead {font-size:1.14rem;margin-top:21px}.night-reprise .hero-statement {font-size:1.45rem;margin-top:16px}.night-reprise .hero-explanation {font-size:1.06rem;margin-top:13px}}
@media(prefers-reduced-motion:reduce) {.site-atmosphere__wash {animation:none;will-change:auto}}
.night-reprise .section-heading h2 {width:fit-content;max-width:100%}
@media(min-width:1101px) {
  .night-reprise #fonctionnement {padding-block:52px}
  .night-reprise #fonctionnement .section-heading {margin-bottom:24px}
}
@media(min-width:1101px) and (max-height:850px) {
  .night-reprise #fonctionnement {padding-block:32px}
  .night-reprise #fonctionnement .section-heading {margin-bottom:20px}
  .night-reprise #fonctionnement .section-hook {margin-bottom:8px}
  .night-reprise #fonctionnement .section-heading h2 {font-size:2.9rem}
  .night-reprise #fonctionnement .section-intro {font-size:1.15rem;margin-top:8px}
}
/* Keep the validated console proportions inside a laptop viewport. */
@media(min-width:1101px) {
  .night-reprise #fonctionnalites {
    --console-height: min(640px, calc(100svh - var(--header-height) - 128px));
    padding-block:24px;
  }
  .night-reprise #fonctionnalites .wrap {
    max-width:calc(var(--console-height) * 1.827586 - 167.862px);
  }
  .night-reprise #fonctionnalites .section-heading {margin-bottom:20px}
  .night-reprise #fonctionnalites .section-heading h2 {font-size:2.875rem}
  .night-reprise #fonctionnalites .scanner-bento {
    height:var(--console-height);
    max-width:none;
    grid-template-columns:calc(var(--console-height) * .62069) minmax(0,1fr);
    grid-template-rows:minmax(0,1fr) 136px;
    gap:18px;
  }
  .night-reprise #fonctionnalites .console-crop--sources {height:100%;aspect-ratio:360/580}
  .night-reprise #fonctionnalites .console-crop--radar {height:100%;aspect-ratio:700/580}
  .night-reprise #fonctionnalites .console-description {
    display:block;
    min-height:0;
    padding:15px 20px;
  }
  .night-reprise #fonctionnalites .console-description h3 {
    max-width:none;
    font-size:1.5rem;
    margin-bottom:8px;
  }
  .night-reprise #fonctionnalites .console-description p {
    max-width:none;
    font-size:1.0625rem;
    line-height:1.35;
  }
}
@media(min-width:768px) and (max-width:1100px) {
  .night-reprise #fonctionnalites .scanner-bento {
    grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
    grid-template-rows:minmax(0,1fr) auto;
  }
  .night-reprise #fonctionnalites .console-crop--sources {height:auto;aspect-ratio:360/580;align-self:start}
  .night-reprise #fonctionnalites .console-crop--radar {height:100%;aspect-ratio:auto}
  .night-reprise #fonctionnalites .console-description {min-height:0}
}
