/* elma-sources: ["assets/style.css","assets/elma-identity.css","assets/elma-saas.css","assets/elma-polar.css","assets/elma-raycast.css","assets/elma-backgrounds.css","assets/elma-navbar.css","assets/elma-logoloop.css","assets/elma-da.css"] */
/* ===== Design tokens ===== */
:root {
  --canvas: #0d0d0d;
  --canvas-alt: #0e0e10;
  --canvas-card: #161618;
  --hairline: #212327;
  --hairline-soft: #1a1b1e;
  --ink: #ffffff;
  --body: #dadbdf;
  --mute: #7d8187;
  --pill-border: rgba(255, 255, 255, 0.25);
  --radius: 10px;
  --radius-pill: 9999px;
  --maxw: 1200px;
  --pad-x: clamp(20px, 5vw, 40px);
  --band: clamp(64px, 9vw, 110px);
  --font: 'Manrope', system-ui, sans-serif;
  --mono: 'Manrope', ui-monospace, monospace;
  /* Accent unique : bleu -> violet */
  --acc: #6b84ff;
  --acc-blue: #4260e4;
  --acc-soft: #a7b8ff;
  --acc-dim: rgba(122, 92, 255, 0.12);
  --grad: linear-gradient(120deg, #4260e4, #a7b8ff);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--font);
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }

/* ===== Layout ===== */
.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding-left: var(--pad-x); padding-right: var(--pad-x); }
.container--narrow { max-width: 880px; }
.band { padding-top: var(--band); padding-bottom: var(--band); }
.band--sm { padding-top: clamp(28px, 4vw, 44px); padding-bottom: clamp(28px, 4vw, 44px); }
.band--alt { background: var(--canvas-alt); border-top: 1px solid var(--hairline-soft); border-bottom: 1px solid var(--hairline-soft); }
.band--hero { padding-top: clamp(56px, 7vw, 96px); padding-bottom: clamp(40px, 5vw, 64px); position: relative; overflow: hidden; }

/* Aurora (fond animé du hero) */
.band--hero::before, .band--hero::after {
  content: ""; position: absolute; border-radius: 50%; pointer-events: none;
  width: clamp(420px, 55vw, 820px); height: clamp(420px, 55vw, 820px);
  filter: blur(70px); will-change: transform;
}
.band--hero::before {
  top: -35%; left: -12%;
  background: radial-gradient(circle, rgba(76, 111, 255, 0.16), transparent 62%);
  animation: aurora-a 18s ease-in-out infinite alternate;
}
.band--hero::after {
  top: 5%; right: -18%;
  background: radial-gradient(circle, rgba(167, 139, 250, 0.13), transparent 62%);
  animation: aurora-b 22s ease-in-out infinite alternate;
}
@keyframes aurora-a { from { transform: translate(0, 0) scale(1); } to { transform: translate(9%, 12%) scale(1.18); } }
@keyframes aurora-b { from { transform: translate(0, 0) scale(1.12); } to { transform: translate(-11%, -7%) scale(0.94); } }
.hero-dots {
  position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(72% 62% at 58% 28%, #000, transparent 76%);
  mask-image: radial-gradient(72% 62% at 58% 28%, #000, transparent 76%);
}
.band--hero .container { position: relative; z-index: 1; }

/* ===== Typography ===== */
.eyebrow { font-family: var(--mono); text-transform: uppercase; letter-spacing: 1.4px; font-size: 12.5px; color: var(--mute); display: block; }
.eyebrow::before { content: ""; display: inline-block; width: 20px; height: 1px; background: var(--grad); vertical-align: middle; margin-right: 10px; }
.display-xl { font-size: clamp(38px, 5vw, 64px); line-height: 1.04; letter-spacing: -0.04em; font-weight: 400; }
.display-md { font-size: clamp(28px, 4vw, 44px); line-height: 1.08; letter-spacing: -0.025em; font-weight: 400; }
.lead { font-size: clamp(16.5px, 1.8vw, 18.5px); line-height: 1.6; color: var(--body); }
.small { font-size: 14px; line-height: 1.55; }
.muted { color: var(--mute); }

.grad-text {
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ===== Pills ===== */
.pill {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font); font-size: 14px; line-height: 20px; font-weight: 400;
  padding: 11px 20px; border-radius: var(--radius-pill);
  border: 1px solid var(--pill-border); color: var(--ink); background: transparent;
  cursor: pointer; transition: background-color .18s ease, border-color .18s ease;
  white-space: nowrap;
}
.pill:hover { background: rgba(255, 255, 255, 0.06); }
.pill--primary { background: var(--ink); color: #0d0d0d; border-color: var(--ink); font-weight: 500; transition: background-color .18s ease, box-shadow .3s ease; }
.pill--primary:hover { background: #f0f0ee; box-shadow: 0 0 28px rgba(122, 92, 255, 0.35); }
.pill--lg { padding: 14px 26px; font-size: 15px; }

/* ===== Cards ===== */
.card {
  position: relative;
  background: var(--canvas-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  padding: 26px;
  overflow: hidden;
}
.card__title { font-size: 17px; font-weight: 500; letter-spacing: -0.01em; margin-bottom: 8px; line-height: 1.3; }
.card__intro { margin-bottom: 12px; }
.card__tag {
  position: absolute; top: 18px; right: 18px;
  font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--acc-soft); background: var(--acc-dim); border: 1px solid rgba(122, 92, 255, .25);
  border-radius: var(--radius-pill); padding: 3px 10px;
}
.icon-chip {
  width: 42px; height: 42px; border-radius: 11px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
  background: var(--acc-dim); color: var(--acc-soft);
  border: 1px solid rgba(122, 92, 255, 0.22);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}
.card:hover .icon-chip { transform: scale(1.08); }

/* Spotlight : halo qui suit la souris sur les cartes */
.card:not(.cta)::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  opacity: 0; transition: opacity .35s ease;
  background: radial-gradient(280px circle at var(--mx, 50%) var(--my, 50%), rgba(122, 92, 255, 0.10), transparent 65%);
}
.card:not(.cta):hover::after { opacity: 1; }
.card > *:not(.card__tag) { position: relative; z-index: 1; }
.card > .card__tag { z-index: 1; }

/* ===== Callouts ===== */
.callout {
  margin-top: 32px; padding: 20px 24px;
  border: 1px solid rgba(122, 92, 255, 0.24); border-left: 3px solid var(--acc);
  border-radius: var(--radius); background: rgba(122, 92, 255, 0.05);
}
.callout p { font-size: 15px; color: var(--body); line-height: 1.65; max-width: 78ch; }
.callout strong { color: var(--ink); font-weight: 500; }
.callout--plain { border-color: var(--hairline); border-left-color: var(--acc); background: var(--canvas-card); }

/* ===== Nav ===== */
.nav { position: sticky; top: 0; z-index: 50; background: rgba(10,10,10,.82); backdrop-filter: blur(10px); border-bottom: 1px solid var(--hairline); }
.nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 14px; padding-bottom: 14px; }
.nav__brand { font-size: 18px; letter-spacing: -0.02em; font-weight: 500; }
.nav__menu { display: flex; gap: 26px; }
.nav__link { font-size: 14px; color: var(--body); transition: color .15s ease; }
.nav__link:hover { color: var(--ink); }
.nav__actions { display: flex; align-items: center; gap: 12px; }
.nav__toggle { display: none; flex-direction: column; gap: 5px; padding: 8px; cursor: pointer; background: none; border: 0; }
.nav__toggle span { width: 22px; height: 1.5px; background: var(--ink); display: block; }

/* ===== Hero ===== */
.hero { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(32px, 5vw, 64px); align-items: center; }
.hero h1 { margin-top: 22px; }
.hero__sub { margin-top: 22px; max-width: 54ch; }
.hero__actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero__proof { margin-top: 20px; }
.hero__visual { position: relative; }
.hero__visual::before {
  content: ""; position: absolute; inset: -12%;
  background: radial-gradient(55% 55% at 60% 40%, rgba(76, 111, 255, 0.10), transparent 70%);
  pointer-events: none;
}

/* ===== Mockup assistant ===== */
.mock {
  position: relative;
  background: #121214;
  border: 1px solid var(--hairline);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(0,0,0,.4);
}
.mock__bar {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px;
  background: var(--canvas-card);
  border-bottom: 1px solid var(--hairline);
}
.mock__dots { display: flex; gap: 6px; }
.mock__dots i { width: 9px; height: 9px; border-radius: 50%; background: #2c2c30; }
.mock__title { font-family: var(--mono); font-size: 11px; color: var(--mute); letter-spacing: .04em; }
.mock__badge {
  margin-left: auto; display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .06em;
  color: #86e3a1; background: rgba(74, 222, 128, 0.08); border: 1px solid rgba(74, 222, 128, 0.22);
  border-radius: var(--radius-pill); padding: 4px 10px; white-space: nowrap;
}
.mock__pulse { width: 6px; height: 6px; border-radius: 50%; background: #4ade80; animation: pulse-dot 2.2s ease-in-out infinite; }
.mock__body { padding: 20px; display: flex; flex-direction: column; gap: 13px; }
.msg { max-width: 86%; font-size: 13.5px; line-height: 1.55; }
.msg--user {
  align-self: flex-end;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: var(--ink);
  padding: 10px 14px; border-radius: 13px 13px 4px 13px;
}
.msg--bot {
  align-self: flex-start;
  background: var(--canvas-card);
  border: 1px solid var(--hairline);
  color: var(--body);
  padding: 12px 14px; border-radius: 13px 13px 13px 4px;
}
.msg--bot sup { font-size: 9px; }
.msg__sources { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.msg__chip {
  font-family: var(--mono); font-size: 10px; color: var(--acc-soft);
  background: var(--acc-dim); border: 1px solid rgba(122, 92, 255, 0.24);
  border-radius: 6px; padding: 3px 8px;
}
.msg--typing { padding: 14px 16px; }
.typing { display: flex; gap: 5px; }
.typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--mute); animation: typing-bounce 1.2s ease-in-out infinite; }
.typing i:nth-child(2) { animation-delay: .15s; }
.typing i:nth-child(3) { animation-delay: .3s; }
@keyframes typing-bounce { 0%, 60%, 100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-4px); opacity: 1; } }
@keyframes pulse-dot { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* ===== Stats strip ===== */
.stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.stat { padding: 28px 28px; }
.stat + .stat { border-left: 1px solid var(--hairline); }
.stat__num { font-size: clamp(30px, 3.4vw, 42px); letter-spacing: -0.03em; line-height: 1.1; }
.stat__label { margin-top: 8px; max-width: 26ch; }

/* ===== Section head ===== */
.head { max-width: 62ch; }
.head h2 { margin-top: 16px; }
.head .lead { margin-top: 18px; }

/* ===== Grids ===== */
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 44px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 44px; }
.grid-4 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 44px; }
.grid-2 .card, .grid-3 .card, .grid-4 .card { transition: transform .35s cubic-bezier(.22,.61,.36,1), border-color .35s ease; }
.grid-2 .card:hover, .grid-3 .card:hover, .grid-4 .card:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.16); }

/* ===== Listes ===== */
.dot-list { list-style: none; display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.dot-list li { font-size: 14px; color: var(--body); display: flex; gap: 10px; line-height: 1.55; }
.dot-list li::before { content: "→"; color: var(--acc-soft); flex-shrink: 0; }

/* ===== Prix ===== */
.price { font-size: clamp(30px, 3.4vw, 40px); line-height: 1.05; letter-spacing: -0.025em; margin: 2px 0 16px; }
.price__unit { font-size: 15px; letter-spacing: 0; color: var(--mute); -webkit-text-fill-color: var(--mute); }
.card__note { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--hairline); }

/* ===== Comparatif ===== */
.compare-wrap { margin-top: 48px; border: 1px solid var(--hairline); border-radius: var(--radius); overflow: hidden; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.compare { min-width: 620px; }
.crow { display: grid; grid-template-columns: 1.1fr 1fr 1.15fr; transition: background .15s; }
.crow + .crow { border-top: 1px solid var(--hairline); }
.crow:not(.crow--head):hover { background: rgba(255,255,255,.02); }
.ccell { padding: 16px 18px; font-size: 13.5px; display: flex; align-items: center; }
.cfeature { color: var(--ink); font-weight: 500; }
.crow--head .ccell { font-family: var(--mono); text-transform: uppercase; letter-spacing: .8px; font-size: 11px; color: var(--mute); background: rgba(255,255,255,.025); }
.celma { background: rgba(122, 92, 255, 0.06); position: relative; }
.crow--head .celma { color: var(--acc-soft); background: rgba(122, 92, 255, 0.11); }
.crow--head .celma::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--grad); }
.ctext-good { color: var(--ink); }
.ctext-mute { color: var(--mute); }
.ccheck { color: var(--acc); font-weight: 700; margin-right: 8px; }
.compare__note { margin-top: 18px; max-width: 70ch; }

