
.orbis-studio {
  --cs-sol: #141516;
  --cs-surface: #1c1e20;
  --cs-surface-2: #222426;
  --cs-texte: #f1efea;
  --cs-lead: #d9d5ce;
  --cs-texte-2: #b9b9b6;
  --cs-texte-3: #8e8d89;
  --cs-filet: rgba(255, 255, 255, .08);
  --cs-filet-2: rgba(255, 255, 255, .14);

  --cs-g1: #D4F56B;
  --cs-g2: #7DBE14;
  --cs-degrade: linear-gradient(160deg, var(--cs-g1), var(--cs-g2));
  --cs-action: #A9DA40;
  --cs-action-survol: #C2EA5C;
  --cs-sur-action: #111A02;
  --cs-accent: #C6EE7F;
  --cs-lueur: rgba(140, 190, 40, .08);
  --cs-acte: #18191b;

  --papier-2: var(--cs-sol);
  --encre: var(--cs-texte);
  --encre-2: var(--cs-texte-2);
  --encre-3: var(--cs-texte-3);
  --action: var(--cs-action);
  --action-vive: var(--cs-action-survol);
  --sur-action: var(--cs-sur-action);
  --bleu: var(--cs-action);
  --bleu-vif: var(--cs-action-survol);
  --bleu-clair: var(--cs-accent);
  --studio-peche: var(--cs-accent);
  --atelier-sol: var(--cs-sol);
  --atelier-texte: var(--cs-texte);
  --atelier-secondaire: var(--cs-texte-2);
  --atelier-accent: var(--cs-accent);
  --vt-encre: var(--cs-texte);
  --vt-gris: var(--cs-lead);
  --vt-gris-2: var(--cs-texte-3);
  --vt-filet: var(--cs-filet);
  --vt-filet-2: var(--cs-filet-2);
  --voile-entete: rgba(20, 21, 22, .96);
  --voile-entete-collee: rgba(20, 21, 22, .96);
}

