/* =====================================================================
   SPTorque™ V7.27 — RÉFÉRENCE PREMIUM GLOBALE
   Direction artistique maître : esthétique sombre / cuivre de la
   référence validée, avec rendu typographique natif ultra-net.

   Garanties :
   - ne modifie pas les 9 images de cas d'usage ;
   - ne modifie pas la photo de présentation ;
   - ne modifie pas les faces de l'emblème pivotant ;
   - ne modifie pas la navigation directrice du haut de l'accueil ;
   - conserve les comportements / liens existants de V7.26.
   ===================================================================== */

:root{
  --v727-bg:#05090d;
  --v727-bg-deep:#020609;
  --v727-panel:#0a1016;
  --v727-panel-hi:#10171e;
  --v727-ivory:#f5f1eb;
  --v727-copy:#c9cdd1;
  --v727-copy-soft:#aeb5bc;
  --v727-copper:#ff8a2a;
  --v727-copper-hi:#ffad68;
  --v727-copper-dim:#a95820;
  --v727-line:rgba(255,137,42,.42);
  --v727-line-soft:rgba(255,255,255,.105);
  --v727-shadow:0 22px 56px rgba(0,0,0,.34);
  --v727-radius:26px;
}

html{
  text-rendering:geometricPrecision;
  -webkit-text-size-adjust:100%;
  font-synthesis:none;
}
body{
  color:var(--v727-ivory);
  background:
    radial-gradient(ellipse at 84% 12%,rgba(255,117,20,.075),transparent 22%),
    radial-gradient(ellipse at 12% 82%,rgba(255,137,42,.026),transparent 19%),
    linear-gradient(155deg,var(--v727-bg) 0%,#070d12 48%,var(--v727-bg-deep) 100%)!important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body,button,input,textarea,select{
  font-family:"Segoe UI Variable Text","Segoe UI Variable","Segoe UI",Inter,Arial,sans-serif!important;
  font-kerning:normal;
}
h1,h2,h3,h4,strong,b,.v711-title,.btn,.cta,.cta-secondary,.inline-link,.v711-link{
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  font-kerning:normal;
}
h1,h2,h3,h4,.v711-title{
  color:var(--v727-ivory)!important;
  letter-spacing:-.028em;
}
p,.lead,.v711-lead,.article-body,.legend{
  color:var(--v727-copy)!important;
}

/* Titres de section : même syntaxe visuelle sur toutes les pages. */
main .v711-kicker,
main .kicker,
main .article-meta,
main .v720-case-badge,
main .v720-case-tag{
  color:#ff9c4b!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}
main .v711-kicker::after,
main .kicker::after{
  content:"";
  display:inline-block;
  width:54px;
  height:1px;
  margin-left:12px;
  vertical-align:middle;
  background:linear-gradient(90deg,rgba(255,145,61,.95),transparent);
  box-shadow:0 0 9px rgba(255,126,24,.52);
}

/* ---------------------------------------------------------------------
   Panneaux / encarts : la référence visuelle de la demande devient la
   norme du site. Bord cuivre fin, noir profond, lumière localisée, pas
   de halo permanent massif.
   --------------------------------------------------------------------- */
main :is(
  .panel,.v711-card,.v711-output,.v711-case,.v711-level,.v711-signal,
  .v711-report,.v711-tool,.v715-instrument,.v715-support-layer,
  .v721-teaser-card,.v720-case-card,.tile,.card,.metric,.resource-card,
  .v715-resource-card,.v712-contact-card,.legal-article,.legal-note,
  .offer-card,.compare-card,.method-step,.v711-step,.repere-option-card,
  .repere-question,.v722-founder-signature,.v711-note,.section-bridge
){
  position:relative;
  overflow:hidden;
  border-radius:var(--v727-radius)!important;
  border:1px solid var(--v727-line)!important;
  background:
    radial-gradient(ellipse at 0% 12%,rgba(255,139,45,.075),transparent 27%),
    radial-gradient(ellipse at 100% 0%,rgba(255,139,45,.055),transparent 25%),
    linear-gradient(150deg,rgba(15,21,28,.992),rgba(5,9,13,.995) 74%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 20px 46px rgba(0,0,0,.26)!important;
}
main :is(
  .panel,.v711-card,.v711-output,.v711-case,.v711-level,.v711-signal,
  .v711-report,.v711-tool,.v715-instrument,.v715-support-layer,
  .v721-teaser-card,.v720-case-card,.tile,.card,.metric,.resource-card,
  .v715-resource-card,.v712-contact-card,.legal-article,.legal-note,
  .offer-card,.compare-card,.method-step,.v711-step,.repere-option-card,
  .repere-question,.v722-founder-signature,.section-bridge
)::before{
  content:"";
  position:absolute;
  z-index:0;
  left:5%;
  right:5%;
  top:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(255,152,70,.92) 45%,rgba(255,180,105,.98) 50%,rgba(255,152,70,.92) 55%,transparent 100%);
  opacity:.68;
}
main :is(
  .panel,.v711-card,.v711-output,.v711-case,.v711-level,.v711-signal,
  .v711-report,.v711-tool,.v715-instrument,.v715-support-layer,
  .v721-teaser-card,.v720-case-card,.tile,.card,.metric,.resource-card,
  .v715-resource-card,.v712-contact-card,.legal-article,.legal-note,
  .offer-card,.compare-card,.method-step,.v711-step,.repere-option-card,
  .repere-question,.v722-founder-signature,.section-bridge
)::after{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  width:190px;
  height:190px;
  right:-112px;
  bottom:-120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,128,27,.075),transparent 66%);
}
main :is(
  .panel,.v711-card,.v711-output,.v711-case,.v711-level,.v711-signal,
  .v711-report,.v711-tool,.v715-instrument,.v715-support-layer,
  .v721-teaser-card,.v720-case-card,.tile,.card,.metric,.resource-card,
  .v715-resource-card,.v712-contact-card,.legal-article,.legal-note,
  .offer-card,.compare-card,.method-step,.v711-step,.repere-option-card,
  .repere-question,.v722-founder-signature,.section-bridge
) > *{
  position:relative;
  z-index:1;
}