/* ===== Méthode (timeline) ===== */
.steps { margin-top: 44px; border-top: 1px solid var(--hairline); }
.step { display: grid; grid-template-columns: 64px 1fr; gap: 24px; padding: 30px 0; border-bottom: 1px solid var(--hairline); }
.step__num {
  width: 46px; height: 46px; border-radius: var(--radius-pill);
  border: 1px solid var(--hairline); background: var(--canvas-card);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mono); font-size: 13px; color: var(--acc-soft);
}
.step__kicker { font-family: var(--mono); font-size: 10.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--mute); display: block; margin-bottom: 6px; }
.step__title { font-size: 20px; font-weight: 500; letter-spacing: -0.015em; margin-bottom: 8px; }
.step p { max-width: 68ch; font-size: 14.5px; }
.step__link { color: var(--acc-soft); }
.step__link:hover { color: var(--acc); }

/* ===== FAQ ===== */
@keyframes flowY { 0% { background-position: 50% 0%; } 100% { background-position: 50% 300%; } }
.faq-card { margin-top: 44px; padding: 6px 32px; }
.faq2__item { border-top: 1px dotted rgba(255,255,255,.16); }
.faq2__item:first-child { border-top: 0; }
.faq2__trigger {
  position: relative; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  background: none; border: 0; color: var(--ink); font-family: var(--font); font-size: 16px; font-weight: 500; letter-spacing: -0.01em;
  text-align: left; padding: 22px 0; cursor: pointer; transition: color .2s ease;
}
.faq2__trigger:hover { color: var(--body); }
.faq2__chev { width: 18px; height: 18px; flex-shrink: 0; color: var(--mute); transition: transform .35s cubic-bezier(.22,.61,.36,1), color .25s ease; }
.faq2__item.is-open .faq2__chev { transform: rotate(180deg); color: var(--ink); }
.faq2__trigger::before {
  content: ""; position: absolute; left: -32px; top: 14px; bottom: 14px; width: 2px; border-radius: 2px; opacity: 0;
  background: linear-gradient(180deg, #4260e4, #a7b8ff, #4260e4); background-size: 100% 300%;
  animation: flowY 5s linear infinite; transition: opacity .3s ease;
}
.faq2__item.is-open .faq2__trigger::before { opacity: 1; }
.faq2__content { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .38s cubic-bezier(.22,.61,.36,1); }
.faq2__item.is-open .faq2__content { grid-template-rows: 1fr; }
.faq2__inner { overflow: hidden; }
.faq2__inner p { color: var(--body); font-size: 15px; line-height: 1.7; padding-bottom: 24px; max-width: 70ch; }
.faq__more { margin-top: 22px; }
.faq__more a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

/* ===== CTA final (border beam) ===== */
@property --beam-angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
.cta { text-align: center; padding: clamp(40px, 6vw, 64px); overflow: visible; }
.cta::before {
  content: ""; position: absolute; inset: -1px; border-radius: var(--radius); padding: 1px;
  background: conic-gradient(from var(--beam-angle), transparent 0turn 0.78turn, #4260e4 0.87turn, #a7b8ff 0.93turn, transparent 1turn);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  animation: beam-spin 6s linear infinite;
  pointer-events: none;
}
@keyframes beam-spin { to { --beam-angle: 360deg; } }
.cta::after {
  content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 70%; height: 55%; pointer-events: none;
  background: radial-gradient(60% 100% at 50% 0, rgba(122, 92, 255, 0.10), transparent 70%);
}
.cta > * { position: relative; z-index: 1; }
.cta h2 { margin-top: 16px; max-width: 22ch; margin-left: auto; margin-right: auto; }
.cta p.lead { margin-top: 20px; max-width: 54ch; margin-left: auto; margin-right: auto; }
.cta .pill { margin-top: 32px; }
.cta__micro { margin-top: 16px; }

/* ===== Footer ===== */
.footer { border-top: 1px solid var(--hairline); padding-top: 48px; padding-bottom: 40px; }
.footer__inner { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 32px; }
.footer__brand { font-size: 18px; letter-spacing: -0.02em; font-weight: 500; margin-bottom: 10px; }
.footer__title { font-family: var(--mono); text-transform: uppercase; letter-spacing: 1px; font-size: 11.5px; color: var(--mute); margin-bottom: 14px; }
.footer__list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer__list a, .footer__list span { font-size: 14px; color: var(--body); }
.footer__list a:hover { color: var(--ink); }
.footer__bottom { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--hairline); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.footer__bottom p { font-size: 13px; color: var(--mute); }

/* ===== Animations ===== */
@keyframes shimmer { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } }
.reveal { opacity: 1; transform: translateY(0); transition: opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1); }
.reveal.is-pre { opacity: 0; transform: translateY(28px); }

/* ===== Responsive ===== */
@media (max-width: 960px) {
  .hero { grid-template-columns: 1fr; }
  .hero__visual { max-width: 560px; width: 100%; justify-self: center; }
  .grid-3 { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .nav__menu { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; gap: 0; background: var(--canvas); border-bottom: 1px solid var(--hairline); padding: 8px var(--pad-x) 16px; }
  .nav__menu.is-open { display: flex; }
  .nav__menu .nav__link { padding: 12px 0; border-bottom: 1px solid var(--hairline); }
  .nav__toggle { display: flex; }
  .nav__cta-full { display: none; }
  .band--hero { padding-top: 40px; }
  .hero { gap: 36px; }
  .grid-2 { grid-template-columns: 1fr; }
  .grid-4 { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr; }
  .stat { padding: 22px 20px; }
  .stat + .stat { border-left: 0; border-top: 1px solid var(--hairline); }
  .stat__label { max-width: none; }
  .step { grid-template-columns: 1fr; gap: 12px; padding: 24px 0; }
  .compare { min-width: 560px; }
  .ccell { padding: 13px 14px; font-size: 13px; }
  .footer__inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .display-xl { font-size: 31px; letter-spacing: -0.03em; }
  .display-md { font-size: 26px; }
  .lead { font-size: 15.5px; }
  .nav__brand { font-size: 16px; }
  .nav .pill--primary { padding: 8px 13px; font-size: 13px; }
  .hero__actions .pill { width: 100%; justify-content: center; }
  .hero__proof { font-size: 13px; }
  .mock__title { display: none; }
  .mock__body { padding: 16px; gap: 11px; }
  .msg { max-width: 92%; font-size: 13px; }
  .card { padding: 20px; }
  .callout { padding: 16px 18px; }
  .step__title { font-size: 18px; }
  .cta { padding: 36px 20px; }
  .cta .pill { width: 100%; justify-content: center; white-space: normal; text-align: center; }
  .footer__inner { grid-template-columns: 1fr; }
  .footer__bottom { flex-direction: column; }
  .faq-card { padding: 4px 20px; }
  .faq2__trigger { font-size: 15px; }
  .faq2__trigger::before { left: -20px; }
}

/* ===== Écrans tactiles (pas de hover) ===== */
@media (hover: none) {
  .grid-2 .card:hover, .grid-3 .card:hover, .grid-4 .card:hover { transform: none; border-color: var(--hairline); }
  .card:not(.cta):hover::after { opacity: 0; }
  .card:hover .icon-chip { transform: none; }
  .pill:hover { background: transparent; }
  .pill--primary:hover { box-shadow: none; background: var(--ink); }
}

/* ===== Reduced motion ===== */
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal.is-pre { opacity: 1; transform: none; transition: none; }
  .cta::before { animation: none; }
  .band--hero::before, .band--hero::after { animation: none; }
  .grid-2 .card:hover, .grid-3 .card:hover, .grid-4 .card:hover { transform: none; }
  .card:hover .icon-chip { transform: none; }
  .faq2__content, .faq2__chev { transition: none; }
  .faq2__trigger::before { animation: none; }
  .typing i, .mock__pulse { animation: none; }
}

/* ===== Hero centré + champ de démarrage ===== */
.hero--center {
  display: block;
  max-width: 880px;
  text-align: center;
}
.hero--center .eyebrow { display: inline-block; }
.hero--center h1 { margin-top: 20px; }
.hero--center .hero__sub { margin-left: auto; margin-right: auto; max-width: 62ch; }
.hero--center .hero__proof { margin-top: 18px; }

.hero-form {
  margin: 32px auto 0;
  display: flex; align-items: stretch; justify-content: center; gap: 10px;
  max-width: 560px;
}
.hero-form__field {
  position: relative; flex: 1; display: flex; align-items: center;
  border: 1px solid var(--hairline); border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, .03);
  transition: border-color .18s ease, background-color .18s ease, box-shadow .3s ease;
}
.hero-form__field:focus-within {
  border-color: var(--acc);
  background: rgba(122, 92, 255, .06);
  box-shadow: 0 0 24px rgba(122, 92, 255, .18);
}
.hero-form__prefix { display: flex; align-items: center; padding-left: 18px; color: var(--mute); }
.hero-form__input {
  flex: 1; width: 100%;
  font-family: var(--font); font-size: 15px; line-height: 20px; color: var(--ink);
  padding: 14px 18px 14px 11px;
  border: 0; background: transparent; border-radius: var(--radius-pill);
}
.hero-form__input::placeholder { color: var(--mute); }
.hero-form__input:focus { outline: none; }
.hero-form .pill { flex-shrink: 0; }