body.orbis-studio { background-color: var(--cs-sol); color: var(--cs-texte); }
.orbis-studio .entete { background: rgba(20, 21, 22, .96); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.orbis-studio .pied { background: var(--cs-sol); border-top: 1px solid var(--cs-filet); }
.orbis-studio ::selection { background: color-mix(in srgb, var(--cs-action) 38%, transparent); color: #fff; }

.orbis-studio .btn-1,
.orbis-studio.vitrine main .btn-1,
.orbis-studio .entete #ctaAuth,
.orbis-studio .tarifs .vedette .btn-1,
.orbis-studio .tarifs .vedette .puce {
  background: var(--cs-degrade); color: var(--cs-sur-action);
  border-color: transparent; box-shadow: none;
}
@media (hover: hover) {
  .orbis-studio .btn-1:hover,
  .orbis-studio.vitrine main .btn-1:hover,
  .orbis-studio .entete #ctaAuth:hover,
  .orbis-studio .tarifs .vedette .btn-1:hover { background: var(--cs-degrade); filter: brightness(1.08); }
}
.orbis-studio .btn-2 { background: transparent; border-color: var(--cs-filet-2); }
.orbis-studio :is(a, button, summary, input):focus-visible,
.orbis-studio.vitrine main :is(a, button):focus-visible { outline: 2px solid var(--cs-accent); outline-offset: 3px; }

.orbis-studio .lien-fleche { color: var(--cs-accent); }
.orbis-studio .degrade,
.orbis-studio main > .hero:not(.hero-duo) .degrade,
.orbis-studio .hero-duo h1 .degrade,
.orbis-studio .prix-intro h1 .degrade {
  background: linear-gradient(100deg, var(--cs-g1), var(--cs-g2));
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
}
.orbis-studio .pa-ouverture .dock svg { color: var(--cs-accent); }
.orbis-studio .acte { background: var(--cs-acte); border-top-color: var(--cs-filet); }
.orbis-studio .prep-input > svg,
.orbis-studio .prep-output > div:nth-child(1) b { color: var(--cs-accent); }

.orbis-studio,
.orbis-studio .tarifs .vedette { --cta-gradient-start: #E6FB97; --cta-gradient-end: #95D22B; }
.orbis-studio :is(.lien-fleche, .mega-tester, .ef-details summary):hover,
.orbis-studio .ef-details summary:focus-visible,
.orbis-studio .suite-app:hover b,
.orbis-studio .vt-choisir:hover { color: var(--cs-accent); }
.orbis-studio :is(.pa-ouverture .dock a, .vt-choisir):hover { background: rgba(255, 255, 255, .05); }
.orbis-studio :is(.pa-ouverture .dock a, .suite-app, .identite input, .media-toggle):focus-visible,
.orbis-studio.vitrine .vt-chap button:focus-visible { outline: 2px solid var(--cs-accent); outline-offset: 3px; }

.orbis-studio .nappe { filter: saturate(0) brightness(.8); }
.orbis-studio .nappe::after { background: radial-gradient(ellipse at 8% 6%, var(--cs-lueur) 0%, transparent 58%); }
.orbis-studio.vitrine .nappe { display: none; }
.orbis-studio.vitrine .vt-ouverture { background: radial-gradient(ellipse at 50% 0%, var(--cs-lueur), transparent 62%); }
.orbis-studio.vitrine .vt-fin { background: radial-gradient(ellipse at 50% 100%, var(--cs-lueur), transparent 62%); }

.orbis-studio:not(.accueil-edition) main h1:is(.display, .vid-titre),
.orbis-studio:not(.accueil-edition) main > .hero:not(.hero-duo) h1.display,
.orbis-studio .prose h1,
.orbis-studio.vitrine .vt-h1 {
  font-size: clamp(40px, 3.8vw, 56px); font-weight: 520; letter-spacing: -.035em;
  line-height: 1.08; color: var(--cs-texte);
}
.orbis-studio.vitrine .vt-h2,
.orbis-studio.vitrine main h2.vt-h2 {
  font-size: clamp(30px, 3.2vw, 48px); font-weight: 500; letter-spacing: -.025em; line-height: 1.14;
}
.orbis-studio.vitrine .vt-h1 { max-width: 20ch; }
.orbis-studio.vitrine .vt-h3 { font-weight: 500; letter-spacing: -.015em; }
.orbis-studio :is(.prose, .apr-bloc, .vid-page) h2,
.orbis-studio .prose h3 { font-weight: 500; letter-spacing: -.015em; color: var(--cs-texte); }
.orbis-studio :is(.vid-desc, .apr-lead, .sous-titre) { color: var(--cs-lead); }
.orbis-studio :is(.prose, .apr-bloc) :is(p, li) { color: var(--cs-texte-2); }

.orbis-studio .tarifs .pcard,
.orbis-studio .tarifs .pcard:last-child {
  background: var(--cs-surface) padding-box; border: 1px solid var(--cs-filet-2);
}
.orbis-studio .tarifs .pcard hr { background: var(--cs-filet-2); }
.orbis-studio .tarifs :is(.plan-lead, .liste li) { color: var(--cs-texte-2); }
.orbis-studio .tarifs .liste svg { stroke: var(--cs-accent); }
.orbis-studio .tarifs .pcard .btn-2 { background: transparent; border: 1px solid var(--cs-filet-2); color: var(--cs-texte); }
@media (hover: hover) { .orbis-studio .tarifs .pcard .btn-2:hover { background: var(--cs-surface-2); border-color: var(--cs-texte-3); } }
.orbis-studio .tarifs .pcard.vedette {
  position: relative; border: 1px solid transparent; background: var(--cs-surface);
  --encre: var(--cs-texte); --encre-2: var(--cs-texte-2); --encre-3: var(--cs-texte-3);
  --trait: var(--cs-filet-2); --bleu-clair: var(--cs-accent); color: var(--cs-texte);
}
.orbis-studio .tarifs .pcard.vedette::before {
  content: ''; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; pointer-events: none;
  background: linear-gradient(170deg, var(--cs-g1), var(--cs-g2) 45%, var(--cs-filet-2) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.orbis-studio .tarifs .vedette .plan-lead,
.orbis-studio .tarifs .vedette .liste li { color: var(--cs-texte-2); }
.orbis-studio .tarifs .vedette .liste svg { stroke: var(--cs-accent); }
.orbis-studio .tarifs .vedette hr { background: var(--cs-filet-2); }
.orbis-studio .compare th:nth-child(3) { color: var(--cs-accent); }
.orbis-studio .compare tr.groupe td { background: var(--cs-surface); color: var(--cs-lead); }
.orbis-studio .compare tbody tr:not(.groupe):hover td { background: var(--cs-surface-2); }
