/* Source: photo-rectangle-ultra-premium-final */
/* PHOTO UNIQUEMENT — aucun autre élément de la page n'est modifié */
.about-hero-premium .about-hero-visual{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;

  border-radius:22px !important;
  clip-path:none !important;
  -webkit-clip-path:none !important;
  mask:none !important;
  -webkit-mask:none !important;

  background:#f2f2f2 !important;
  border:1px solid rgba(17,17,17,.09) !important;
  box-shadow:
    0 30px 72px rgba(17,17,17,.14),
    0 8px 22px rgba(17,17,17,.07),
    inset 0 1px 0 rgba(255,255,255,.72) !important;

  transform:translateZ(0) !important;
  transition:
    transform .7s cubic-bezier(.16,1,.3,1),
    box-shadow .7s cubic-bezier(.16,1,.3,1) !important;
}

.about-hero-premium .about-hero-visual::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;

  border-radius:inherit !important;
  border:1px solid rgba(255,255,255,.42) !important;
  box-shadow:inset 0 0 0 1px rgba(17,17,17,.025) !important;
  background:linear-gradient(
    135deg,
    rgba(255,255,255,.13) 0%,
    rgba(255,255,255,0) 28%,
    rgba(255,255,255,0) 72%,
    rgba(0,0,0,.035) 100%
  ) !important;
  opacity:1 !important;
}

.about-hero-premium .about-hero-visual::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:8% !important;
  right:8% !important;
  bottom:-20px !important;
  height:34px !important;
  z-index:-1 !important;
  pointer-events:none !important;

  background:rgba(17,17,17,.15) !important;
  border-radius:50% !important;
  filter:blur(24px) !important;
  opacity:.42 !important;
}

.about-hero-premium .about-hero-portrait{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center !important;

  border:0 !important;
  border-radius:0 !important;
  clip-path:none !important;
  -webkit-clip-path:none !important;
  mask:none !important;
  -webkit-mask:none !important;
  box-shadow:none !important;

  filter:grayscale(100%) contrast(1.09) brightness(.98) !important;
  transform:scale(1.001) !important;
  transform-origin:center center !important;
  transition:
    transform 1.1s cubic-bezier(.16,1,.3,1),
    filter .65s ease !important;
}

.about-hero-premium .about-hero-visual:hover{
  transform:translateY(-4px) !important;
  box-shadow:
    0 38px 86px rgba(17,17,17,.17),
    0 12px 28px rgba(17,17,17,.08),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
}

.about-hero-premium .about-hero-visual:hover .about-hero-portrait{
  transform:scale(1.025) !important;
  filter:grayscale(100%) contrast(1.11) brightness(1) !important;
}

@media (prefers-reduced-motion:reduce){
  .about-hero-premium .about-hero-visual,
  .about-hero-premium .about-hero-portrait{
    transition:none !important;
  }

  .about-hero-premium .about-hero-visual:hover{
    transform:none !important;
  }

  .about-hero-premium .about-hero-visual:hover .about-hero-portrait{
    transform:scale(1.001) !important;
  }
}

/* Source: ic-reference-premium-motion */
:root{
  --ic-ease:cubic-bezier(.16,1,.3,1);
  --ic-x:50vw;
  --ic-y:35vh;
}

/* Atmosphère générale, sans déplacer la mise en page */
.ic-ambient-layer{
  position:fixed;
  inset:0;
  z-index:68;
  pointer-events:none;
  opacity:.55;
  background:
    radial-gradient(520px circle at var(--ic-x) var(--ic-y),
      rgba(204,255,0,.045),
      rgba(255,255,255,0) 66%);
  mix-blend-mode:multiply;
}

