/* elma-sources: ["assets/style.css","assets/elma-identity.css","assets/elma-polar.css","assets/elma-raycast.css","assets/elma-navbar.css","assets/legal.css","assets/blog.css","assets/elma-journal.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}}

.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}}

/* 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}}

/* Pages légales, design xAI (partagé) */
:root {
  --canvas: #0d0d0d; --canvas-card: #191919; --hairline: #212327;
  --ink: #fff; --body: #dadbdf; --mute: #7d8187;
  --pill-border: rgba(255,255,255,.25);
  --radius-sm: 8px; --radius-pill: 9999px;
  --pad-x: clamp(20px, 5vw, 40px);
  --font: 'Manrope', system-ui, sans-serif; --mono: 'Manrope', ui-monospace, monospace;
}
* { 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.6; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
.container { width: 100%; max-width: 820px; margin: 0 auto; padding-left: var(--pad-x); padding-right: var(--pad-x); }

.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 { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 14px var(--pad-x); }
.nav__brand { font-size: 18px; letter-spacing: -.02em; text-decoration: none; }
.pill { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; padding: 11px 20px; border-radius: var(--radius-pill); border: 1px solid var(--pill-border); color: var(--ink); background: transparent; text-decoration: none; transition: background-color .18s ease; }
.pill:hover { background: rgba(255,255,255,.06); }
.pill--primary { background: var(--ink); color: #0d0d0d; border-color: var(--ink); }

.legal { padding-top: clamp(48px, 7vw, 88px); padding-bottom: clamp(48px, 7vw, 88px); }
.eyebrow { font-family: var(--mono); text-transform: uppercase; letter-spacing: 1.4px; font-size: 13px; color: var(--mute); display: block; margin-bottom: 14px; }
.legal h1 { font-size: clamp(30px, 5vw, 48px); line-height: 1.05; letter-spacing: -.03em; font-weight: 400; }
.legal h2 { font-size: 20px; letter-spacing: -.01em; font-weight: 400; margin-top: 40px; margin-bottom: 12px; }
.legal h3 { font-size: 16px; font-weight: 500; margin-top: 22px; margin-bottom: 6px; color: var(--ink); }
.legal p, .legal li { color: var(--body); font-size: 15px; }
.legal p { margin-top: 10px; }
.legal ul { margin-top: 10px; padding-left: 20px; }
.legal li { margin-top: 6px; }
.legal a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.legal .updated { color: var(--mute); font-size: 13px; margin-top: 16px; }
.legal .card { background: var(--canvas-card); border: 1px solid var(--hairline); border-radius: var(--radius-sm); padding: 24px; margin-top: 24px; }
.legal .card p { margin-top: 6px; }
.legal hr { border: 0; border-top: 1px solid var(--hairline); margin: 40px 0; }

.footer { border-top: 1px solid var(--hairline); padding: 40px var(--pad-x); }
.footer__inner { max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center; }
.footer a, .footer span { color: var(--body); font-size: 14px; text-decoration: none; }
.footer a:hover { color: var(--ink); }
.footer__links { display: flex; flex-wrap: wrap; gap: 18px; }

/* Blog — complément de legal.css (mêmes variables, même design xAI).
   Ne redéfinit aucune variable : tout vient de legal.css, chargée avant. */

/* Liste des articles */
.post-list { display: grid; gap: 16px; margin-top: 32px; }
.post-card {
  background: var(--canvas-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-sm);
  padding: 24px;
  transition: border-color .18s ease;
}
.post-card:hover { border-color: rgba(255,255,255,.18); }
.post-card__cluster {
  font-family: var(--mono); text-transform: uppercase; letter-spacing: 1.4px;
  font-size: 12px; color: var(--mute); display: block; margin-bottom: 10px;
}
.post-card h2 { font-size: 21px; line-height: 1.25; margin: 0; letter-spacing: -.01em; font-weight: 400; }
.post-card h2 a { text-decoration: none; }
.post-card h2 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.post-card p { color: var(--body); font-size: 15px; margin-top: 10px; }
.post-card__meta { color: var(--mute); font-size: 13px; }

/* Article */
.post__retour {
  display: inline-block; margin-bottom: 22px;
  font-size: 14px; color: var(--mute); text-decoration: none;
}
.post__retour:hover { color: var(--ink); }
.post__meta { color: var(--mute); font-size: 14px; margin-top: 14px; }
.post__meta a { color: var(--body); }

/* Le corps de l'article hérite de .legal ; on ajoute ce que le légal n'a pas. */
.post h2 { margin-top: 48px; font-size: 24px; }
.post h3 { margin-top: 30px; font-size: 17px; }
.post p { font-size: 16px; line-height: 1.72; }
.post li { font-size: 16px; line-height: 1.7; }
.post p + p { margin-top: 16px; }

.post blockquote {
  border-left: 2px solid var(--pill-border);
  padding: 2px 0 2px 20px;
  margin: 26px 0;
}
.post blockquote p { color: var(--ink); font-size: 17px; }

.post code {
  font-family: var(--mono); font-size: .88em;
  background: var(--canvas-card); border: 1px solid var(--hairline);
  border-radius: 4px; padding: 1px 5px;
}
.post pre {
  background: var(--canvas-card); border: 1px solid var(--hairline);
  border-radius: var(--radius-sm); padding: 18px; margin-top: 20px;
  overflow-x: auto;
}
.post pre code { background: none; border: 0; padding: 0; font-size: 13px; line-height: 1.6; }

/* Les tableaux défilent dans leur propre conteneur : le corps de page ne doit
   jamais partir en défilement horizontal sur mobile. */
.table-wrap { overflow-x: auto; margin-top: 22px; border: 1px solid var(--hairline); border-radius: var(--radius-sm); }
.post table { border-collapse: collapse; width: 100%; min-width: 480px; }
.post th, .post td {
  text-align: left; padding: 11px 16px; font-size: 14px;
  border-bottom: 1px solid var(--hairline);
}
.post th { color: var(--ink); font-weight: 500; background: var(--canvas-card); white-space: nowrap; }
.post td { color: var(--body); }
.post tbody tr:last-child td { border-bottom: 0; }

/* Bloc auteur — exigé par E-E-A-T : qui écrit, et à quel titre. */
.author-box {
  margin-top: 56px; padding-top: 26px;
  border-top: 1px solid var(--hairline);
}
.author-box__nom { color: var(--ink); font-size: 15px; font-weight: 500; }
.author-box p { color: var(--body); font-size: 15px; margin-top: 8px; }

.post__cta { margin-top: 40px; }
.post__cta p { margin-top: 8px; }
.post__cta .pill { margin-top: 14px; }

/* Correctif de spécificité.
   legal.css déclare `.legal a { color: var(--ink); text-decoration: underline }` (0,1,1),
   ce qui l'emporte sur `.pill--primary` (0,1,0) : dans un article, le bouton se retrouvait
   en texte blanc sur fond blanc, souligné par-dessus. On repasse au-dessus avec `.legal a.pill`.
   Le survol reprend la lueur violette de la home (style.css) pour que le bouton se comporte
   pareil partout. */
.legal a.pill { text-decoration: none; font-weight: 500; }
.legal a.pill--primary { color: #0d0d0d; }
.legal a.pill--primary:hover { background: #f0f0ee; box-shadow: 0 0 28px rgba(122, 92, 255, .35); }
.legal a.pill:not(.pill--primary):hover { background: rgba(255,255,255,.06); }

/* Pied de page aligné sur celui de la home : legal.css n'en propose qu'une version
   à une ligne, qui jurait à côté du reste du site. */
.footer__inner {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 32px;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
}
.footer__brand { font-size: 18px; letter-spacing: -.02em; font-weight: 500; margin-bottom: 10px; }
.footer__baseline { font-size: 14px; color: var(--mute); }
.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; padding: 0; }
.footer__list a, .footer__list span { font-size: 14px; color: var(--body); text-decoration: none; }
.footer__list a:hover { color: var(--ink); }
.footer__bottom {
  max-width: 1200px; margin: 40px auto 0; 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); }

@media (max-width: 860px) {
  .footer__inner { grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 520px) {
  .footer__inner { grid-template-columns: 1fr; }
}

.muted { color: var(--mute); }

body.elma-journal{font-family:'Manrope',sans-serif;--canvas:#0d0d0d;--canvas-card:#14171f;--ink:#fafafa;--body:#b8b8c4;--mute:#a0a8ba;--hairline:#ffffff14}
.journal{width:min(100% - 48px,1064px);margin:auto;padding:184px 0 112px}
.journal :where(h1,h2,p){margin:0}
.journal__eyebrow{font:11px/1.6 'Manrope',monospace;color:#a0a8ba;letter-spacing:.12em;text-transform:uppercase}
.journal__intro{max-width:780px;padding-bottom:88px}
.journal h1{font-size:clamp(44px,5vw,68px);line-height:1.04;letter-spacing:-.055em;font-weight:500;margin:24px 0}
.journal h1 span{color:#a7b8ff}
.journal__intro>p{font-size:18px;line-height:1.65;max-width:590px;color:#a0a8ba}
.journal__section-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid #ffffff14;margin-bottom:32px}
.journal__section-head h2{font-size:14px;font-weight:400}
.journal__section-head span{font:11px 'Manrope',monospace;color:#a0a8ba}
.journal-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;position:relative}
.journal-feature__cover{min-height:360px;border:1px solid #ffffff14;border-radius:20px;background:radial-gradient(ellipse at 0 0,#4260e438,transparent 65%),#14171f;display:flex;flex-direction:column;justify-content:space-between;padding:32px;overflow:hidden;position:relative}
.journal-feature__cover:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,#a7b8ff0a 50%,transparent 50.2%);pointer-events:none}
.journal-feature__cover small{font:11px 'Manrope',monospace;letter-spacing:.1em;color:#a0a8ba}
.journal-feature__cover strong{font-size:48px;line-height:1.05;letter-spacing:-.04em;font-weight:500;color:#a7b8ff}
.journal-feature__cover strong span{color:#fafafa}
.journal-feature__cover footer{display:flex;justify-content:space-between;font:11px 'Manrope',monospace;color:#a0a8ba;border-top:1px solid #ffffff14;padding-top:20px}
.journal-feature__content{padding:24px 0}
.journal-feature__category{color:#a7b8ff;font:11px/1.5 'Manrope',monospace;text-transform:uppercase;letter-spacing:.07em}
.journal-feature h3{font-size:32px;font-weight:500;letter-spacing:-.035em;line-height:1.18;margin:20px 0}
.journal-feature h3 a{color:#fafafa;text-decoration:none}
.journal-feature h3 a:after{content:'';position:absolute;inset:0;border-radius:20px}
.journal-feature h3 a:focus-visible{outline:none}
.journal-feature h3 a:focus-visible:after{outline:2px solid #a7b8ff;outline-offset:8px}
.journal-feature__content>p{font-size:15px;color:#a0a8ba;line-height:1.7}
.journal-feature__meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;font-size:12px;color:#a0a8ba}
.journal-feature__read{display:block;margin-top:28px;color:#a7b8ff;font-size:14px}
.journal__contact{border-top:1px solid #ffffff14;margin-top:88px;padding-top:32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.journal__contact h2{font-size:20px;font-weight:500;letter-spacing:-.02em;margin-bottom:8px}
.journal__contact p{font-size:14px;color:#a0a8ba}
.journal__contact a{color:#a7b8ff;text-decoration:none;font-size:14px;white-space:nowrap}
.elma-journal .rc-footer .nav__brand{font-size:30px;line-height:30px;letter-spacing:-.06em;font-weight:600}
.elma-journal .rc-footer p{margin:0}
.elma-journal .post{padding:160px 24px 112px;max-width:none;margin:0}
.elma-journal .post>.container{width:100%;max-width:740px;padding:0;margin:auto}
.elma-journal .post h1{font-size:clamp(36px,4.2vw,56px);line-height:1.1;letter-spacing:-.045em;margin:20px 0 24px;font-weight:500}
.elma-journal .post h2{font-size:28px;letter-spacing:-.025em;line-height:1.25}
.elma-journal .post p,.elma-journal .post li{color:#b8b8c4;line-height:1.8}
.elma-journal .post strong{color:#fafafa}
.elma-journal .post a{color:#a7b8ff;text-underline-offset:4px}
.elma-journal .post .eyebrow{display:block;color:#a0a8ba;font:11px/1.6 'Manrope',monospace;letter-spacing:.1em;text-transform:uppercase}
.elma-journal .post .post__meta{padding-bottom:32px;border-bottom:1px solid #ffffff14;margin-bottom:32px;font-size:13px}
.elma-journal .post .post__cta{padding:28px;border:1px solid #ffffff14;border-radius:16px;background:#14171f}
.elma-journal .post a.pill{color:#2f3031;background:#e6e6e6;border-radius:8px;font-size:14px;padding:12px 16px}
.elma-journal .post blockquote{border-color:#a7b8ff}
@media(max-width:700px){.journal{padding:140px 0 72px}.journal__intro{padding-bottom:56px}.journal__intro>p{font-size:16px}.journal-feature{grid-template-columns:1fr;gap:8px}.journal-feature__cover{min-height:280px;padding:24px}.journal-feature__cover strong{font-size:42px}.journal-feature h3{font-size:28px}.journal__contact{margin-top:48px;align-items:flex-start;flex-direction:column}.elma-journal .post{padding-top:132px}.elma-journal .post .post__cta{padding:20px}}

/* 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}
