/* BISIMMO — parcours Bisecco, version premium du 29/10/2026
   Portée : accueil / section #bisecco. Aucun changement des styles globaux. */
html body.home section.bi-bisecco {
  --bs-navy:#021434;
  --bs-ink:#0B1226;
  --bs-gold:#B88F42;
  --bs-sand:#F7F4EF;
  --bs-border:#E7E8EA;
  --bs-muted:#53585F;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:100px 0 96px;
  background:linear-gradient(180deg,#F7F4EF 0%,#FAF9F7 53%,#FFFFFF 100%);
  border-top:1px solid #E7E8EA;
  border-bottom:1px solid #E7E8EA;
  scroll-margin-top:150px;
}
html body.home section.bi-bisecco .enveloppe {max-width:calc(1440px + 2 * var(--gouttiere,48px));}
html body.home section.bi-bisecco .bi-bs-tete {
  display:flex;
  align-items:center;
  gap:18px;
  margin:0 0 27px;
}
html body.home section.bi-bisecco .bi-bs-tete img {
  width:auto;
  height:30px;
  object-fit:contain;
  flex-shrink:0;
}
html body.home section.bi-bisecco .bi-bs-surtitre {
  position:relative;
  margin:0;
  padding-left:18px;
  border-left:1px solid rgba(2,20,52,.2);
  color:var(--bs-navy);
  font:700 11px/1.4 'Roboto',system-ui,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
html body.home section.bi-bisecco h2 {
  max-width:1050px;
  margin:0;
  font-family:'Roboto',system-ui,sans-serif;
  font-size:clamp(32px,3.15vw,51px);
  font-weight:700;
  line-height:1.13;
  letter-spacing:-.035em;
  color:var(--bs-ink);
  text-wrap:balance;
}
html body.home section.bi-bisecco h2::after {
  content:"";
  display:block;
  width:74px;
  height:3px;
  margin:26px 0 0;
  border-radius:1px;
  background:var(--bs-gold);
}
html body.home section.bi-bisecco .bi-bs-chapo {
  max-width:800px;
  margin:24px 0 45px;
  color:var(--bs-muted);
  font:400 clamp(15px,1.25vw,18px)/1.7 'Roboto',system-ui,sans-serif;
}
html body.home section.bi-bisecco ol {
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:0 0 36px;
  padding:0;
  list-style:none;
  counter-reset:bs;
}
html body.home section.bi-bisecco ol>li {
  counter-increment:bs;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  min-height:254px;
  margin:0;
  padding:31px 31px 34px;
  overflow:hidden;
  background:#FFFFFF;
  border:1px solid var(--bs-border);
  border-top:3px solid var(--bs-gold);
  border-radius:4px;
  box-shadow:0 6px 25px rgba(2,20,52,.045);
  color:var(--bs-ink);
  text-align:left;
  transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;
}
html body.home section.bi-bisecco ol>li:nth-child(2) {border-top-color:var(--bs-navy);}
html body.home section.bi-bisecco ol>li:nth-child(3) {border-top-color:var(--bs-gold);}
html body.home section.bi-bisecco ol>li::before {
  content:counter(bs,decimal-leading-zero);
  display:grid;
  place-items:center;
  width:47px;
  height:43px;
  margin:0 0 29px;
  background:var(--bs-navy);
  border:0;
  border-radius:4px;
  color:#FFFFFF;
  font:700 16px/1 'Roboto',system-ui,sans-serif;
  letter-spacing:.025em;
  flex-shrink:0;
}
html body.home section.bi-bisecco ol>li::after {
  content:"";
  position:absolute;
  top:32px;
  right:30px;
  width:44px;
  height:44px;
  background-color:var(--bs-sand);
  background-repeat:no-repeat;
  background-position:center;
  background-size:25px 25px;
  border:1px solid var(--bs-border);
  border-radius:4px;
  pointer-events:none;
  opacity:1;
}
html body.home section.bi-bisecco ol>li:nth-child(1)::after {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23021434' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}
html body.home section.bi-bisecco ol>li:nth-child(2)::after {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23021434' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21h16M5 21V7l7-4 7 4v14M9 21v-6h6v6M9 10h.01M15 10h.01'/%3E%3C/svg%3E");
}
html body.home section.bi-bisecco ol>li:nth-child(3)::after {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23021434' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.5 8.5 0 0 1-8.5 8.5 9 9 0 0 1-4.3-1.1L3 21l2.1-5.2A8.5 8.5 0 1 1 21 11.5Z'/%3E%3Cpath d='m9 11.5 2 2 4-4'/%3E%3C/svg%3E");
}
html body.home section.bi-bisecco ol>li strong {
  display:block;
  margin:0 0 13px;
  max-width:100%;
  color:var(--bs-navy);
  font-family:'Roboto',system-ui,sans-serif;
  font-size:clamp(17px,1.3vw,20px);
  font-weight:700;
  line-height:1.34;
  letter-spacing:-.017em;
}
html body.home section.bi-bisecco ol>li>span {
  display:block;
  max-width:100%;
  margin:0;
  color:var(--bs-muted);
  font-family:'Roboto',system-ui,sans-serif;
  font-size:15px;
  line-height:1.7;
}
html body.home section.bi-bisecco .bi-bs-actions {
  display:flex;
  justify-content:flex-start;
  align-items:center;
  flex-wrap:wrap;
  gap:13px;
  padding-top:28px;
  border-top:1px solid rgba(2,20,52,.13);
}
html body.home section.bi-bisecco .bi-bs-actions a {
  position:relative;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  width:auto;
  min-height:54px;
  padding:13px 22px;
  border:1px solid transparent;
  border-radius:4px;
  font:700 14px/1.3 'Roboto',system-ui,sans-serif;
  letter-spacing:0;
  text-align:center;
  text-decoration:none;
  text-shadow:none;
  box-shadow:none;
  transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;
}
html body.home section.bi-bisecco .bi-bs-actions a::after {
  content:"→";
  display:inline;
  flex:none;
  width:auto;
  height:auto;
  position:static;
  margin:0;
  padding:0;
  background:none;
  border:0;
  color:inherit;
  opacity:1;
  font-family:'Roboto',system-ui,sans-serif;
  font-size:19px;
  line-height:1;
  transform:none;
  transition:none;
}
html body.home section.bi-bisecco .bi-bs-actions a.bi-bs-or {
  background:var(--bs-gold);
  color:var(--bs-navy);
  border-color:var(--bs-gold);
}
html body.home section.bi-bisecco .bi-bs-actions a.bi-bs-contour {
  background:#FFFFFF;
  color:var(--bs-navy);
  border-color:var(--bs-navy);
}
html body.home section.bi-bisecco .bi-bs-actions a.bi-bs-or:hover,
html body.home section.bi-bisecco .bi-bs-actions a.bi-bs-or:focus-visible {
  background:#FFFFFF;
  border-color:var(--bs-navy);
  color:var(--bs-navy);
  box-shadow:0 5px 15px rgba(2,20,52,.09);
}
html body.home section.bi-bisecco .bi-bs-actions a.bi-bs-contour:hover,
html body.home section.bi-bisecco .bi-bs-actions a.bi-bs-contour:focus-visible {
  background:var(--bs-navy);
  border-color:var(--bs-navy);
  color:#FFFFFF;
  box-shadow:0 5px 15px rgba(2,20,52,.11);
}
html body.home section.bi-bisecco .bi-bs-actions a:focus-visible {
  outline:3px solid var(--bs-gold);
  outline-offset:3px;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html body.home section.bi-bisecco ol>li:hover {
    transform:translateY(-3px);
    box-shadow:0 12px 34px rgba(2,20,52,.085);
    border-color:#D8D6D1;
    border-top-color:var(--bs-gold);
  }
  html body.home section.bi-bisecco ol>li:nth-child(2):hover {border-top-color:var(--bs-navy);}
}
@media (max-width:1080px) {
  html body.home section.bi-bisecco {padding:82px 0 78px;}
  html body.home section.bi-bisecco ol {gap:14px;}
  html body.home section.bi-bisecco ol>li {padding:25px 22px 28px;min-height:282px;}
  html body.home section.bi-bisecco ol>li::after {top:26px;right:22px;}
}
@media (max-width:820px) {
  html body.home section.bi-bisecco ol {grid-template-columns:1fr;gap:14px;}
  html body.home section.bi-bisecco ol>li {min-height:0;padding:25px 27px 28px;}
  html body.home section.bi-bisecco ol>li::before {margin-bottom:21px;}
  html body.home section.bi-bisecco ol>li::after {right:27px;}
  html body.home section.bi-bisecco .bi-bs-chapo {margin-bottom:32px;}
}
@media (max-width:600px) {
  html body.home section.bi-bisecco {padding:60px 0 64px;}
  html body.home section.bi-bisecco .bi-bs-tete {gap:13px;margin-bottom:22px;flex-wrap:wrap;}
  html body.home section.bi-bisecco .bi-bs-tete img {height:27px;}
  html body.home section.bi-bisecco .bi-bs-surtitre {font-size:10px;letter-spacing:.11em;padding-left:12px;}
  html body.home section.bi-bisecco h2 {font-size:clamp(28px,7.7vw,36px);line-height:1.17;letter-spacing:-.03em;}
  html body.home section.bi-bisecco h2::after {margin-top:19px;width:60px;}
  html body.home section.bi-bisecco .bi-bs-chapo {margin:19px 0 28px;font-size:15px;line-height:1.65;}
  html body.home section.bi-bisecco ol {gap:12px;margin-bottom:22px;}
  html body.home section.bi-bisecco ol>li {padding:23px 19px 25px;}
  html body.home section.bi-bisecco ol>li::before {width:42px;height:39px;font-size:15px;margin-bottom:20px;}
  html body.home section.bi-bisecco ol>li::after {top:24px;right:19px;width:40px;height:40px;}
  html body.home section.bi-bisecco ol>li strong {font-size:17px;line-height:1.38;}
  html body.home section.bi-bisecco ol>li>span {font-size:14px;line-height:1.68;}
  html body.home section.bi-bisecco .bi-bs-actions {flex-direction:column;align-items:stretch;gap:11px;padding-top:20px;}
  html body.home section.bi-bisecco .bi-bs-actions a {width:100%;min-height:52px;padding:13px 14px;font-size:13.5px;}
}
@media (prefers-reduced-motion:reduce) {
  html body.home section.bi-bisecco ol>li,
  html body.home section.bi-bisecco .bi-bs-actions a {transition:none!important;transform:none!important;}
}

/* === 29/10/2026 · BISIMMO × Bisecco : micro-interactions premium ===
   Styles strictement limités au parcours #bisecco de la page d'accueil. */
html body.home section.bi-bisecco {
  background:
    radial-gradient(ellipse 42% 58% at 98% 6%, rgba(184,143,66,.095), transparent 78%),
    radial-gradient(ellipse 43% 62% at 2% 100%, rgba(2,20,52,.035), transparent 82%),
    linear-gradient(180deg,#F7F4EF 0%,#FAF9F7 54%,#FFFFFF 100%);
}
html body.home section.bi-bisecco::before {
  content:"";
  pointer-events:none;
  position:absolute;
  width:480px;
  height:480px;
  top:-300px;
  right:-185px;
  border-radius:50%;
  border:1px solid rgba(184,143,66,.15);
  box-shadow:0 0 0 62px rgba(184,143,66,.023),0 0 0 125px rgba(184,143,66,.013);
  z-index:0;
}
html body.home section.bi-bisecco > .enveloppe {
  position:relative;
  z-index:1;
}
html body.home section.bi-bisecco .bi-bs-tete img {
  transition:transform .42s cubic-bezier(.22,1,.36,1),filter .4s ease;
}
html body.home section.bi-bisecco h2::after {
  transition:width .75s cubic-bezier(.22,1,.36,1),opacity .7s ease;
}
html body.home section.bi-bisecco.bi-bs-inview h2::after {width:100px;}

/* Les trois cartes ont une structure stable, sans clic fictif. */
html body.home section.bi-bisecco ol>li {
  transform:translate3d(0,0,0);
  background-color:#FFFFFF;
  background-image:linear-gradient(148deg,rgba(247,244,239,.0) 27%,rgba(247,244,239,.0) 100%);
  box-shadow:0 6px 24px rgba(2,20,52,.045);
  border-color:#E7E8EA;
  border-top-color:#B88F42;
  transition:
    transform .52s cubic-bezier(.22,1,.36,1),
    box-shadow .52s cubic-bezier(.22,1,.36,1),
    border-color .35s ease,
    background-color .35s ease,
    opacity .65s ease;
}
html body.home section.bi-bisecco ol>li:nth-child(2) {border-top-color:#021434;}
html body.home section.bi-bisecco ol>li::before {
  box-shadow:0 5px 12px rgba(2,20,52,.085);
  transform:translate3d(0,0,0) scale(1);
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    background-color .35s ease,
    color .35s ease,
    box-shadow .35s ease;
}
html body.home section.bi-bisecco ol>li::after {
  transform:translate3d(0,0,0) rotate(0deg) scale(1);
  transition:
    transform .57s cubic-bezier(.22,1,.36,1),
    background-color .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}
html body.home section.bi-bisecco ol>li strong {
  transform:translateX(0);
  transition:transform .45s cubic-bezier(.22,1,.36,1),color .3s ease;
}
html body.home section.bi-bisecco ol>li>span {
  transition:color .3s ease;
}

/* Des boutons aux animations courtes et directionnelles. */
html body.home section.bi-bisecco .bi-bs-actions a {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transform:translateY(0);
  transition:
    transform .35s cubic-bezier(.22,1,.36,1),
    background-color .3s ease,
    border-color .3s ease,
    color .3s ease,
    box-shadow .35s ease;
}
html body.home section.bi-bisecco .bi-bs-actions a::before {
  content:"";
  pointer-events:none;
  position:absolute;
  z-index:-1;
  top:-70%;
  bottom:-70%;
  left:-70px;
  width:52px;
  border-radius:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.29),transparent);
  opacity:0;
  transform:translateX(-130px) rotate(18deg);
  transition:transform .75s cubic-bezier(.22,1,.36,1),opacity .22s ease;
}
html body.home section.bi-bisecco .bi-bs-actions a::after {
  transform:translateX(0);
  transition:transform .38s cubic-bezier(.22,1,.36,1);
}
html body.home section.bi-bisecco .bi-bs-actions a.bi-bs-or:hover,
html body.home section.bi-bisecco .bi-bs-actions a.bi-bs-or:focus-visible {
  background:#021434;
  color:#FFFFFF;
  border-color:#021434;
  box-shadow:0 12px 26px rgba(2,20,52,.19);
}
html body.home section.bi-bisecco .bi-bs-actions a.bi-bs-contour:hover,
html body.home section.bi-bisecco .bi-bs-actions a.bi-bs-contour:focus-visible {
  background:#F7F4EF;
  color:#021434;
  border-color:#B88F42;
  box-shadow:0 10px 24px rgba(2,20,52,.08);
}
html body.home section.bi-bisecco .bi-bs-actions a:focus-visible {
  outline:3px solid #B88F42;
  outline-offset:3px;
}

/* Desktop seulement : survol exige un vrai périphérique pointeur. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  html body.home section.bi-bisecco ol>li:hover {
    transform:translate3d(0,-9px,0);
    background-color:#FFFEFC;
    border-color:rgba(184,143,66,.55);
    border-top-color:#B88F42;
    box-shadow:0 22px 55px rgba(2,20,52,.12),0 3px 10px rgba(184,143,66,.08);
  }
  html body.home section.bi-bisecco ol>li:nth-child(2):hover {
    border-top-color:#021434;
  }
  html body.home section.bi-bisecco ol>li:hover::before {
    transform:translate3d(0,-4px,0) scale(1.075);
    background:#B88F42;
    color:#021434;
    box-shadow:0 9px 22px rgba(184,143,66,.26);
  }
  html body.home section.bi-bisecco ol>li:hover::after {
    transform:translate3d(0,-4px,0) rotate(6deg) scale(1.095);
    background-color:#F7F4EF;
    border-color:rgba(184,143,66,.55);
    box-shadow:0 9px 18px rgba(2,20,52,.06);
  }
  html body.home section.bi-bisecco ol>li:hover strong {
    transform:translateX(3px);
    color:#021434;
  }
  html body.home section.bi-bisecco .bi-bs-tete:hover img {
    transform:scale(1.045);
    filter:drop-shadow(0 3px 6px rgba(2,20,52,.08));
  }
  html body.home section.bi-bisecco .bi-bs-actions a:hover {
    transform:translate3d(0,-3px,0);
  }
  html body.home section.bi-bisecco .bi-bs-actions a:hover::before {
    transform:translateX(410px) rotate(18deg);
    opacity:1;
  }
  html body.home section.bi-bisecco .bi-bs-actions a:hover::after {
    transform:translateX(4px);
  }
}
@media (max-width:820px) {
  html body.home section.bi-bisecco::before {width:300px;height:300px;top:-170px;right:-170px;}
}
@media (max-width:600px) {
  html body.home section.bi-bisecco::before {display:none;}
}

/* Défilement : la classe n'est ajoutée que si JS + IntersectionObserver sont disponibles.
   Sans JS, le contenu reste immédiatement visible. */
@media (prefers-reduced-motion:no-preference) {
  html body.home section.bi-bisecco.bi-bs-motion-ready .bi-bs-tete,
  html body.home section.bi-bisecco.bi-bs-motion-ready h2,
  html body.home section.bi-bisecco.bi-bs-motion-ready .bi-bs-chapo,
  html body.home section.bi-bisecco.bi-bs-motion-ready .bi-bs-actions {
    opacity:0;
    transform:translate3d(0,15px,0);
    transition:
      opacity .7s cubic-bezier(.22,1,.36,1),
      transform .7s cubic-bezier(.22,1,.36,1);
  }
  html body.home section.bi-bisecco.bi-bs-motion-ready ol>li {opacity:0;}
  html body.home section.bi-bisecco.bi-bs-motion-ready.bi-bs-inview .bi-bs-tete,
  html body.home section.bi-bisecco.bi-bs-motion-ready.bi-bs-inview h2,
  html body.home section.bi-bisecco.bi-bs-motion-ready.bi-bs-inview .bi-bs-chapo,
  html body.home section.bi-bisecco.bi-bs-motion-ready.bi-bs-inview .bi-bs-actions {
    opacity:1;
    transform:translate3d(0,0,0);
  }
  html body.home section.bi-bisecco.bi-bs-motion-ready.bi-bs-inview ol>li {opacity:1;}
  html body.home section.bi-bisecco.bi-bs-motion-ready.bi-bs-inview h2 {transition-delay:.07s;}
  html body.home section.bi-bisecco.bi-bs-motion-ready.bi-bs-inview .bi-bs-chapo {transition-delay:.14s;}
  html body.home section.bi-bisecco.bi-bs-motion-ready.bi-bs-inview ol>li:nth-child(1) {transition-delay:.14s;}
  html body.home section.bi-bisecco.bi-bs-motion-ready.bi-bs-inview ol>li:nth-child(2) {transition-delay:.23s;}
  html body.home section.bi-bisecco.bi-bs-motion-ready.bi-bs-inview ol>li:nth-child(3) {transition-delay:.32s;}
  html body.home section.bi-bisecco.bi-bs-motion-ready.bi-bs-inview .bi-bs-actions {transition-delay:.35s;}
}
@media (prefers-reduced-motion:reduce) {
  html body.home section.bi-bisecco::before {box-shadow:none;}
  html body.home section.bi-bisecco ol>li,
  html body.home section.bi-bisecco ol>li::before,
  html body.home section.bi-bisecco ol>li::after,
  html body.home section.bi-bisecco ol>li strong,
  html body.home section.bi-bisecco .bi-bs-actions a,
  html body.home section.bi-bisecco .bi-bs-actions a::before,
  html body.home section.bi-bisecco .bi-bs-actions a::after,
  html body.home section.bi-bisecco .bi-bs-tete img,
  html body.home section.bi-bisecco h2::after {
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
}