.ic-premium-progress{
  position:fixed;
  top:0;
  left:0;
  z-index:2147483600;
  width:0;
  height:2px;
  pointer-events:none;
  background:linear-gradient(90deg,#151515 0%,#151515 75%,#ccff00 100%);
  box-shadow:0 0 12px rgba(204,255,0,.22);
}

/* Navigation : devient légèrement vitrée au scroll */
.nav{
  transition:
    background .6s var(--ic-ease),
    box-shadow .6s var(--ic-ease),
    backdrop-filter .6s ease,
    transform .6s var(--ic-ease) !important;
}
body.ic-has-scrolled .nav{
  background:rgba(255,255,255,.86) !important;
  backdrop-filter:blur(22px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.12) !important;
  box-shadow:0 12px 40px rgba(17,17,17,.055) !important;
}

/* Entrée cinématographique du hero */
.about-hero-kicker,
.about-hero-premium h1,
.about-hero-statement,
.about-hero-signature,
.about-hero-jump,
.about-hero-visual{
  opacity:0;
  will-change:opacity,transform,filter;
}

body.ic-ready .about-hero-kicker{
  animation:icRise .85s var(--ic-ease) .05s forwards;
}
body.ic-ready .about-hero-premium h1{
  animation:icRise 1.05s var(--ic-ease) .13s forwards;
}
body.ic-ready .about-hero-statement{
  animation:icRise .95s var(--ic-ease) .25s forwards;
}
body.ic-ready .about-hero-signature{
  animation:icRise .9s var(--ic-ease) .34s forwards;
}
body.ic-ready .about-hero-jump{
  animation:icRise .9s var(--ic-ease) .44s forwards;
}
body.ic-ready .about-hero-visual{
  animation:icPhotoReveal 1.2s var(--ic-ease) .16s forwards;
}

@keyframes icRise{
  from{opacity:0;transform:translate3d(0,34px,0);filter:blur(5px)}
  to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
@keyframes icPhotoReveal{
  from{opacity:0;transform:translate3d(30px,18px,0) scale(.975);filter:blur(6px)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
}

/* Titre hero : reflet typographique subtil */
.about-hero-premium h1{
  position:relative;
}
.about-hero-premium h1::after{
  content:"";
  position:absolute;
  inset:-4% -3%;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(
    105deg,
    transparent 0%,
    transparent 42%,
    rgba(255,255,255,.72) 49%,
    transparent 56%,
    transparent 100%
  );
  transform:translateX(-110%);
  mix-blend-mode:screen;
}
body.ic-ready .about-hero-premium h1::after{
  animation:icTitleSheen 7.8s ease-in-out 1.8s infinite;
}
@keyframes icTitleSheen{
  0%,66%{opacity:0;transform:translateX(-110%)}
  70%{opacity:.5}
  84%{opacity:.18}
  100%{opacity:0;transform:translateX(110%)}
}

/* Photo ultra premium : lumière, profondeur et ligne acidulée */
.about-hero-visual{
  --px:0px;
  --py:0px;
  transition:
    transform .75s var(--ic-ease),
    box-shadow .75s var(--ic-ease),
    filter .6s ease !important;
}
.about-hero-visual::before{
  background:
    linear-gradient(
      112deg,
      transparent 0%,
      transparent 36%,
      rgba(255,255,255,.22) 47%,
      rgba(255,255,255,.07) 53%,
      transparent 64%,
      transparent 100%
    ) !important;
  background-size:250% 100% !important;
  background-position:155% 0 !important;
  animation:icPhotoSweep 8.5s ease-in-out 1.2s infinite !important;
  mix-blend-mode:soft-light !important;
}
@keyframes icPhotoSweep{
  0%,58%{background-position:155% 0}
  78%,100%{background-position:-58% 0}
}
.about-hero-portrait{
  transform:translate3d(var(--px),var(--py),0) scale(1.024) !important;
  transition:
    transform .8s var(--ic-ease),
    filter .7s ease !important;
}
.about-hero-visual:hover{
  transform:translateY(-5px) !important;
  box-shadow:
    0 42px 94px rgba(17,17,17,.18),
    0 14px 30px rgba(17,17,17,.08),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
}
.about-hero-visual:hover .about-hero-portrait{
  transform:translate3d(var(--px),var(--py),0) scale(1.045) !important;
  filter:grayscale(100%) contrast(1.12) brightness(1.01) !important;
}
.ic-photo-accent{
  position:absolute;
  left:10%;
  right:10%;
  bottom:0;
  height:1px;
  z-index:5;
  pointer-events:none;
  opacity:.52;
  transform:scaleX(.28);
  transform-origin:center;
  background:linear-gradient(90deg,transparent,#ccff00,transparent);
  transition:transform .9s var(--ic-ease),opacity .55s ease;
}
.about-hero-visual:hover .ic-photo-accent{
  transform:scaleX(1);
  opacity:.9;
}

/* Navigation interne du hero */
.about-hero-jump a{
  position:relative;
  transition:transform .4s var(--ic-ease),opacity .3s ease !important;
}
.about-hero-jump a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-7px;
  height:1px;
  background:#151515;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .48s var(--ic-ease);
}
.about-hero-jump a:hover{
  transform:translateY(-3px) !important;
}
.about-hero-jump a:hover::after{
  transform:scaleX(1);
  transform-origin:left;
}

/* Révélation générale au scroll */
.ic-reveal{
  opacity:0;
  transform:translate3d(0,42px,0);
  filter:blur(4px);
  transition:
    opacity .95s var(--ic-ease),
    transform .95s var(--ic-ease),
    filter .85s ease;
  transition-delay:var(--ic-delay,0ms);
  will-change:opacity,transform,filter;
}
.ic-reveal.ic-visible{
  opacity:1;
  transform:translate3d(0,0,0);
  filter:blur(0);
}

/* Services : ligne animée, image plus vivante, texte mieux rythmé */
.service{
  transition:
    transform .7s var(--ic-ease),
    background .5s ease !important;
}
.service::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  pointer-events:none;
  opacity:.18;
  background:linear-gradient(90deg,#151515 0%,rgba(21,21,21,0) 82%);
  transform:scaleX(.12);
  transform-origin:left;
  transition:transform .75s var(--ic-ease),opacity .45s ease;
}
.service:hover::after{
  transform:scaleX(1);
  opacity:.34;
}
.service:hover{
  transform:translateX(8px) !important;
}
.service-thumb{
  border-radius:20px;
  transition:
    transform .8s var(--ic-ease),
    box-shadow .8s var(--ic-ease) !important;
}
.service:hover .service-thumb{
  transform:translateY(-5px) scale(1.015) !important;
  box-shadow:0 24px 55px rgba(17,17,17,.13);
}
.service h2{
  transition:
    transform .65s var(--ic-ease),
    letter-spacing .65s var(--ic-ease) !important;
}
.service:hover h2{
  transform:translateX(6px) !important;
}

/* Galerie impact */
.impact-frame{
  transition:
    transform .85s var(--ic-ease),
    border-radius .85s var(--ic-ease),
    box-shadow .85s var(--ic-ease) !important;
}
.impact-frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.18) 100%);
  opacity:0;
  transition:opacity .55s ease;
}
.impact-frame:hover::after{
  opacity:1;
}
.impact-frame:hover{
  box-shadow:0 34px 84px rgba(17,17,17,.16) !important;
}