/* elma agency — direction éditoriale, immersive et digitale */
:root{--canvas:#fafafa;--canvas-alt:#eef1ff;--canvas-card:#fff;--hairline:rgba(17,19,41,.12);--hairline-soft:rgba(17,19,41,.07);--ink:#14171f;--body:#4d5069;--mute:#71738b;--pill-border:rgba(17,19,41,.18);--radius:24px;--maxw:1360px;--pad-x:clamp(20px,4.5vw,64px);--band:clamp(92px,12vw,172px);--font:'Manrope',sans-serif;--serif:'Manrope',serif;--mono:'Manrope',monospace;--acc:#4260e4;--acc-blue:#4260e4;--acc-soft:#6b84ff;--acc-dim:rgba(66,96,228,.09);--lavender:#a7b8ff;--coral:#a7b8ff;--night:#14171f;--grad:linear-gradient(120deg,#4260e4,#6b84ff)}
body{background:var(--canvas);color:var(--ink)}::selection{background:var(--lavender);color:var(--night)}.container{max-width:var(--maxw)}

/* Navigation */
.nav{position:relative;background:var(--canvas);border:0;backdrop-filter:none}.nav__inner{min-height:84px;padding-top:0;padding-bottom:0}.nav__brand{font-family:var(--font);font-size:34px;font-weight:600;letter-spacing:-.075em}.nav__brand span{color:var(--acc)}.nav__menu{gap:32px}.nav__link{color:var(--ink);font-size:13px}.nav__actions .pill{background:var(--night);color:#fff;border:0;box-shadow:none}.nav__actions .pill:hover{background:#252847;box-shadow:none}.nav__toggle span{background:var(--ink)}

/* Typographie */
.eyebrow{color:var(--mute);font-size:11px;letter-spacing:.16em}.eyebrow::before{display:none}.display-xl,.display-md{text-wrap:balance}.display-xl{font-size:clamp(52px,7.6vw,112px);line-height:.91;letter-spacing:-.065em}.display-md{font-size:clamp(44px,6vw,82px);line-height:.98;letter-spacing:-.055em}.head{max-width:960px}.head h2{margin-top:22px}.head .lead{max-width:620px}.lead{color:var(--body)}.muted{color:var(--mute)}.grad-text{background:none;-webkit-text-fill-color:var(--acc);color:var(--acc)}.display-xl .grad-text,.display-md .grad-text{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.035em}

/* Hero — horizon lumineux et cartographie orbitale */
.band--hero{margin:0 clamp(8px,2vw,28px);padding:0;min-height:min(790px,calc(100vh - 108px));border-radius:clamp(22px,2.5vw,38px);display:grid;place-items:center;color:#fff;isolation:isolate;background:radial-gradient(circle at 0 0,#7470bd 0,transparent 38%),radial-gradient(circle at 94% 18%,rgba(103,111,219,.26),transparent 29%),linear-gradient(135deg,#292d71 0%,#151832 58%,#0a0c20 100%)}.band--hero::before{z-index:-1;left:-14%;top:auto;bottom:-31%;width:128%;height:50%;border-radius:50% 50% 0 0;filter:none;background:#172174;box-shadow:0 -2px 2px #fff,0 -10px 26px #c1c1ff,0 -38px 100px #5361ff;transform:rotate(-4deg);animation:none}.band--hero::after,.hero-dots{display:none}.hero.hero--center{align-items:flex-start;text-align:left;max-width:var(--maxw);padding-top:clamp(68px,8vw,110px);padding-bottom:120px}.hero--center .eyebrow,.hero--center .hero__sub,.hero--center .hero-form,.hero--center .hero__proof{align-self:flex-start}.hero h1{max-width:970px;margin-top:32px}.hero .grad-text{color:#a7b8ff;-webkit-text-fill-color:#a7b8ff}.hero__sub{max-width:580px;color:#e1e2ef;font-size:clamp(16px,1.6vw,19px)}.hero-form{max-width:660px}.hero-form__field{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.26);color:#fff}.hero-form__field:focus-within{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.12)}.hero-form__input{color:#fff}.hero-form__input::placeholder{color:rgba(255,255,255,.58)}.hero-form .pill{background:#fff;color:var(--night);border-color:#fff}.hero-form .pill:hover{background:var(--lavender);box-shadow:none}.hero__proof{color:#c7c8da}.hero-asset{position:absolute;right:clamp(-105px,1vw,18px);top:clamp(72px,7vw,105px);width:min(43vw,580px);height:auto;z-index:0;opacity:.72;filter:drop-shadow(0 28px 50px rgba(0,0,0,.2));pointer-events:none}

/* Actions */
.pill{min-height:46px;border-color:var(--pill-border);color:var(--ink);transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .16s ease}.pill:hover{transform:translateY(-2px);background:var(--lavender)}.pill:active{transform:scale(.97)}.pill--primary{background:var(--acc);color:#fff;border-color:var(--acc)}.pill--primary:hover{background:#273be7;box-shadow:none}

/* Bande de preuves */
.band--sm{padding-top:42px;padding-bottom:42px}.stats{background:#fff;border:0;border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 0 var(--hairline)}.stat{padding:clamp(28px,4vw,52px)}.stat+.stat{border-left-color:var(--hairline)}.stat__num{font-size:clamp(34px,4vw,54px)}

/* Cartes sur mesure */
.band--alt{background:transparent;border:0}.card{padding:clamp(26px,3vw,44px);min-height:320px;border:0;border-radius:var(--radius);background:#fff;color:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 1px 0 var(--hairline)}.card__title{font-size:clamp(22px,2.3vw,32px);font-weight:400;letter-spacing:-.035em;line-height:1.12}.card__intro{color:var(--body)}.card__tag{top:24px;right:24px;color:var(--ink);background:rgba(255,255,255,.65);border-color:var(--hairline)}.icon-chip{width:72px;height:72px;margin-bottom:auto;border-radius:50%;color:var(--acc);background:rgba(255,255,255,.38);border-color:rgba(255,255,255,.5);backdrop-filter:blur(8px)}.icon-chip svg{width:27px;height:27px}.card:not(.cta)::after{opacity:1;background:radial-gradient(340px circle at 75% 20%,rgba(255,255,255,.56),transparent 66%)}.grid-2,.grid-3{gap:16px}.grid-3{grid-template-columns:repeat(12,1fr)}.grid-3>.card{grid-column:span 4}.prob-grid>.card:nth-child(1),#niches .grid-3>.card:nth-child(1),#niches .grid-3>.card:nth-child(4){background:radial-gradient(circle at 80% 15%,#fff 0,transparent 34%),var(--lavender)}.prob-grid>.card:nth-child(2),#niches .grid-3>.card:nth-child(2),#niches .grid-3>.card:nth-child(5){background:radial-gradient(circle at 80% 10%,#6570c8 0,transparent 38%),var(--night);color:#fff}.prob-grid>.card:nth-child(2) .muted,#niches .grid-3>.card:nth-child(2) .muted,#niches .grid-3>.card:nth-child(5) .muted{color:#caccdb}.prob-grid>.card:nth-child(3),#niches .grid-3>.card:nth-child(3),#niches .grid-3>.card:nth-child(6){background-color:#fff;background-image:linear-gradient(var(--hairline-soft) 1px,transparent 1px),linear-gradient(90deg,var(--hairline-soft) 1px,transparent 1px);background-size:32px 32px}.sol-grid{grid-template-columns:repeat(12,1fr)}.sol-grid>.card{grid-column:span 6;min-height:370px}.sol-grid>.card:nth-child(1),.sol-grid>.card:nth-child(4){background:radial-gradient(circle at 85% 10%,#fff 0,transparent 35%),var(--lavender)}.sol-grid>.card:nth-child(2){background:radial-gradient(circle at 85% 15%,rgba(244,119,104,.16),transparent 28%),radial-gradient(circle at 72% 35%,#4a55a8 0,transparent 37%),var(--night);color:#fff}.sol-grid>.card:nth-child(2) .muted{color:#caccdb}.sol-grid>.card:nth-child(3){background:#fff}.dot-list li{color:var(--body)}.dot-list li::before{color:var(--acc)}

/* Callouts, comparatif, processus */
.callout{border:0;border-radius:var(--radius);padding:clamp(28px,4vw,48px);background:var(--lavender)}.callout p{color:var(--body)}.callout--plain{background:#fff}.compare-wrap{border-radius:var(--radius);overflow:hidden;background:var(--night);color:#fff;border:0}.compare{border-color:rgba(255,255,255,.1)}.crow{border-color:rgba(255,255,255,.1)}.ctext-mute{color:#a8aabd}.celma{background:rgba(220,218,244,.08)}.ctext-good,.ccheck{color:#c5c3ff}#methode>.container{padding-top:clamp(52px,7vw,90px);padding-bottom:clamp(52px,7vw,90px);border-radius:34px;background:radial-gradient(circle at 85% 8%,#343c8b 0,transparent 30%),var(--night);color:#fff}#methode .head{padding:0 clamp(24px,4vw,58px)}#methode .lead{color:#c9cad9}.steps{margin-left:clamp(24px,4vw,58px);margin-right:clamp(24px,4vw,58px)}.step{border-color:rgba(255,255,255,.12)}.step__num{color:#aaaaff}.step__kicker,.step__title{color:#fff}

/* Assets narratifs et portfolio logiciel */
.process-visual{position:relative;margin:54px 0 18px;padding:clamp(20px,3vw,34px);border-radius:var(--radius);overflow:hidden;background:var(--night)}.process-visual img{display:block;width:100%;height:auto}.process-visual figcaption{position:absolute;left:30px;bottom:22px;color:#c8c9dc;font:10px var(--mono);letter-spacing:.16em;text-transform:uppercase}.portfolio{padding-top:clamp(78px,10vw,136px)}.portfolio-grid{display:grid;grid-template-columns:1.16fr .84fr;gap:16px;margin-top:56px}.work-card{position:relative;min-height:650px;border-radius:var(--radius);overflow:hidden;padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;isolation:isolate}.work-card__copy{position:relative;z-index:2;max-width:560px}.work-card .card__tag{position:static;display:inline-flex;margin-bottom:clamp(72px,11vw,150px)}.work-card h3{max-width:540px;font-size:clamp(38px,5vw,68px);line-height:.96;letter-spacing:-.055em;font-weight:400}.work-card p:not(.eyebrow){max-width:540px;margin-top:22px;line-height:1.65}.work-card__facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;padding:0;list-style:none}.work-card__facts li{padding:9px 12px;border:1px solid currentColor;border-radius:999px;font-size:11px;opacity:.74}.work-card--zestelio{background:var(--lavender)}.work-card--zestelio>img{position:absolute;right:-15%;bottom:-19%;width:min(72%,690px);height:auto;opacity:.95;filter:drop-shadow(0 28px 50px rgba(17,19,41,.16));z-index:1}.booking-visual{position:absolute;right:-12%;bottom:-12%;width:78%;aspect-ratio:1/.88;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:rgba(255,255,255,.07);transform:rotate(-5deg);box-shadow:0 30px 80px rgba(0,0,0,.28);overflow:hidden}.booking-visual__rail{position:absolute;inset:0 auto 0 0;width:24%;padding:20px 14px;border-right:1px solid rgba(255,255,255,.1)}.booking-visual__rail i{display:block;height:8px;margin-bottom:16px;border-radius:5px;background:rgba(255,255,255,.18)}.booking-visual__day{position:absolute;inset:18px 18px 18px 28%;border-radius:17px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 42px,rgba(255,255,255,.08) 43px)}.booking-visual__day span{display:block;height:31%;font:9px var(--mono);color:#8f92b2}.booking-visual__day b{position:absolute;left:25%;right:5%;top:var(--y);height:var(--h);padding:12px;border-radius:12px;background:linear-gradient(135deg,var(--coral),#ff9b8f);color:var(--night);font-size:11px;font-weight:600;animation:slot-in .55s cubic-bezier(.22,1,.36,1) both}.booking-visual__day b:nth-of-type(2){animation-delay:.12s;background:linear-gradient(135deg,#b8b6ff,#6f79ed)}.booking-visual__day b:nth-of-type(3){animation-delay:.24s;background:linear-gradient(135deg,#fff,#a7b8ff)}@keyframes slot-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}

/* FAQ, CTA, footer */
.faq2{border-top-color:var(--hairline)}.faq2__item{border-bottom-color:var(--hairline)}.faq2__trigger{color:var(--ink);font-size:clamp(18px,2vw,24px)}.faq2__content{color:var(--body)}.faq-card{background:transparent;border:0;padding:0;min-height:0}#diagnostic{margin:0 clamp(8px,2vw,28px) clamp(8px,2vw,28px);border-radius:34px;overflow:hidden;color:#fff;background:radial-gradient(circle at 80% 15%,#4d579e 0,transparent 27%),radial-gradient(circle at 12% 100%,rgba(244,119,104,.25),transparent 27%),var(--night)}#diagnostic .lead,#diagnostic .muted{color:#d0d1df}#diagnostic .display-md .grad-text{color:var(--coral);-webkit-text-fill-color:var(--coral)}.cta{background:transparent;color:#fff;border:0;box-shadow:none;min-height:0}.cta .pill--primary{background:#fff;color:var(--night);border-color:#fff}.cta .pill--primary:hover{background:var(--lavender)}.footer{background:var(--canvas);border-top-color:var(--hairline);color:var(--body)}.footer__brand{color:var(--ink);font-size:28px;letter-spacing:-.06em}.footer__title{color:var(--ink)}

@media(max-width:900px){.nav__menu{background:var(--canvas);border-bottom-color:var(--hairline)}.band--hero{min-height:720px}.hero.hero--center{padding-top:76px}.hero-asset{width:500px;right:-190px;top:35px;opacity:.28}.grid-3,.sol-grid,.portfolio-grid{grid-template-columns:1fr}.grid-3>.card,.sol-grid>.card{grid-column:auto}.work-card{min-height:590px}}
@media(max-width:600px){:root{--radius:20px}.nav__inner{min-height:72px}.nav__brand{font-size:28px}.band--hero{min-height:760px}.hero.hero--center{padding:70px 24px 120px}.display-xl{font-size:clamp(48px,14vw,62px)}.display-md{font-size:clamp(39px,11vw,52px)}.hero-asset{width:400px;right:-210px;top:30px}.hero-form{align-items:stretch}.hero-form .pill{width:100%}.stats{grid-template-columns:1fr}.stat+.stat{border-left:0;border-top:1px solid var(--hairline)}.card{min-height:360px}#methode>.container,#diagnostic{border-radius:24px}}
@media(prefers-reduced-motion:reduce){.pill{transition:none}.booking-visual__day b{animation:none}}

/* Direction épurée : aucune illustration narrative animée */
.hero-asset,.process-visual{display:none!important}.booking-visual__day b{animation:none!important}

/* CTA final éditorial */
#diagnostic{background:radial-gradient(circle at 90% 0,rgba(244,119,104,.18),transparent 26%),var(--night)}
#diagnostic .grad-text{color:var(--lavender);-webkit-text-fill-color:var(--lavender)}
.closing-cta{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(48px,8vw,130px);align-items:end;padding-top:clamp(72px,10vw,140px);padding-bottom:clamp(72px,10vw,140px)}
.closing-cta__title h2{margin-top:22px}
.closing-cta__action{padding-bottom:8px}
.closing-cta__action .lead{max-width:540px;color:#cfd0dd}
.closing-cta__action .pill{margin-top:34px;background:#fff;color:var(--night);border-color:#fff}
.closing-cta__action .pill:hover{background:var(--lavender)}
.closing-cta__mail{display:block;width:max-content;margin-top:20px;color:#cfd0dd;font-size:13px;border-bottom:1px solid rgba(255,255,255,.32)}
@media(max-width:900px){.closing-cta{grid-template-columns:1fr;align-items:start}}

/* Fenêtre produit — structure inspirée des démonstrations SaaS, identité Elma */
.product-stage{margin-top:56px;padding:clamp(10px,2vw,24px);border-radius:30px;background:linear-gradient(135deg,#a7b8ff 0%,#bdbcf0 52%,#f3bbb4 100%);box-shadow:inset 0 1px rgba(255,255,255,.7)}
.product-stage :where(h3,p,small,strong,em){margin:0}.product-stage button{font:inherit}
.product-stage__bar{min-height:52px;padding:0 16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border:1px solid rgba(255,255,255,.1);border-bottom:0;border-radius:16px 16px 0 0;background:#14171f;color:#fff}
.product-stage__lights{display:flex;gap:6px}.product-stage__lights i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18)}
.product-stage__tabs{align-self:stretch;display:flex}.product-stage__tabs button{position:relative;padding:0 20px;border:0;background:transparent;color:#777a94;font-size:12px;cursor:pointer}.product-stage__tabs button[aria-selected="true"]{color:#fff;background:rgba(255,255,255,.06)}.product-stage__tabs button[aria-selected="true"]::after{content:"";position:absolute;inset:auto 18px 0;height:2px;background:var(--coral)}.product-stage__tabs button:focus-visible{outline:2px solid var(--lavender);outline-offset:-4px}
.product-stage__status{justify-self:end;font:10px var(--mono);letter-spacing:.08em;color:#b9bbce}.product-stage__status i{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#70d69a}
.product-stage__panel{min-height:620px;display:grid;grid-template-columns:210px 1fr;border:1px solid rgba(255,255,255,.1);border-radius:0 0 16px 16px;overflow:hidden;background:#fafafa;color:var(--ink)}.product-stage__panel[hidden]{display:none}
.product-sidebar{display:flex;flex-direction:column;padding:28px 20px;background:#151832;color:#fff}.product-sidebar>strong{font-size:21px;letter-spacing:-.055em}.product-sidebar>strong span{color:var(--coral)}.product-sidebar nav{display:grid;gap:6px;margin-top:54px}.product-sidebar nav span,.product-sidebar nav b{padding:10px 12px;border-radius:8px;font-size:12px;font-weight:500}.product-sidebar nav span{color:#9295ad}.product-sidebar nav b{background:rgba(220,218,244,.11);color:#fff}.product-sidebar>small{margin-top:auto;color:#85889f;font:10px/1.6 var(--mono);text-transform:uppercase}.product-sidebar--neety>strong span{color:#bcbaff}
.product-canvas{padding:clamp(24px,4vw,50px);background:#fafafa}.product-canvas>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.product-canvas>header small{color:var(--mute);font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em}.product-canvas>header h3{margin-top:7px;font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:-.05em}.product-canvas>header button{padding:11px 15px;border:0;border-radius:9px;background:var(--acc);color:#fff;font-size:12px;font-weight:600}
.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:40px}.metric-row article{min-height:145px;padding:20px;border:1px solid var(--hairline);border-radius:14px;background:#fff;display:flex;flex-direction:column}.metric-row small{color:var(--mute);font-size:11px}.metric-row strong{margin-top:auto;font-size:clamp(25px,3vw,38px);letter-spacing:-.05em}.metric-row em{margin-top:5px;color:#4e9c6b;font-size:10px;font-style:normal}.metric-row__focus{background:var(--night)!important;color:#fff}.metric-row__focus small{color:#a9abc0}.metric-row__focus strong{color:var(--lavender)}
.product-table{margin-top:12px;border:1px solid var(--hairline);border-radius:14px;background:#fff;overflow:hidden}.product-table>div{min-height:64px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--hairline-soft)}.product-table>div:last-child{border-bottom:0}.product-table>div:first-child{min-height:46px;background:#fafafd;font-size:11px;color:var(--mute)}.product-table p{display:flex;align-items:center;gap:12px;font-size:12px}.product-table p i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lavender);font-size:9px;font-style:normal}.product-table p small{color:var(--mute);font-size:10px}.product-table>div>strong{font-size:12px;color:#4e9c6b}
.calendar-head{display:grid;grid-template-columns:50px repeat(4,1fr);margin-top:36px;border-bottom:1px solid var(--hairline)}.calendar-head b{padding:12px;text-align:center;font-size:11px}.calendar-grid{height:350px;display:grid;grid-template-columns:50px 1fr}.calendar-hours{display:flex;flex-direction:column;justify-content:space-around;color:var(--mute);font:9px var(--mono)}.calendar-columns{position:relative;background:linear-gradient(90deg,transparent 24.8%,var(--hairline-soft) 25%,transparent 25.2%,transparent 49.8%,var(--hairline-soft) 50%,transparent 50.2%,transparent 74.8%,var(--hairline-soft) 75%,transparent 75.2%),repeating-linear-gradient(0deg,transparent 0,transparent 68px,var(--hairline-soft) 69px)}.calendar-columns article{position:absolute;top:var(--start);left:calc(var(--day)*25% + 5px);width:calc(25% - 10px);height:var(--duration);padding:12px;border-radius:10px;background:var(--lavender);font-size:11px;font-weight:600;color:var(--night)}.calendar-columns article:nth-child(2){background:#ffd7d1}.calendar-columns article:nth-child(3){background:#cbd0ff}.calendar-columns article:nth-child(4){background:#e9e8f8}.calendar-columns article small{display:block;margin-top:5px;color:#5f6177;font-size:9px;font-weight:400}
@media(max-width:760px){.product-stage{padding:7px;border-radius:22px}.product-stage__bar{grid-template-columns:auto 1fr}.product-stage__lights,.product-stage__status{display:none}.product-stage__tabs{justify-content:center}.product-stage__panel{grid-template-columns:1fr;min-height:0}.product-sidebar{display:none}.product-canvas{padding:22px 16px}.metric-row{grid-template-columns:1fr}.metric-row article{min-height:112px}.product-table>div:nth-child(n+4){display:none}.calendar-columns article{padding:7px 5px;font-size:9px}.calendar-columns article small{font-size:8px}}

/* Architecture de page SaaS : hero centré, démonstration produit immédiate */
.band--hero{margin:0;padding:clamp(78px,9vw,128px) 0 48px;min-height:0;border-radius:0;display:block;color:var(--ink);background:var(--canvas)}
.band--hero::before{display:none}.hero.hero--center{align-items:center;text-align:center;max-width:1120px;padding:0 var(--pad-x)}
.hero--center .eyebrow,.hero--center .hero__sub,.hero--center .hero-form,.hero--center .hero__proof{align-self:center}
.hero-badge{display:flex;width:max-content;align-items:center;gap:9px;margin-bottom:30px;padding:5px 6px 5px 12px;border:1px solid var(--hairline);border-radius:999px;color:var(--body);font-size:12px;font-weight:500;background:#fff}
.hero-badge span{padding:4px 8px;border-radius:999px;background:var(--lavender);color:var(--night);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.hero-badge b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--night);color:#fff;font-weight:400}
.hero h1{max-width:1030px;margin-top:28px}.hero .grad-text{color:var(--acc);-webkit-text-fill-color:var(--acc)}
.hero__sub{max-width:760px;color:var(--body);font-size:clamp(16px,1.55vw,20px)}.hero-form{max-width:none;display:flex;align-items:center;justify-content:center;gap:10px}.hero-form .pill{background:var(--night);color:#fff;border-color:var(--night)}.hero-form .pill--ghost{background:transparent;color:var(--ink);border-color:var(--hairline)}.hero-form .pill--ghost:hover{background:var(--lavender)}.hero__proof{color:var(--mute)}
.portfolio{padding:0 0 clamp(54px,8vw,100px)}.portfolio .head{display:none}.product-stage{margin-top:0}.portfolio+.band--sm{padding-top:18px}
.stats{box-shadow:none;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);border-radius:0;background:transparent}.stat__num{font-size:clamp(28px,3vw,42px)}
@media(max-width:900px){.band--hero{min-height:0;padding-top:64px}.hero.hero--center{padding-top:0}.hero-form{flex-wrap:wrap}}
@media(max-width:600px){.band--hero{min-height:0;padding:48px 0 28px}.hero.hero--center{padding:0 20px}.hero-badge{margin-bottom:24px}.hero-form{width:100%;align-items:stretch}.hero-form .pill{width:100%}.product-stage__tabs button{padding:0 14px}}

:root{--saas-black:#080912;--saas-panel:#14171f;--saas-line:rgba(255,255,255,.11);--saas-muted:#9799ad}
body{background:var(--saas-black);color:#fff}.nav{background:rgba(8,9,18,.88);border-bottom:1px solid var(--saas-line);backdrop-filter:blur(18px)}.nav__brand,.nav__link{color:#fff}.nav__actions .pill{background:#fff;color:var(--night)}.nav__toggle span{background:#fff}
.saas-page{overflow:hidden;background:var(--saas-black);font-family:var(--font)}.saas-page .eyebrow{color:#85889c}.saas-page em{font-family:var(--serif);font-weight:400}.saas-page .container{max-width:1240px}
.saas-hero{padding:clamp(110px,13vw,190px) 0 58px;text-align:center;background:radial-gradient(circle at 50% 5%,rgba(78,74,175,.21),transparent 32%)}.saas-hero__inner{display:flex;flex-direction:column;align-items:center}.saas-hero .hero-badge{margin-bottom:30px;background:rgba(255,255,255,.04);border-color:var(--saas-line);color:#b9bac8}.saas-hero .hero-badge span{background:rgba(220,218,244,.13);color:#deddf2}.saas-hero .hero-badge b{background:#fff;color:var(--night)}.saas-hero h1{max-width:980px;margin:28px 0 0;font-size:clamp(55px,7.5vw,106px);line-height:.91;letter-spacing:-.065em;font-weight:500}.saas-hero h1 em{color:var(--lavender)}.saas-hero__lead{max-width:690px;margin-top:30px;color:#b4b6c6;font-size:clamp(16px,1.6vw,20px);line-height:1.65}.saas-actions{display:flex;gap:10px;margin-top:34px}.saas-page .pill--light{background:#fff;color:var(--night);border-color:#fff}.saas-page .pill--dark{background:transparent;color:#fff;border-color:var(--saas-line)}
.saas-page .portfolio{padding:10px 0 70px;background:transparent}.saas-page .product-stage{padding:12px;background:linear-gradient(135deg,#7a72cd,#d0b1c7 55%,#a7b8ff);border-radius:18px}.saas-page .product-stage__panel{min-height:610px}.saas-page .product-stage__bar{background:#090a13}.saas-page .product-canvas{background:#f5f5f8}
.saas-proof{padding:36px 0 110px;text-align:center}.saas-proof p{color:#656779;font-size:12px}.saas-proof div div{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(20px,4vw,56px);margin-top:30px;color:#77798b;font-size:14px;font-weight:600}
.saas-chapter{padding:clamp(100px,14vw,190px) 0;background:#fff;color:var(--night)}.saas-chapter__head{max-width:850px;margin:0 auto;text-align:center}.saas-chapter h2,.saas-system h2,.saas-blocks h2,.saas-final h2{margin-top:22px;font-size:clamp(46px,6.2vw,82px);line-height:.97;letter-spacing:-.058em;font-weight:500}.saas-chapter h2 em{color:var(--acc)}.saas-chapter__head>p:last-child{max-width:650px;margin:28px auto 0;color:var(--body);font-size:17px;line-height:1.7}.saas-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:76px}.saas-strip article{min-height:270px;padding:28px;border:1px solid var(--hairline);border-radius:16px;background:#fafafa;display:flex;flex-direction:column}.saas-strip span{color:var(--acc);font:10px var(--mono)}.saas-strip b{margin-top:auto;font-size:24px;font-weight:500}.saas-strip p{margin-top:12px;color:var(--mute);font-size:13px;line-height:1.55}.saas-strip article:nth-child(2){background:var(--lavender)}.saas-strip article:nth-child(4){background:var(--night);color:#fff}.saas-strip article:nth-child(4) p{color:#aaacbd}
.saas-system{padding:clamp(110px,14vw,190px) 0;background:radial-gradient(circle at 80% 20%,rgba(63,72,178,.22),transparent 28%),var(--saas-black)}.saas-system__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(60px,8vw,130px);align-items:center}.saas-system__copy h2 em{color:var(--lavender)}.saas-system__copy>p:not(.eyebrow){margin-top:28px;color:#aeb0c0;line-height:1.7}.saas-system__copy>a{display:inline-block;margin-top:30px;color:#fff;border-bottom:1px solid #77798c;padding-bottom:4px}.saas-console{border:1px solid var(--saas-line);border-radius:16px;background:#0d0e19;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.45)}.saas-console header{height:48px;display:flex;align-items:center;gap:7px;padding:0 16px;border-bottom:1px solid var(--saas-line)}.saas-console header i{width:7px;height:7px;border-radius:50%;background:#343646}.saas-console header span{margin-left:auto;color:#626478;font:9px var(--mono)}.saas-console__map{min-height:480px;padding:70px 10%;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;align-content:center;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:28px 28px}.node{padding:20px;border:1px solid var(--saas-line);border-radius:10px;background:#141622;color:#e5e5ee;font-size:13px}.node small{display:block;margin-top:8px;color:#737589;font-size:10px}.node--main{grid-column:span 2;background:#1b1d32;border-color:rgba(220,218,244,.24)}.node--accent{border-color:rgba(244,119,104,.45);box-shadow:inset 3px 0 var(--coral)}.saas-console footer{display:flex;justify-content:center;gap:18px;padding:20px;border-top:1px solid var(--saas-line);color:#7d7f92;font:10px var(--mono)}.saas-console footer b{color:var(--coral)}
.saas-blocks{padding:clamp(110px,14vw,190px) 0;background:#0b0c15}.saas-blocks__head{max-width:850px;margin:auto;text-align:center}.saas-blocks h2 em{color:var(--lavender)}.saas-block-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:70px}.saas-block-grid article{position:relative;min-height:300px;padding:30px;border:1px solid var(--saas-line);border-radius:12px;background:linear-gradient(145deg,#151621,#0e0f19);overflow:hidden}.saas-block-grid article.wide{grid-column:span 2}.saas-block-grid article>span{color:#646679;font:10px var(--mono)}.saas-block-grid h3{margin-top:100px;font-size:27px;font-weight:500;letter-spacing:-.035em}.saas-block-grid p{max-width:390px;margin-top:14px;color:#8f91a4;font-size:13px;line-height:1.6}.saas-block-grid .coral{background:var(--coral);color:var(--night)}.saas-block-grid .coral span,.saas-block-grid .coral p{color:rgba(17,19,41,.67)}.mini-ui{position:absolute;right:28px;top:28px;width:42%;height:100px;border:1px solid var(--saas-line);border-radius:9px;padding:12px}.mini-ui i{display:block;width:70%;height:7px;margin-bottom:9px;border-radius:3px;background:#303242}.mini-ui b{display:block;width:45%;height:26px;margin-top:20px;border-radius:6px;background:var(--lavender)}
.saas-final{padding:clamp(120px,16vw,220px) 0;text-align:center;background:radial-gradient(circle at 50% 90%,rgba(64,75,207,.3),transparent 32%),var(--saas-black)}.saas-final h2 em{color:var(--coral)}.saas-final>div>div{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:38px}.saas-final>div>div>a:last-child{color:#9496a8;font-size:13px;border-bottom:1px solid #4d4f61}.footer{background:var(--saas-black);border-color:var(--saas-line);color:#77798c}.footer__brand,.footer__title{color:#fff}
@media(max-width:900px){.saas-strip{grid-template-columns:repeat(2,1fr)}.saas-system__grid{grid-template-columns:1fr}.saas-block-grid{grid-template-columns:1fr 1fr}.saas-block-grid article.wide{grid-column:span 2}}
@media(max-width:600px){.nav__menu{background:var(--saas-black)}.saas-hero{padding-top:88px}.saas-hero h1{font-size:51px}.saas-actions{width:100%;flex-direction:column}.saas-strip,.saas-block-grid{grid-template-columns:1fr}.saas-block-grid article.wide{grid-column:auto}.saas-system__grid{gap:46px}.saas-console__map{min-height:390px;padding:34px 18px}.saas-final>div>div{flex-direction:column}}

/* Collection d’assets techniques — variations statiques, même grammaire */
.tech-visual{position:relative;width:100%;height:112px;margin:22px 0 26px;color:var(--acc)}.saas-strip b{margin-top:0}.tech-visual i{position:absolute;display:block}
.tech-visual--orbit{width:112px;margin-inline:auto;border:1px solid rgba(66,96,228,.22);border-radius:50%}.tech-visual--orbit:before,.tech-visual--orbit:after{content:"";position:absolute;border:1px solid rgba(66,96,228,.28);border-radius:50%}.tech-visual--orbit:before{inset:18px}.tech-visual--orbit:after{inset:38px}.tech-visual--orbit i{width:8px;height:8px;border-radius:50%;background:currentColor}.tech-visual--orbit i:nth-child(1){left:8px;top:28px}.tech-visual--orbit i:nth-child(2){right:21px;bottom:8px;background:var(--coral)}.tech-visual--orbit i:nth-child(3){left:52px;top:52px}
.tech-visual--scope{display:flex;align-items:center;justify-content:center;gap:9px}.tech-visual--scope i{position:static;width:9px;border:1px solid rgba(17,19,41,.26);border-radius:5px}.tech-visual--scope i:nth-child(1){height:38px}.tech-visual--scope i:nth-child(2){height:72px}.tech-visual--scope i:nth-child(3){height:98px;background:rgba(66,96,228,.08)}.tech-visual--scope i:nth-child(4){height:58px}.tech-visual--scope i:nth-child(5){height:28px}
.tech-visual--modules{display:grid;grid-template-columns:repeat(2,50px);grid-template-rows:repeat(2,50px);place-content:center;gap:8px}.tech-visual--modules i{position:static;border:1px solid rgba(17,19,41,.18);border-radius:8px}.tech-visual--modules i:nth-child(1){background:var(--night)}.tech-visual--modules i:nth-child(2){background:var(--lavender)}.tech-visual--modules i:nth-child(3){background:var(--coral)}
.tech-visual--signal{display:flex;align-items:center;justify-content:center;gap:7px}.tech-visual--signal i{position:static;width:5px;border-radius:4px;background:#4c4f68}.tech-visual--signal i:nth-child(1){height:20px}.tech-visual--signal i:nth-child(2){height:46px}.tech-visual--signal i:nth-child(3){height:78px;background:var(--coral)}.tech-visual--signal i:nth-child(4){height:58px}.tech-visual--signal i:nth-child(5){height:90px;background:var(--lavender)}.tech-visual--signal i:nth-child(6){height:32px}
.asset-window,.asset-workflow,.asset-docs,.asset-data,.asset-ai,.asset-signature{position:absolute;right:28px;top:28px;height:110px}.asset-window{width:46%;display:grid;grid-template-columns:24% 1fr;border:1px solid var(--saas-line);border-radius:9px;background:#0b0c15;overflow:hidden}.asset-window aside{border-right:1px solid var(--saas-line);background:#151725}.asset-window>div{padding:15px}.asset-window i{display:inline-block;width:26%;height:27px;margin-right:5px;border:1px solid var(--saas-line);border-radius:5px}.asset-window b{display:block;height:27px;margin-top:12px;border-radius:5px;background:linear-gradient(90deg,var(--lavender) 36%,#222434 36%)}
.asset-workflow{left:50%;right:auto;width:120px;transform:translateX(-50%)}.asset-workflow:before{content:"";position:absolute;left:15px;right:15px;top:53px;height:1px;background:#3a3d50}.asset-workflow i{position:absolute;top:43px;width:20px;height:20px;border:1px solid #50536a;border-radius:50%;background:#131520}.asset-workflow i:nth-child(1){left:0}.asset-workflow i:nth-child(2){left:33px;background:var(--lavender)}.asset-workflow i:nth-child(3){left:66px}.asset-workflow i:nth-child(4){left:99px;border-color:var(--coral)}
.asset-docs{left:50%;right:auto;width:110px;transform:translateX(-50%)}.asset-docs i{position:absolute;width:62px;height:82px;border:1px solid #3a3d50;border-radius:7px;background:#11131e;box-shadow:inset 0 12px #1d1f2d}.asset-docs i:nth-child(1){left:5px;top:13px;transform:rotate(-9deg)}.asset-docs i:nth-child(2){left:35px;top:8px;transform:rotate(8deg)}.asset-docs i:nth-child(3){left:23px;top:0;border-color:rgba(220,218,244,.35)}
.asset-data{left:50%;right:auto;width:130px;transform:translateX(-50%)}.asset-data:before,.asset-data:after{content:"";position:absolute;left:26px;right:26px;top:54px;height:1px;background:#343748;transform:rotate(23deg)}.asset-data:after{transform:rotate(-23deg)}.asset-data i,.asset-data b{position:absolute;width:12px;height:12px;border:1px solid #65687d;border-radius:50%;background:#11131e}.asset-data i:nth-child(1){left:8px;top:48px}.asset-data i:nth-child(2){right:8px;top:48px}.asset-data i:nth-child(3){left:39px;top:10px}.asset-data i:nth-child(4){right:39px;bottom:9px}.asset-data b{left:59px;top:48px;background:var(--coral);border-color:var(--coral)}
.asset-ai{left:50%;right:auto;width:130px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:9px;color:#777a90;font:10px var(--mono)}.asset-ai i{width:1px;height:54px;background:linear-gradient(transparent,var(--coral),transparent)}.asset-ai b:nth-of-type(2){color:var(--lavender);font-size:18px}
.asset-signature{width:42%;display:flex;align-items:center;justify-content:center;gap:8px}.asset-signature i{width:10px;height:10px;border:1px solid rgba(17,19,41,.46);transform:rotate(45deg)}.asset-signature i:nth-child(2){width:22px;height:22px}.asset-signature i:nth-child(3){width:40px;height:40px;border-radius:50%}.asset-signature i:nth-child(4){width:22px;height:22px}.asset-signature i:nth-child(5){border-radius:50%}
@media(max-width:600px){.tech-visual{height:100px}.asset-window,.asset-signature{width:46%}.saas-block-grid h3{margin-top:115px}}

.polar-page{--p-bg:#090a0a;--p-card:#111212;--p-line:#202121;--p-text:#f0f0ef;--p-muted:#777977;--p-soft:#a5a7a5;min-height:100vh;background:var(--p-bg);color:var(--p-text);font-family:var(--font)}
.nav{height:88px;padding:24px 48px;background:#090909;border:0;position:relative}.nav .container{width:100%;max-width:1356.8px;padding:0;min-height:40px}.nav__brand{width:100px;font-size:30px;line-height:30px}.nav__menu{gap:24px;margin-left:64px;margin-right:auto}.nav__link{font-size:20px;font-weight:400;line-height:27.5px;color:#858585}.nav__link:hover{color:#fff}.nav__actions{gap:16px}.nav__contact{display:flex;align-items:center;height:40px;padding:12px 20px;border-radius:999px;color:#fff;font-size:14px;font-weight:550;white-space:nowrap}.nav__actions .pill{min-height:40px;height:40px;padding:12px 20px;border-radius:999px;font-size:14px;font-weight:550}
.polar-page :where(h1,h2,h3,p,small,strong){margin:0}.polar-shell{width:min(100% - 48px,1356px);margin-inline:auto}.polar-section{padding:128px 0;border-bottom:1px solid #111}.polar-intro{padding-top:150px}.polar-heading{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:72px}.polar-heading--intro{grid-template-columns:1fr}.polar-kicker{font-size:25px;letter-spacing:-.035em}.polar-heading h1{margin-top:4px;font-size:clamp(48px,5.5vw,74px);line-height:.98;letter-spacing:-.055em;font-weight:450}.polar-heading h1 span,.polar-heading h2 span{color:#8b8d8b}.polar-heading h2{font-size:clamp(38px,4.2vw,58px);line-height:1.02;letter-spacing:-.05em;font-weight:450}.polar-heading>div>p{max-width:570px;margin-top:32px;color:var(--p-muted);font-size:16px;line-height:1.65}.polar-button{display:inline-flex;margin-top:28px;padding:12px 18px;border-radius:999px;background:#fff;color:#090a0a;font-size:13px;font-weight:600}
.polar-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.polar-card{position:relative;min-height:480px;padding:48px;border:1px solid var(--p-line);background:var(--p-card);display:flex;flex-direction:column}.polar-card>small{position:absolute;right:24px;top:22px;color:#4b4d4b;font:10px var(--mono)}.polar-card h3{margin-top:auto;font-size:20px;font-weight:500;letter-spacing:-.025em}.polar-card>p{margin-top:12px;color:var(--p-muted);font-size:13px;line-height:1.55}.polar-art{position:relative;height:240px}.polar-art i{position:absolute;display:block}.polar-art--process{width:190px;height:190px;margin:auto;border:1px solid #5f6260;border-radius:50%}.polar-art--process:before,.polar-art--process:after{content:"";position:absolute;border:1px solid #3d403e;border-radius:50%}.polar-art--process:before{inset:28px}.polar-art--process:after{inset:58px}.polar-art--process i{width:9px;height:9px;border-radius:50%;background:#ddd}.polar-art--process i:nth-child(1){top:22px;left:38px}.polar-art--process i:nth-child(2){right:15px;bottom:48px;background:var(--coral)}.polar-art--process i:nth-child(3){inset:90px;background:var(--lavender)}
.polar-art--flow{display:flex;align-items:center;justify-content:center;gap:16px}.polar-art--flow i{position:static;width:11px;border:1px solid #454745;border-radius:8px}.polar-art--flow i:nth-child(1){height:68px}.polar-art--flow i:nth-child(2){height:130px}.polar-art--flow i:nth-child(3){height:180px;border-color:#898b89}.polar-art--flow i:nth-child(4){height:116px}.polar-art--flow i:nth-child(5){height:55px}
.polar-art--data:before{content:"";position:absolute;left:30px;right:30px;top:117px;height:1px;background:#575957}.polar-art--data i{top:96px;width:42px;height:42px;border:1px solid #777a77;border-radius:50%;background:#111}.polar-art--data i:nth-child(1){left:20px}.polar-art--data i:nth-child(2){left:calc(50% - 21px);background:var(--lavender)}.polar-art--data i:nth-child(3){right:20px;border-color:var(--coral)}
.polar-art--rules{display:grid;grid-template-columns:repeat(2,54px);place-content:center;gap:35px}.polar-art--rules i{position:relative;width:54px;height:1px;background:#696b69}.polar-art--rules i:nth-child(1):after,.polar-art--rules i:nth-child(4):after{content:"";position:absolute;left:26px;top:-26px;width:1px;height:54px;background:#696b69}.polar-art--rules i:nth-child(2){transform:rotate(45deg)}.polar-art--rules i:nth-child(3){border:1px solid #696b69;background:transparent;width:34px;height:34px;border-radius:50%;justify-self:center;margin-top:-17px}.polar-art--rules i:nth-child(4){transform:rotate(45deg)}
.polar-card-grid--compact .polar-card{min-height:350px}.polar-sample{height:150px;display:flex;flex-direction:column;justify-content:center;gap:10px;color:#a4a6a4;font-size:11px}.polar-sample b,.polar-sample button{width:max-content;padding:6px 10px;border:0;border-radius:999px;background:#fff;color:#111;font-size:10px}.polar-sample--approval button{align-self:center}.polar-sample--status{display:grid;grid-template-columns:auto 1fr auto;align-items:center}.polar-sample--status i{width:7px;height:7px;border-radius:50%;background:#63d58c}.polar-sample--status b{background:var(--lavender)}.polar-sample--report strong{font-size:32px;color:#fff}.polar-sample--report small{color:#62bc80}
.polar-burst{position:relative;height:250px}.polar-burst:before,.polar-burst:after,.polar-burst i{content:"";position:absolute;left:50%;top:50%;width:1px;height:170px;background:linear-gradient(transparent,#737573,transparent);transform-origin:center}.polar-burst:after{transform:translate(-50%,-50%) rotate(60deg)}.polar-burst:before{transform:translate(-50%,-50%) rotate(-60deg)}.polar-burst i{transform:translate(-50%,-50%) rotate(90deg)}.polar-burst--two:before{transform:translate(-50%,-50%) rotate(-35deg)}.polar-burst--two:after{transform:translate(-50%,-50%) rotate(35deg)}.polar-burst--two i{height:220px;transform:translate(-50%,-50%) rotate(90deg)}.polar-burst--three:before{transform:translate(-50%,-50%) rotate(-15deg)}.polar-burst--three:after{transform:translate(-50%,-50%) rotate(15deg)}.polar-burst--three i{height:140px;transform:translate(-50%,-50%) rotate(90deg)}.polar-burst--four{border:1px solid #303230;border-radius:50%}.polar-burst--four:before{transform:translate(-50%,-50%) rotate(-45deg)}.polar-burst--four:after{transform:translate(-50%,-50%) rotate(45deg)}
.polar-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.polar-product{min-height:650px;border:1px solid var(--p-line);background:var(--p-card);display:flex;flex-direction:column}.polar-product__ui{margin:48px 48px 0;border:1px solid #292b29;background:#0c0d0d;min-height:410px}.polar-product__ui header{height:48px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #292b29;color:#777;font-size:11px}.polar-product__ui header b{color:#fff}.polar-product__ui>div{display:grid;grid-template-columns:120px 1fr;min-height:360px}.polar-product__ui aside{padding:30px 18px;border-right:1px solid #292b29}.polar-product__ui aside i{display:block;height:7px;margin-bottom:18px;border-radius:4px;background:#292b29}.polar-product__ui main{padding:70px 40px;display:flex;flex-direction:column}.polar-product__ui main small{color:#656765}.polar-product__ui main strong{margin-top:20px;color:var(--lavender);font-size:58px;letter-spacing:-.05em}.polar-product__ui main em{margin-top:12px;color:#777;font-size:12px}.polar-product>footer{margin-top:auto;padding:32px 48px 42px;border-top:1px solid var(--p-line)}.polar-product>footer span{font-size:20px}.polar-product>footer p{margin-top:10px;color:var(--p-muted);font-size:13px}.polar-agenda{position:relative!important;display:block!important;background:repeating-linear-gradient(0deg,transparent 0,transparent 69px,#232523 70px),repeating-linear-gradient(90deg,transparent 0,transparent 24.8%,#232523 25%)}.polar-agenda i{position:absolute;left:var(--x);top:var(--y);width:18%;height:var(--h);border-radius:7px;background:var(--lavender)}.polar-agenda i:nth-child(2){background:#f2b7b0}.polar-agenda i:nth-child(3){background:#6266a3}.polar-agenda i:nth-child(4){background:#ddd}
.polar-economics{padding-bottom:190px}.polar-economics__line{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:20px;margin-top:80px;color:#777;font:11px var(--mono)}.polar-economics__line i{height:1px;background:#303230}.polar-economics__line b{color:var(--coral);font-weight:500}
.polar-footer{min-height:760px;padding:92px 48px 70px;border-top:1px solid #212121;background:#090909;color:#fff}.polar-footer__shell{width:100%;max-width:1356.8px;min-height:598px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:64px}.polar-footer__identity{display:flex;flex-direction:column}.polar-footer__brand{font-size:38px;font-weight:500;letter-spacing:-.06em}.polar-footer__brand span{color:var(--coral)}.polar-footer__closing{margin-top:auto}.polar-footer__closing a{display:inline-block;padding-bottom:5px;border-bottom:1px solid #aaa;font-size:20px}.polar-footer__closing p{margin-top:28px;color:#777;font-size:16px}.polar-footer__links{display:grid;grid-template-columns:1fr 1fr;gap:54px 86px}.polar-footer__links section{margin:0}.polar-footer__links h2{margin:0 0 24px;color:#777;font-size:16px;font-weight:400}.polar-footer__links ul{display:grid;gap:14px;margin:0;padding:0;list-style:none}.polar-footer__links a,.polar-footer__links span{color:#f2f2f2;font-size:20px;line-height:1.2}.polar-footer__links a:hover{color:var(--lavender)}
@media(max-width:1180px){.nav{padding-inline:24px}.nav__menu{gap:18px;margin-left:32px}.nav__link{font-size:14px;line-height:20px}.nav__contact{display:none}}
@media(max-width:900px){.nav{height:72px;padding:16px 24px}.nav .container{min-height:40px}.nav__menu{margin:0}.polar-card-grid{grid-template-columns:repeat(2,1fr)}.polar-heading{grid-template-columns:1fr;gap:18px}.polar-product-grid{grid-template-columns:1fr}.polar-footer__shell{grid-template-columns:1fr}.polar-footer__identity{min-height:220px}.polar-footer__links{gap:48px}}
@media(max-width:600px){.polar-shell{width:min(100% - 32px,1356px)}.polar-section{padding:86px 0}.polar-intro{padding-top:105px}.polar-card-grid{grid-template-columns:1fr}.polar-card{min-height:430px;padding:34px}.polar-product__ui{margin:16px 16px 0}.polar-product__ui>div{grid-template-columns:70px 1fr}.polar-product__ui main{padding:60px 20px}.polar-product>footer{padding:28px 22px}.polar-economics__line{grid-template-columns:1fr;text-align:center}.polar-economics__line i{height:36px;width:1px;justify-self:center}.polar-footer{min-height:0;padding:64px 24px}.polar-footer__links{grid-template-columns:1fr;gap:40px}.polar-footer__links a,.polar-footer__links span{font-size:18px}}

/* Raycast captures supplied by the user; Elma content and responsive adaptation.
   Component tokens below are local names, not Raycast's original tokens. */
body.elma-raycast{--rc-bg:#0d0d0d;--rc-line:#29303f;--rc-muted:#a0a8ba;background:var(--rc-bg);color:#fff}
.elma-raycast :where(.rc-page,.rc-footer) :where(h1,h2,h3,p,ul,figure){margin:0;padding:0}
.rc-page{font-family:'Manrope',sans-serif;background:var(--rc-bg);color:#fff;line-height:1.6}
.rc-page *, .rc-footer *{box-sizing:border-box}
.rc-page a,.rc-footer a{text-decoration:none}
.rc-page section{scroll-margin-top:110px}
.rc-shell{width:min(100% - 48px,1064px);margin-inline:auto}
.rc-hero{min-height:820px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:160px 24px 144px;gap:32px}
.rc-hero h1{font-size:64px;font-weight:600;line-height:70.4px;letter-spacing:-.045em;max-width:680px;text-wrap:balance}
.rc-hero h1 span{color:#a7b8ff}
.rc-hero>p{font-size:18px;letter-spacing:.2px;max-width:620px;color:var(--rc-muted);text-wrap:balance}
.rc-actions{display:flex;flex-direction:column;align-items:center;gap:16px}
.rc-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;min-height:44px;background:#e6e6e6;color:#2f3031;border-radius:8px;font-size:14px;font-weight:500;letter-spacing:.2px;box-shadow:0 0 0 2px #0008,0 0 14px #ffffff30,inset 0 -1px .4px #0003,inset 0 1px .4px #fff}
.rc-page a:focus-visible,.rc-footer a:focus-visible{outline:2px solid #a7b8ff;outline-offset:5px}
.rc-micro{font:12px/1.6 'Manrope',monospace;color:var(--rc-muted)}
.rc-text-link{color:#a7b8ff;font-size:14px}
.rc-section{padding:144px 24px}
.rc-section-head{max-width:582px;margin:0 auto 80px;text-align:center}
.rc-section-head h2,.rc-products-head h2{font-size:20px;font-weight:500;letter-spacing:.2px;line-height:1.3}
.rc-section-head p,.rc-products-head p{font-size:20px;color:var(--rc-muted);letter-spacing:.2px;line-height:1.4}
.rc-label{display:flex;gap:12px;align-items:center;justify-content:center;margin-bottom:48px;color:#a7b8ff;font-size:14px}
.rc-label:before,.rc-label:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#a7b8ff40)}
.rc-label:after{transform:rotate(180deg)}
.rc-window{max-width:1048px;margin:auto;padding:8px;border:.8px solid #ffffff14;border-radius:16px;background:radial-gradient(85.77% 49.97% at 51% 5.12%,#a7b8ff1c,#a7b8ff14 45.83%,#f1f2ff05);box-shadow:0 0 40px 20px #ffffff08,inset 0 .5px #ffffff4d}
.rc-window-inner{min-height:420px;border:.8px solid #ffffff14;border-radius:12px;overflow:hidden;background:repeating-linear-gradient(0deg,#0c0d0f,#0c0d0f 1px,#0d0d0d 1px,#0d0d0d 3px)}
.rc-window-bar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--rc-line);font-size:12px;color:var(--rc-muted)}
.rc-chat{width:min(100% - 48px,620px);margin:40px auto;border:1px solid #ffffff14;border-radius:12px;background:#121316;box-shadow:0 20px 60px #0008}
.rc-chat-query{padding:18px 24px;border-bottom:1px solid #ffffff14;font-size:15px}
.rc-chat-answer{padding:24px;font-size:14px;color:#c4c4cb}
.rc-chat-answer strong{display:block;margin-bottom:12px;color:#a7b8ff;font-weight:500}
.rc-chat-answer ul{padding-left:20px;margin:12px 0}
.rc-chat-note{padding:12px 24px;border-top:1px solid #ffffff0a;font-size:11px;color:var(--rc-muted)}
.rc-feature-row{max-width:1048px;margin:64px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.rc-feature-row h3{font-size:16px;font-weight:500;margin-bottom:12px}
.rc-feature-row p{font-size:14px;color:var(--rc-muted)}
.rc-tech{padding:112px 24px}
.rc-tech-grid{max-width:1064px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rc-line);border:1px solid var(--rc-line)}
.rc-tech-cell{padding:32px;background:var(--rc-bg);min-width:0}
.rc-tech-intro{display:flex;flex-direction:column;justify-content:center;gap:24px}
.rc-tech-intro h2{font-size:32px;line-height:1.2;letter-spacing:-.03em}
.rc-tech-cell p{font-size:14px;color:var(--rc-muted)}
.rc-tech-cell h3{font-size:16px;font-weight:500;margin:24px 0 12px}
.rc-tech-figure{grid-column:span 2;min-height:420px;background-color:#08090c;background-image:radial-gradient(#ffffff14 .6px,transparent .6px);background-size:8px 8px;display:flex;align-items:center;justify-content:center;position:relative}
.rc-tech-figure img{width:100%;max-width:488px;height:auto}
.rc-tech-number{font:12px 'Manrope',monospace;color:#a7b8ff}
.rc-tech-caption{position:absolute;left:24px;top:24px;font:11px 'Manrope',monospace;color:var(--rc-muted)}
.rc-architecture{width:min(100%,440px);border:1px solid #ffffff14;border-radius:12px;background:#14171f;padding:8px}
.rc-architecture>div{padding:20px;display:grid;grid-template-columns:32px 1fr;gap:4px 12px}
.rc-architecture>div+div{border-top:1px solid #ffffff14}
.rc-architecture span{grid-row:span 2;font:12px 'Manrope',monospace;color:#a7b8ff;padding-top:5px}
.rc-architecture strong{font-size:15px;font-weight:500}.rc-architecture small{font-size:12px;color:var(--rc-muted)}
.rc-cta-contact{margin-top:16px}
.elma-raycast #diagnostic.rc-cta{width:min(100%,900px);max-width:900px;margin:0 auto;padding:160px 24px;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
.rc-products{padding:144px 0}
.rc-products-head{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:40px}
.rc-products-head>div{max-width:480px}
.rc-categories{display:flex;gap:24px;align-items:center;padding:8px 20px;background:linear-gradient(137deg,#111214 4.87%,#0c0d0f 75.88%);border:.8px solid #ffffff0f;border-radius:31px;box-shadow:inset 0 1px #ffffff1a;font-size:14px}
.rc-categories a{color:var(--rc-muted);padding-block:12px}
.rc-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.rc-product-grid:has(>.rc-product:only-child){grid-template-columns:1fr}
.rc-product{border-radius:20px;overflow:hidden;background:linear-gradient(138deg,#20235bb3 22%,#070921b3 82%);box-shadow:inset 0 1px #ffffff1a,inset 0 0 0 1px #ffffff0f;scroll-margin-top:120px}
.rc-product:nth-child(2){background:linear-gradient(138deg,#393044b3 22%,#15101cb3 82%)}
.rc-product-head{padding:24px;min-height:176.2px;display:flex;flex-direction:column;gap:24px}
.rc-product-head h3{font-size:18px;font-weight:500;display:flex;justify-content:space-between;align-items:center}
.rc-product-head p{font-size:16px;line-height:25.6px;color:#a7b8ff}
.rc-product-preview{margin:8px 24px 0;padding:24px;background:#0c0d11;border:1px solid #ffffff14;border-bottom:0;border-radius:12px 12px 0 0;min-height:280px;box-shadow:0 0 40px #0005}
.rc-product-preview header{font-size:13px;padding-bottom:20px;border-bottom:1px solid #ffffff14;display:flex;justify-content:space-between}
.rc-preview-row{display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #ffffff0d;font-size:12px;color:#c2c1ce}
.rc-preview-row b{font-weight:400;color:#a7b8ff}
.rc-product-note{display:block;font:10px 'Manrope',monospace;color:var(--rc-muted);margin-top:24px}
.rc-cta{text-align:center;padding:160px 24px;max-width:900px;margin:auto}
.rc-cta h2{font-size:48px;line-height:1.1;letter-spacing:-.045em;text-wrap:balance;margin:24px 0}
.rc-cta>p{max-width:550px;margin:0 auto 32px;color:var(--rc-muted);font-size:16px}
.rc-cta .rc-micro{margin-top:24px}
.rc-footer{background:linear-gradient(#0d0d0dcc .1%,#0d0d0d 32.45%),radial-gradient(49.41% 64.58% at 49.4% 0,#ffffff08,transparent);border-top:.8px solid #29303f;color:#fff;padding:96px 24px 64px}
.rc-footer-grid{max-width:1064px;margin:auto;display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}
.rc-footer h2{font-size:14px;line-height:22.4px;font-weight:500;letter-spacing:.2px;margin-bottom:40px}
.rc-footer ul{list-style:none;display:flex;flex-direction:column;gap:20px}
.rc-footer li,.rc-footer li a{font-size:14px;line-height:1.5;color:var(--rc-muted)}
.rc-footer-bottom{max-width:1064px;margin:96px auto 0;padding-top:24px;border-top:1px solid var(--rc-line);display:flex;justify-content:space-between;gap:24px;font-size:12px;color:var(--rc-muted)}
.elma-raycast .nav__brand{color:#fff}.elma-raycast .nav__brand span{color:#4260e4}
@media(max-width:900px){.rc-hero{min-height:700px;padding:120px 24px}.rc-section,.rc-products{padding:96px 24px}.rc-products .rc-shell{width:100%}.rc-tech-grid{grid-template-columns:1fr 1fr}.rc-tech-intro{grid-column:span 2}.rc-tech-cell:last-child{grid-column:span 2}.rc-products-head{align-items:flex-start;flex-direction:column}.rc-footer-grid{grid-template-columns:repeat(2,1fr);gap:48px}.rc-footer-brand{grid-column:span 2}.rc-feature-row{gap:24px}.rc-cta{padding:112px 24px}}
@media(max-width:600px){.rc-hero{min-height:650px;padding:96px 24px}.rc-hero h1{font-size:44px;line-height:1.1}.rc-hero>p{font-size:16px}.rc-section-head{margin-bottom:48px}.rc-window-inner{min-height:0}.rc-window-bar{padding:12px;font-size:10px}.rc-chat{width:calc(100% - 24px);margin:24px auto}.rc-chat-query,.rc-chat-answer{padding:16px}.rc-chat-note{padding:12px 16px}.rc-feature-row,.rc-product-grid{grid-template-columns:1fr}.rc-feature-row{gap:32px;margin-top:40px}.rc-tech{padding:48px 24px}.rc-tech-grid{grid-template-columns:1fr}.rc-tech-cell,.rc-tech-intro,.rc-tech-cell:last-child,.rc-tech-figure{grid-column:auto}.rc-tech-figure{min-height:320px;padding:40px 16px}.rc-product-preview{padding:16px}.rc-cta h2{font-size:36px}.elma-raycast #diagnostic.rc-cta{padding:96px 24px}.rc-footer{padding-top:64px}.rc-footer-bottom{margin-top:64px;flex-direction:column}.rc-footer h2{margin-bottom:24px}}

/* Progressive enhancement: readable CSS surfaces also work without WebGL/JS. */
.rc-hero,.rc-product,.elma-raycast #diagnostic.rc-cta{position:relative;isolation:isolate;overflow:hidden}
.bits-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bits-bg canvas{display:block;width:100%;height:100%}
.rc-hero .bits-bg{opacity:.7;background:radial-gradient(ellipse at 50% 0,#4260e44d,transparent 70%);mask-image:linear-gradient(#000,transparent 92%)}
.rc-hero .bits-bg canvas{opacity:.8}
.rc-hero .bits-bg[data-bits="beams"]{opacity:.8;mask-image:linear-gradient(#000 35%,transparent 100%)}
.rc-hero .bits-bg[data-bits="molten"]{opacity:.95;mask-image:linear-gradient(#000 55%,transparent 100%);background:radial-gradient(ellipse at 50% 30%,#14171f,transparent 75%)}
.rc-hero .bits-bg[data-bits="molten"] canvas{opacity:1}
.rc-tech-figure{position:relative;isolation:isolate;overflow:hidden}
.rc-tech-figure .bits-bg{opacity:.55;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
.rc-tech-figure .rc-architecture{background:#14171fe8;position:relative;margin-top:56px}
.rc-tech-figure .rc-tech-caption{z-index:1}
.rc-hero{background:#0d0d0d}
.rc-hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 53%,#0d0d0dbd,transparent 65%)}
.rc-product .bits-bg{opacity:.45;mask-image:linear-gradient(#000,transparent 90%)}
.rc-product-head{position:relative}
.rc-product-preview{position:relative;background:#0c0d11}
.elma-raycast #diagnostic.rc-cta{max-width:1064px;width:calc(100% - 48px);margin:32px auto 112px;border:1px solid #ffffff12;border-radius:20px;background:#0c0d18}
.rc-cta .bits-bg{opacity:.3;mask-image:radial-gradient(ellipse at 70% 40%,#000,transparent 85%)}
.rc-cta h2,.rc-hero h1{text-shadow:0 2px 24px #0d0d0d80}
@media(max-width:600px){.rc-hero .bits-bg{opacity:.6}.elma-raycast #diagnostic.rc-cta{margin-bottom:64px}.rc-product .bits-bg{opacity:.35}}

/* Static surfaces for mobile and reduced motion; desktop retains the original shaders. */
.bits-bg canvas[hidden]{display:none}
@media(max-width:900px),(prefers-reduced-motion:reduce){
  .bits-bg canvas{display:none}
  .rc-hero .bits-bg[data-bits="molten"]{background:radial-gradient(ellipse at 50% 32%,#4260e44d,transparent 65%),radial-gradient(ellipse at 70% 12%,#a7b8ff26,transparent 55%)}
  .rc-tech-figure .bits-bg,.rc-product .bits-bg,.rc-cta .bits-bg{background:radial-gradient(ellipse at 65% 30%,#4260e433,transparent 75%)}
}

/* Raycast navbar measurements supplied 2026-09-06; Elma logo, copy and mobile layout. */
.elma-raycast .nav{position:fixed;inset:0 0 auto;height:auto;padding:16px 16px 0;z-index:100;background:none;border:0;backdrop-filter:none;pointer-events:none}
.elma-raycast .nav .nav__inner{--navbar-muted:#a0a8ba;box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:1204px;min-height:76px;height:76px;margin:0 auto;padding:16px 32px;border:.8px solid #ffffff0f;border-radius:16px;background:linear-gradient(137deg,#111214bf 4.87%,#0c0d0fe6 75.88%);box-shadow:inset 0 1px 1px #ffffff26;backdrop-filter:blur(5px);pointer-events:auto}
.elma-raycast .nav .nav__brand{flex:none;width:auto;font-size:30px;line-height:30px;margin:0}
.elma-raycast .nav .nav__menu{position:static;display:flex;align-items:center;gap:16px;margin:0;padding:0;background:none;border:0;box-shadow:none;width:auto;flex-direction:row}
.elma-raycast .nav .nav__link,.elma-raycast .nav .nav__contact{display:block;color:var(--navbar-muted);font-size:14px;font-weight:500;line-height:16.8px;letter-spacing:.2px;white-space:nowrap;padding:12px 8px;margin:0;border:0;border-radius:6px;height:auto}
.elma-raycast .nav .nav__actions{display:flex;align-items:center;gap:24px;margin:0;flex:none}
.elma-raycast .nav .pill{display:inline-flex;align-items:center;justify-content:center;background:#e6e6e6;color:#2f3031;font-size:14px;font-weight:500;line-height:16px;letter-spacing:.2px;padding:8px 12px;border:0;border-radius:8px;height:36px;min-height:36px;white-space:nowrap;box-shadow:0 0 0 2px #0008,0 0 14px #ffffff30,inset 0 -1px .4px #0003,inset 0 1px .4px #fff;transform:none}
.elma-raycast .nav .nav__toggle{display:none}
.elma-raycast .nav a:focus-visible,.elma-raycast .nav button:focus-visible{outline:2px solid #a7b8ff;outline-offset:4px}
@media(max-width:1100px){.elma-raycast .nav .nav__inner{gap:16px;padding-inline:24px}.elma-raycast .nav .nav__menu{gap:8px}.elma-raycast .nav .nav__contact{display:none}}
@media(max-width:900px){.elma-raycast .nav .nav__inner{height:68px;min-height:68px;padding:12px 20px}.elma-raycast .nav .nav__actions{gap:16px}.elma-raycast .nav .nav__menu{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;width:auto;flex-direction:column;align-items:stretch;gap:4px;padding:12px;background:#0c0d0ff5;border:.8px solid #ffffff0f;border-radius:16px;backdrop-filter:blur(5px);box-shadow:inset 0 1px 1px #ffffff26;max-height:calc(100dvh - 110px);overflow-y:auto}.elma-raycast .nav .nav__menu.is-open{display:flex}.elma-raycast .nav .nav__link{padding:14px 16px;min-height:44px}.elma-raycast .nav .nav__toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;padding:10px;border:0;background:none;cursor:pointer}.elma-raycast .nav .nav__toggle span{position:static;display:block;width:24px;height:1px;background:#ffffffe6;margin:0}.elma-raycast .nav .nav__cta-full{display:none}}
@media(prefers-reduced-motion:reduce){.elma-raycast .nav *{transition:none}}

/* React Bits LogoLoop. Copyright (c) 2026 David Haz. License: vendor/react-bits/LICENSE.md */

.logoloop {
  position: relative;

  --logoloop-gap: 32px;
  --logoloop-logoHeight: 28px;
  --logoloop-fadeColorAuto: #ffffff;
}

/* Elma settings: names and sizes chosen for this site's technology band. */
.rc-stack{width:min(100% - 48px,1064px);margin:0 auto;padding:24px 0 48px}
.rc-stack__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}
.rc-page .rc-stack__header h2{font:12px/1.6 'Manrope',monospace;font-weight:400;color:#a0a8ba}
.rc-stack .logoloop + .logoloop{border-top:1px solid #ffffff0d;margin-top:4px}
.rc-stack .logoloop{--logoloop-gap:72px;--logoloop-logoHeight:32px;--logoloop-fadeColor:#0d0d0d;overflow:hidden;padding:12px 0;width:100%}
.rc-stack .logoloop__track{align-items:center}
.rc-stack .logoloop__list{list-style:none;flex-shrink:0;margin:0;padding:0}
.rc-stack .logoloop__item{display:flex;align-items:center;gap:14px;color:#a7b8ff;font-size:20px;white-space:nowrap;margin-right:var(--logoloop-gap)}
.rc-stack .logoloop__item img{width:32px;height:32px;filter:invert(1);opacity:.75}
.rc-stack .logoloop:not(.logoloop--enhanced) .logoloop__list,.rc-stack .logoloop--static .logoloop__list{flex-wrap:wrap;gap:24px 40px;justify-content:center;width:100%}
.rc-stack .logoloop:not(.logoloop--enhanced) .logoloop__track,.rc-stack .logoloop--static .logoloop__track{width:100%}
.rc-stack .logoloop:not(.logoloop--enhanced) .logoloop__item,.rc-stack .logoloop--static .logoloop__item{margin:0}
.rc-stack .logoloop:not(.logoloop--enhanced):before,.rc-stack .logoloop:not(.logoloop--enhanced):after,.rc-stack .logoloop--static:before,.rc-stack .logoloop--static:after{display:none}
@media(max-width:600px){.rc-stack .logoloop{--logoloop-gap:40px}.rc-stack .logoloop__item{font-size:18px}.rc-stack__header{align-items:flex-start}}

.logoloop--vertical {
  height: 100%;
  display: inline-block;
}

.logoloop--scale-hover {
  padding-top: calc(var(--logoloop-logoHeight) * 0.1);
  padding-bottom: calc(var(--logoloop-logoHeight) * 0.1);
}

@media (prefers-color-scheme: dark) {
  .logoloop {
    --logoloop-fadeColorAuto: #0b0b0b;
  }
}

.logoloop__track {
  display: flex;
  width: max-content;
  will-change: transform;
  user-select: none;
  position: relative;
  z-index: 0;
}

.logoloop--vertical .logoloop__track {
  flex-direction: column;
  height: max-content;
  width: 100%;
}

.logoloop__list {
  display: flex;
  align-items: center;
}

.logoloop--vertical .logoloop__list {
  flex-direction: column;
}

.logoloop__item {
  flex: 0 0 auto;
  margin-right: var(--logoloop-gap);
  font-size: var(--logoloop-logoHeight);
  line-height: 1;
}

.logoloop--vertical .logoloop__item {
  margin-right: 0;
  margin-bottom: var(--logoloop-gap);
}

.logoloop__item:last-child {
  margin-right: var(--logoloop-gap);
}

.logoloop--vertical .logoloop__item:last-child {
  margin-right: 0;
  margin-bottom: var(--logoloop-gap);
}

.logoloop__node {
  display: inline-flex;
  align-items: center;
}

.logoloop__item img {
  height: var(--logoloop-logoHeight);
  width: auto;
  display: block;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
  -webkit-user-drag: none;
  pointer-events: none;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.logoloop--scale-hover .logoloop__item {
  overflow: visible;
}

.logoloop--scale-hover .logoloop__item:hover img,
.logoloop--scale-hover .logoloop__item:hover .logoloop__node {
  transform: scale(1.2);
  transform-origin: center center;
}

.logoloop--scale-hover .logoloop__node {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.logoloop__link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  border-radius: 4px;
  transition: opacity 0.2s ease;
}

.logoloop__link:hover {
  opacity: 0.8;
}

.logoloop__link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.logoloop--fade::before,
.logoloop--fade::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: clamp(24px, 8%, 120px);
  pointer-events: none;
  z-index: 10;
}

.logoloop--fade::before {
  left: 0;
  background: linear-gradient(
    to right,
    var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,
    rgba(0, 0, 0, 0) 100%
  );
}

.logoloop--fade::after {
  right: 0;
  background: linear-gradient(
    to left,
    var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,
    rgba(0, 0, 0, 0) 100%
  );
}

.logoloop--vertical.logoloop--fade::before,
.logoloop--vertical.logoloop--fade::after {
  left: 0;
  right: 0;
  width: 100%;
  height: clamp(24px, 8%, 120px);
}

.logoloop--vertical.logoloop--fade::before {
  top: 0;
  bottom: auto;
  background: linear-gradient(
    to bottom,
    var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,
    rgba(0, 0, 0, 0) 100%
  );
}

.logoloop--vertical.logoloop--fade::after {
  bottom: 0;
  top: auto;
  background: linear-gradient(
    to top,
    var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,
    rgba(0, 0, 0, 0) 100%
  );
}

@media (prefers-reduced-motion: reduce) {
  .logoloop__track {
    transform: translate3d(0, 0, 0) !important;
  }

  .logoloop__item img,
  .logoloop__node {
    transition: none !important;
  }
}


/* DA partagée avec ayoubelamri.com (voir DESIGN.md) — dernière couche, chargée après toutes les autres.
   Les couleurs des feuilles précédentes ont déjà été remplacées par nos tokens ; ce fichier ne fait que
   la typo et les composants signatures : étiquette à coins, bouton à remplissage, liens qui roulent. */
:root{
  --da-bg:#0d0d0d;--da-card:#14171f;--da-surface:#0f1219;--da-border:#29303f;
  --da-text:#fafafa;--da-muted:#a0a8ba;--da-primary:#4260e4;--da-accent:#a7b8ff;
  --da-font:'Manrope',ui-sans-serif,system-ui,sans-serif;
  --da-ease-fill:cubic-bezier(.19,1,.22,1);--da-ease-roll:cubic-bezier(.76,0,.24,1)
}

/* Typo : Manrope partout, y compris là où l'ancienne DA posait une mono ou une serif. */
body,body *:not(svg):not(svg *):not(code):not(pre){font-family:var(--da-font)!important}
body{background:var(--da-bg);color:var(--da-text);-webkit-font-smoothing:antialiased}
::selection{background:color-mix(in oklab,var(--da-primary) 45%,transparent)}
:focus-visible{outline-color:var(--da-accent)!important}

/* Titres : tracking serré du portfolio. */
.rc-hero h1{font-size:clamp(40px,6.2vw,72px);line-height:1.04;font-weight:600;letter-spacing:-.045em}
.rc-hero h1 span{background:linear-gradient(90deg,#d6ddff,var(--da-accent) 50%,#6b84ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.rc-tech-intro h2,.rc-cta h2{letter-spacing:-.045em;font-weight:600}
.rc-section-head h2,.rc-products-head h2{font-weight:600;letter-spacing:-.01em}

/* Étiquette de section : texte bleu clair, quatre coins blancs (comme sur le portfolio). */
.rc-label{display:table;margin:0 auto 48px;padding:6px 12px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--da-accent);
  --c:rgba(250,250,250,.6);
  background:
    linear-gradient(var(--c),var(--c)) left top/6px 1px no-repeat,linear-gradient(var(--c),var(--c)) left top/1px 6px no-repeat,
    linear-gradient(var(--c),var(--c)) right top/6px 1px no-repeat,linear-gradient(var(--c),var(--c)) right top/1px 6px no-repeat,
    linear-gradient(var(--c),var(--c)) left bottom/6px 1px no-repeat,linear-gradient(var(--c),var(--c)) left bottom/1px 6px no-repeat,
    linear-gradient(var(--c),var(--c)) right bottom/6px 1px no-repeat,linear-gradient(var(--c),var(--c)) right bottom/1px 6px no-repeat}
.rc-label:before,.rc-label:after{content:none}

/* Bouton à remplissage : contour clair, un disque bleu remplit le bouton depuis le centre au survol. */
.rc-button,.elma-raycast .nav .pill,.pill--primary{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 32px;min-height:48px;border:1.5px solid rgba(250,250,250,.25);border-radius:12px;background:transparent;color:var(--da-text);
  font-size:14px;font-weight:600;letter-spacing:0;box-shadow:none;transition:border-color .6s cubic-bezier(.23,1,.32,1),transform .2s}
.rc-button:before,.elma-raycast .nav .pill:before,.pill--primary:before{content:'';position:absolute;z-index:-1;left:50%;top:50%;width:16px;height:16px;border-radius:50%;
  background:var(--da-primary);opacity:0;transform:translate(-50%,-50%);transition:width .8s var(--da-ease-fill),height .8s var(--da-ease-fill),opacity .8s var(--da-ease-fill)}
:is(.rc-button,.elma-raycast .nav .pill,.pill--primary):is(:hover,:focus-visible){border-color:transparent;color:#fff}
:is(.rc-button,.elma-raycast .nav .pill,.pill--primary):is(:hover,:focus-visible):before{width:340px;height:340px;opacity:1}
:is(.rc-button,.elma-raycast .nav .pill,.pill--primary):active{transform:scale(.95)}
.elma-raycast .nav .pill{padding:10px 22px;min-height:44px}

/* Liens qui roulent : le texte monte, une copie arrive par le bas (copie ajoutée par elma-da.js). */
.da-roll{position:relative;display:inline-block;overflow:hidden;vertical-align:top}
.da-roll>span{display:block;transition:transform .28s var(--da-ease-roll)}
.da-roll>span+span{position:absolute;left:0;top:100%}
:is(a,button):is(:hover,:focus-visible) .da-roll>span{transform:translateY(-100%)}
.elma-raycast .nav .nav__link{color:rgba(250,250,250,.6);font-weight:600;transition:color .15s}
.elma-raycast .nav .nav__link:is(:hover,:focus-visible){color:var(--da-text);background:none}

/* Barre de navigation : même verre sombre que les cartes du portfolio. */
.elma-raycast .nav .nav__inner{background:rgba(13,13,13,.6);border:1px solid rgba(250,250,250,.1);box-shadow:none;backdrop-filter:blur(12px)}
.nav__brand span{color:var(--da-primary)!important}

/* Liens texte et petites mentions. */
.rc-text-link{color:var(--da-accent);font-weight:600}
.rc-text-link:hover{color:var(--da-text)}
.rc-micro,.rc-product-note,.rc-tech-caption{letter-spacing:0;font-size:12px}
.rc-tech-number,.rc-architecture span{color:var(--da-accent);font-weight:700}

/* Surfaces : cartes #14171f, bordures #29303f, fenêtres et produits sans violet ni corail. */
.rc-window{background:radial-gradient(85% 50% at 51% 5%,rgba(66,96,228,.16),rgba(167,184,255,.06) 46%,rgba(250,250,250,.02));border-color:rgba(250,250,250,.08)}
.rc-window-inner{background:var(--da-surface)}
.rc-chat,.rc-architecture,.rc-categories{background:var(--da-card);border-color:var(--da-border)}
.rc-product,.rc-product:nth-child(2){background:linear-gradient(138deg,#1d2440 18%,var(--da-card) 82%);box-shadow:inset 0 0 0 1px rgba(250,250,250,.08)}
.rc-product-head p{color:#d6ddff}
.rc-product-preview{background:var(--da-surface);border-color:rgba(250,250,250,.08)}
.rc-tech-figure{background-color:var(--da-surface)}

@media (max-width:600px){.rc-hero{padding-top:148px}}

@media (prefers-reduced-motion:reduce){
  .rc-button:before,.elma-raycast .nav .pill:before,.pill--primary:before,.da-roll>span{transition:none}
}

/* Vidéo à activation explicite ; la miniature reste locale. */
.da-video{position:relative;margin:2rem 0;background:#14171f;border:1px solid #29303f;border-radius:16px;overflow:hidden}
.da-video img,.da-video iframe{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:0}
.da-video__lire{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);min-height:48px;padding:12px 24px;border:1px solid #a7b8ff;border-radius:12px;background:#4260e4;color:#fafafa;font:600 16px Manrope,sans-serif;cursor:pointer}
.da-video figcaption{padding:16px;color:#a0a8ba;font-size:14px}
.da-video button:focus-visible{outline:3px solid #a7b8ff;outline-offset:4px}

/* Journal et expertises : mêmes tokens que la page d’accueil. */
.da-fil ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;font-size:14px;color:#a0a8ba}
.da-fil li+li:before{content:"/";margin-right:8px}
.da-themes ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:32px 0}
.da-themes a{display:flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #29303f;border-radius:12px;color:#a7b8ff}
.da-reponse{font-size:clamp(18px,2vw,22px);color:#fafafa;line-height:1.6;max-width:75ch}
.da-encart,.da-liees,.da-faq{margin:48px 0}
.da-encart{padding:24px;border:1px solid #29303f;border-radius:12px;background:#14171f}
.da-liees ul{padding:0;list-style:none}.da-liees li{padding:16px 0;border-bottom:1px solid #29303f}.da-liees span{display:block;color:#a0a8ba;font-size:14px}
.da-faq details{margin:12px 0;padding:20px 24px;background:#fafafa;color:#111114;border-radius:16px}
.da-faq summary{position:relative;cursor:pointer;min-height:44px;display:flex;align-items:center;padding-right:32px;font-weight:600;list-style:none}
.da-faq summary:after{content:"+";position:absolute;right:0;color:#60646e;font-size:24px}.da-faq details[open] summary:after{content:"−"}
.da-faq details p{color:#30333a}.da-faq a{color:#2a3fa8}
.da-vente__actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.da-derniers{padding:112px 16px}.da-derniers .rc-shell{max-width:1220px;margin:auto}
.da-derniers__titre{margin-top:32px;font-size:24px}.da-derniers__grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:0}
.da-derniers__grille a{height:100%;display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid #29303f;border-radius:12px;background:#14171f;color:#fafafa}
.da-derniers__grille strong{font-size:22px;line-height:1.2;letter-spacing:-.035em}.da-derniers__grille span{font-size:14px;color:#a0a8ba}.da-derniers__grille img{width:100%;height:auto;border-radius:12px}
.da-derniers__tout{margin-top:24px}.post .container{overflow-wrap:anywhere}.post pre{overflow:auto}.post .table-wrap{overflow-x:auto}
@media(max-width:700px){.da-derniers{padding:80px 16px}.da-derniers__grille{grid-template-columns:1fr}.da-faq details{padding:16px}}

.da-expertises{position:relative}.da-expertises summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center}.da-expertises summary::-webkit-details-marker{display:none}
.da-expertises__menu{position:absolute;top:100%;left:0;z-index:30;width:280px;padding:12px;background:#14171f;border:1px solid #29303f;border-radius:12px;box-shadow:0 18px 40px #0008}
.da-expertises__menu a{display:flex;align-items:center;min-height:44px;padding:8px 12px;color:#fafafa}.da-expertises__menu a:hover{background:#1b2a6b;border-radius:8px}
.da-offres{display:flex;flex-wrap:wrap;gap:16px;margin:28px 0}.da-offres a{display:flex;align-items:center;min-height:44px;padding:12px 18px;color:#a7b8ff;border:1px solid #29303f;border-radius:12px}
@media(max-width:800px){.da-expertises__menu{position:static;width:100%;box-shadow:none}.da-expertises{width:100%}.da-offres{flex-direction:column}}

/* Dans les pages à gabarit « legal » (articles, pages qui vendent), le style des liens texte ne doit pas écraser les boutons. */
.legal a.rc-button,.legal a.pill,.legal .post__cta a.pill{text-decoration:none;color:var(--da-text)}
.legal .post__cta{background:var(--da-card);border:1px solid var(--da-border)}
.legal .post__cta:before,.legal .post__cta:after{content:none}