/* Cartes cliquables : plus désirables uniquement quand on les sollicite. */
main :is(
  a.tile,a.card,a.resource-card,a.v715-resource-card,
  .v721-teaser-card,.offer-card,.repere-option-card,
  .v711-case,.v711-output,.v715-instrument
){
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
main :is(
  a.tile,a.card,a.resource-card,a.v715-resource-card,
  .v721-teaser-card,.offer-card,.repere-option-card,
  .v711-case,.v711-output,.v715-instrument
):hover{
  transform:translateY(-3px);
  border-color:rgba(255,151,67,.78)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.065),
    0 24px 54px rgba(0,0,0,.34),
    0 0 24px rgba(255,120,20,.095)!important;
}

/* Texte interne : contraste propre, sans gris délavé. */
main :is(
  .v711-card,.v711-output,.v711-case,.v711-level,.v711-signal,.v711-report,
  .v711-tool,.v715-instrument,.v721-teaser-card,.v720-case-card,.tile,
  .card,.metric,.resource-card,.v715-resource-card,.v712-contact-card,
  .legal-article,.legal-note,.offer-card,.compare-card,.method-step,
  .v711-step,.repere-option-card,.repere-question,.v722-founder-signature
) :is(p,span,li,small){
  color:#c3c8cd!important;
  text-shadow:none!important;
}
main :is(
  .v711-card,.v711-output,.v711-case,.v711-level,.v711-signal,.v711-report,
  .v711-tool,.v715-instrument,.v721-teaser-card,.v720-case-card,.tile,
  .card,.metric,.resource-card,.v715-resource-card,.v712-contact-card,
  .legal-article,.legal-note,.offer-card,.compare-card,.method-step,
  .v711-step,.repere-option-card,.repere-question,.v722-founder-signature
) :is(h3,h4,strong,b){
  color:#f5f1eb!important;
  text-shadow:none!important;
}

/* ---------------------------------------------------------------------
   Boutons, onglets et zones actives : qualité tactile, fine, cliquable.
   EXCLUSION volontaire : .nav / .nav-links de l'accueil.
   --------------------------------------------------------------------- */