/* Process */
.process-item summary{
  transition:
    padding-left .55s var(--ic-ease),
    opacity .35s ease !important;
}
.process-item summary:hover{
  padding-left:10px !important;
}
.process-visual{
  transition:
    transform .8s var(--ic-ease),
    box-shadow .8s var(--ic-ease) !important;
}
.process-visual:hover{
  transform:translateY(-6px);
  box-shadow:0 34px 90px rgba(17,17,17,.15) !important;
}
.process-visual img{
  transition:transform 1.1s var(--ic-ease),filter .65s ease !important;
}
.process-visual:hover img{
  transform:scale(1.055) !important;
  filter:grayscale(100%) contrast(1.11) !important;
}

/* Citation et cartes */
.quote-inner{
  position:relative;
}
.quote-inner::before{
  content:"";
  position:absolute;
  top:-28px;
  left:0;
  width:54px;
  height:2px;
  background:#ccff00;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .9s var(--ic-ease) .15s;
}
.quote-inner.ic-visible::before{
  transform:scaleX(1);
}
.card{
  transition:
    transform .8s var(--ic-ease),
    box-shadow .8s var(--ic-ease) !important;
}
.card:hover{
  transform:translateY(-10px) !important;
  box-shadow:0 34px 82px rgba(17,17,17,.14) !important;
}

/* Footer */
.footer-logo-img{
  transition:transform 1.1s var(--ic-ease),filter .6s ease !important;
}
.footer-logo:hover .footer-logo-img{
  transform:rotate(-4deg) scale(1.035);
}
.footer-redesign a{
  position:relative;
}
.footer-redesign a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:1px;
  background:#151515;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .45s var(--ic-ease);
}
.footer-redesign a:hover::after{
  transform:scaleX(1);
  transform-origin:left;
}

/* Éléments interactifs */
.pill,
.menu-toggle,
.history-cta,
.process-cta,
.news-tool-trigger,
.news-tool-tabs button,
.news-tool-all{
  transition:
    transform .38s var(--ic-ease),
    box-shadow .38s ease,
    background .32s ease,
    color .32s ease !important;
}
.pill:hover,
.menu-toggle:hover,
.history-cta:hover,
.process-cta:hover,
.news-tool-trigger:hover,
.news-tool-tabs button:hover,
.news-tool-all:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 14px 32px rgba(17,17,17,.10);
}

/* Curseur premium discret */
.ic-cursor-ring{
  position:fixed;
  left:0;
  top:0;
  width:26px;
  height:26px;
  z-index:2147483500;
  pointer-events:none;
  opacity:0;
  border-radius:50%;
  border:1px solid rgba(21,21,21,.30);
  transform:translate3d(-50%,-50%,0);
  transition:
    width .3s var(--ic-ease),
    height .3s var(--ic-ease),
    opacity .25s ease,
    border-color .25s ease,
    background .25s ease;
}
.ic-cursor-ring.ic-active{
  width:48px;
  height:48px;
  border-color:rgba(21,21,21,.16);
  background:rgba(204,255,0,.08);
}

/* Accessibilité */
@media (pointer:coarse){
  .ic-cursor-ring{display:none}
  .about-hero-portrait{
    transform:scale(1.024) !important;
  }
}
@media (prefers-reduced-motion:reduce){
  .ic-ambient-layer,
  .ic-premium-progress,
  .ic-cursor-ring{display:none !important}

  .about-hero-kicker,
  .about-hero-premium h1,
  .about-hero-statement,
  .about-hero-signature,
  .about-hero-jump,
  .about-hero-visual,
  .ic-reveal{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    animation:none !important;
    transition:none !important;
  }

  .about-hero-visual::before,
  .about-hero-premium h1::after{
    animation:none !important;
  }
}