main :is(
  .btn,.cta,.cta-secondary,.inline-link,.v711-link,.offer-tool,
  .v715-offer-tab,.offer-native-detail summary,.section-ribbon span,
  .mini-badge,.v726-price-compare
){
  border:1px solid rgba(255,146,64,.42)!important;
  background:
    linear-gradient(180deg,rgba(18,24,30,.99),rgba(6,10,14,.995))!important;
  color:#f5f1eb!important;
  border-radius:16px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 10px 24px rgba(0,0,0,.22)!important;
  text-decoration:none!important;
  transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease,background .17s ease,color .17s ease!important;
}
main :is(
  .btn,.cta,.cta-secondary,.inline-link,.v711-link,.offer-tool,
  .v715-offer-tab,.offer-native-detail summary,.section-ribbon span,
  .mini-badge,.v726-price-compare
):hover{
  transform:translateY(-2px);
  border-color:rgba(255,165,87,.9)!important;
  color:#fff!important;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(255,126,27,.12),transparent 70%),
    linear-gradient(180deg,rgba(25,25,25,.99),rgba(7,10,14,.995))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 14px 30px rgba(0,0,0,.28),
    0 0 20px rgba(255,126,27,.10)!important;
}
main :is(.btn,.cta,.cta-secondary,.offer-tool,.v715-offer-tab,.offer-native-detail summary,.repere-option-card):focus-visible{
  outline:2px solid #ff9a4b!important;
  outline-offset:3px!important;
}
main :is(.btn.primary,.cta){
  background:linear-gradient(180deg,#f28a2e 0%,#c85b0c 64%,#9f3d04 100%)!important;
  border-color:#ffae69!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 12px 28px rgba(176,70,6,.22)!important;
}
main :is(.v715-offer-tab.is-active,.v715-offer-tab[aria-selected="true"],.offer-native-detail[open] summary){
  background:linear-gradient(180deg,rgba(48,27,15,.98),rgba(12,10,9,.995))!important;
  border-color:rgba(255,155,72,.92)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075),0 0 20px rgba(255,126,27,.105)!important;
}

/* Les options du Repère doivent clairement donner envie de cliquer. */
main .repere-option-card{
  cursor:pointer!important;
}
main .repere-option-card:hover,
main .repere-option input:focus-visible + .repere-option-card,
main .repere-option input:checked + .repere-option-card{
  border-color:rgba(255,157,74,.86)!important;
  background:
    radial-gradient(ellipse at 18% 0%,rgba(255,126,27,.115),transparent 42%),
    linear-gradient(150deg,rgba(18,23,29,.995),rgba(6,10,14,.998))!important;
  box-shadow:0 18px 38px rgba(0,0,0,.28),0 0 22px rgba(255,126,27,.09)!important;
}

/* ---------------------------------------------------------------------
   Images / visuels validés : aucune recompression, aucun filtre, aucun
   scaling agressif. La finesse provient de la source PNG d'origine.
   --------------------------------------------------------------------- */
.v722-visual-shell,
.v722-hero-media,
.theme-visual,
.image-frame,
.v721-case-figure{
  filter:none!important;
  transform:none!important;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.v722-visual-shell img,
.v722-hero-media img,
.theme-visual img,
.image-frame img,
.v721-case-figure img{
  display:block;
  max-width:100%;
  height:auto;
  filter:none!important;
  transform:none!important;
  image-rendering:auto;
}
/* Les images composites restent dans leur définition native et ne sont pas étirées. */
.v722-visual-shell img{
  width:100%;
  object-fit:contain;
}

/* Les 9 photos de cas restent intactes : uniquement cadre périphérique. */
body[data-v722-page="cas-usage"] .v721-case-figure{
  border-radius:22px!important;
  border:1px solid rgba(255,143,56,.25)!important;
  box-shadow:0 15px 34px rgba(0,0,0,.28)!important;
  overflow:hidden!important;
  background:#05090d!important;
}
body[data-v722-page="cas-usage"] .v721-case-figure img{
  width:100%!important;
  opacity:1!important;
}

/* ---------------------------------------------------------------------
   Requête contact : le mot-symbole est désormais un cran plus visible,
   tout en restant intégré et secondaire par rapport au contenu.
   --------------------------------------------------------------------- */
body[data-v722-page="contact"] .v723-contact-hero{
  min-height:330px;
  isolation:isolate;
}
body[data-v722-page="contact"] .v723-contact-brand-ghost{
  right:30px!important;
  top:24px!important;
  width:min(34vw,430px)!important;
  max-width:46%!important;
  opacity:.36!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
body[data-v722-page="contact"] .v723-contact-brand-ghost::after{
  inset:-18% -12% -24%!important;
  background:radial-gradient(ellipse at 52% 42%,rgba(255,124,24,.13),transparent 60%)!important;
}
body[data-v722-page="contact"] .v723-contact-brand-ghost img{
  filter:none!important;
  opacity:1!important;
}
body[data-v722-page="contact"] .v723-contact-hero h1{
  max-width:720px!important;
  text-wrap:balance;
}
body[data-v722-page="contact"] .v723-contact-hero .lead{max-width:680px!important}
@media(max-width:900px){
  body[data-v722-page="contact"] .v723-contact-brand-ghost{
    width:min(42vw,320px)!important;
    max-width:44%!important;
    opacity:.27!important;
  }
}
@media(max-width:640px){
  body[data-v722-page="contact"] .v723-contact-brand-ghost{
    position:relative!important;
    width:230px!important;
    max-width:72%!important;
    margin:0 0 20px!important;
    opacity:.32!important;
    right:auto!important;top:auto!important;
  }
}

/* ---------------------------------------------------------------------
   Requête 16 : cartes d'offre neutres au repos, glow UNIQUEMENT hover.
   Aucun état 3 pré-allumé.
   --------------------------------------------------------------------- */
.v726-price-card,
.v726-price-card:nth-child(3),
.v726-price-card[aria-current="true"]{
  transform:none!important;
  border-color:rgba(255,255,255,.17)!important;
  background:linear-gradient(160deg,rgba(19,22,25,.985),rgba(5,10,14,.998))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 17px 34px rgba(0,0,0,.22)!important;
}
.v726-price-card::before{
  opacity:.44!important;
  box-shadow:none!important;
}
.v726-price-card:hover,
.v726-price-card:focus-visible{
  transform:translateY(-5px)!important;
  border-color:rgba(255,145,56,.94)!important;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(255,118,20,.12),transparent 46%),
    linear-gradient(160deg,rgba(22,24,26,.998),rgba(5,10,14,1))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.075),
    0 24px 52px rgba(0,0,0,.36),
    0 0 28px rgba(255,118,20,.15)!important;
}
.v726-price-card:hover::before,
.v726-price-card:focus-visible::before{
  opacity:1!important;
  box-shadow:0 0 14px rgba(255,128,31,.72)!important;
}
.v726-price-card:hover .v726-price-icon,
.v726-price-card:focus-visible .v726-price-icon{
  border-color:rgba(255,159,76,.78)!important;
  box-shadow:0 0 20px rgba(255,126,27,.11),inset 0 1px 0 rgba(255,255,255,.055)!important;
}

/* Nettoyage typographique final. */
main :is(h1,h2,h3,h4,p,li,span,strong,b,small){
  filter:none!important;
  -webkit-filter:none!important;
}
main .v711-title{line-height:1.055!important}
main .v711-lead,.lead{line-height:1.68!important}
main p{orphans:2;widows:2}

/* Espacement cohérent des sections sans modifier leurs contenus. */
main .v711-section{padding-top:74px;padding-bottom:74px}
main .v711-section + .v711-section{border-top:1px solid rgba(255,255,255,.035)}

/* Responsive : aucun débordement, aucune réduction floue. */
@media(max-width:760px){
  main :is(.panel,.v711-card,.v711-output,.v711-case,.v711-level,.v711-signal,
    .v711-report,.v711-tool,.v715-instrument,.v721-teaser-card,.v720-case-card,
    .tile,.card,.metric,.resource-card,.v715-resource-card,.v712-contact-card,
    .legal-article,.offer-card,.compare-card,.method-step,.v711-step,
    .repere-option-card,.repere-question,.v722-founder-signature){
    border-radius:20px!important;
  }
  main .v711-section{padding-top:54px;padding-bottom:54px}
}

/* Accessibilité mouvement. */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
