/* OVIIGI TECHNOLOGIES — HERO PREMIUM */

.hero {
  position:relative;
  isolation:isolate;
  max-width:1440px;
  min-height:580px;
  margin:0 auto;
  padding:80px 6%;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  align-items:center;
  gap:38px;
  overflow:hidden;
  
  background:
    linear-gradient(90deg,
      rgba(3,12,29,.78) 0%,
      rgba(4,18,41,.52) 40%,
      rgba(4,18,41,.08) 100%),
    url('/assets/images/oviigi-hero-premium-optimized-50207n62.webp')
      center center / cover no-repeat;

}

.hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(
    ellipse at 76% 45%,
    rgba(24,130,245,.16),transparent 60%);
}

.hero-glow {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 76% 46%,
      rgba(28,132,239,.25),transparent 43%),
    radial-gradient(ellipse at 20% 80%,
      rgba(10,64,125,.18),transparent 52%);
}

.hero-content,.hero-visual {
  position:relative;
  z-index:1;
  min-width:0;
}

.hero-content {max-width:680px}

.hero .eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  color:#ffac70;
  font-size:11px;
  font-weight:800;
  letter-spacing:2px;
}

.hero h1 {
  margin:22px 0;
  color:#f5f9ff;
  font-size:clamp(43px,4.3vw,70px);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-2.3px;
}

.hero h1 em {
  font-style:normal;
  color:#ff913d;
}

.hero h1 em:first-of-type {
  color:#54c8ff;
}

.hero h1 em:last-of-type {
  color:#ffac59;
}

.hero-description {
  max-width:490px;
  color:#b5c6da;
  font-size:16px;
  line-height:1.75;
}

.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  margin-top:30px;
}

.hero-actions .btn {
  min-height:42px;
  padding:11px 17px;
  border-radius:8px;
  font-size:12px;
  font-weight:800;
}

.hero-visual {
  min-height:390px;
  display:grid;
  place-items:center;
}

.hero-visual img {
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  max-width:540px;
  height:auto;
  object-fit:contain;
  border-radius:22px;
  filter:drop-shadow(0 28px 50px rgba(0,0,0,.30));
}

.visual-ring {
  position:absolute;
  display:block;
  width:490px;
  height:490px;
  max-width:100%;
  border:1px solid rgba(51,156,255,.23);
  border-radius:50%;
  box-shadow:0 0 45px rgba(20,111,220,.07);
}

.ring-two {
  width:390px;
  height:390px;
  border-color:rgba(255,151,66,.13);
}

.visual-caption {
  position:absolute;
  z-index:3;
  bottom:8px;
  max-width:95%;
  padding:12px 17px;
  border:1px solid rgba(127,174,221,.25);
  border-radius:10px;
  background:rgba(9,29,52,.90);
  color:#c5d8ed;
  font-size:11px;
  display:flex;
  align-items:center;
  gap:10px;
}


/* Bouton secondaire Premium OVIIGI */
.hero-actions .btn-outline {
  background:linear-gradient(135deg,#174e8b,#176bb6);
  border:1px solid #459ce4;
  color:#ffffff;
  box-shadow:0 5px 18px rgba(14,91,174,.22);
}
.hero-actions .btn-outline:hover {
  background:linear-gradient(135deg,#2066ae,#2383d2);
  border-color:#7bc6ff;
  color:#ffffff;
}

@media (max-width:760px) {
  .hero {
    min-height:0;
    grid-template-columns:minmax(0,1fr);
    padding:54px 21px 58px;
    gap:26px;
    
    background:
      linear-gradient(180deg,
        rgba(3,12,29,.88) 0%,
        rgba(4,18,41,.76) 65%,
        rgba(4,18,41,.55) 100%),
      url('/assets/images/oviigi-hero-premium-optimized-50207n62.webp')
        65% center / cover no-repeat;

  }

  .hero .eyebrow {
    font-size:9px;
    letter-spacing:1.35px;
  }

  .hero h1 {
    font-size:clamp(35px,8.6vw,48px);
    line-height:1.13;
    letter-spacing:-1.5px;
    margin:19px 0;
  }

  .hero-description {
    font-size:13px;
    line-height:1.75;
  }

  .hero-actions {
    gap:9px;
    margin-top:23px;
  }

  .hero-actions .btn {
    min-height:39px;
    padding:10px 13px;
    font-size:11px;
  }

  .hero-visual {
    display:none;
  }

  .hero-visual img {
    max-width:390px;
    border-radius:16px;
  }

  .visual-ring {
    width:270px;
    height:270px;
  }

  .ring-two {
    width:210px;
    height:210px;
  }

  .visual-caption {
    bottom:-5px;
    font-size:9px;
    padding:9px 12px;
  }
}


/* Cartes integrees dans la composition du Hero */
.hero > .services {
  position:relative;
  z-index:2;
  grid-column:1/-1;
  width:100%;
  padding:30px 0 0;
  background:transparent;
}
.hero > .services .section-heading {
  display:none;
}
.hero > .services .services-grid {
  max-width:none;
  margin:0;
}
@media(max-width:760px) {
  .hero > .services {
    padding-top:25px;
  }
}


/* OVIIGI HERO TRUST V1 */
.hero > .hero-trust {
  position:relative;
  z-index:2;
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  width:100%;
  max-width:950px;
  margin-top:2px;
  margin-bottom:-10px;
}

.hero-trust-item {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  min-width:0;
}

.hero-trust-icon {
  color:#22a9ff;
  font-size:36px;
  line-height:1;
  font-weight:700;
  text-shadow:0 0 16px rgba(22,151,255,.4);
}

.hero-trust-item strong {
  color:#f5f9ff;
  font-size:17px;
  line-height:1.25;
}

.hero-trust-item > span:last-child {
  color:#b9cbe0;
  font-size:12px;
  line-height:1.5;
}

@media(max-width:760px) {
  .hero > .hero-trust {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 14px;
    margin-top:0;
    margin-bottom:0;
  }
  .hero-trust-icon {font-size:30px;}
  .hero-trust-item strong {font-size:14px;}
  .hero-trust-item > span:last-child {font-size:11px;}
}


/* OVIIGI HERO TRUST ALIGN V2 */
.hero > .hero-trust {
  display:grid !important;
  grid-column:1 / -1;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  width:100%;
  max-width:950px;
  gap:22px;
  justify-self:start;
  align-items:start;
}

.hero > .hero-trust > .hero-trust-item {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  gap:6px;
}

@media(max-width:760px) {
  .hero > .hero-trust {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px 14px;
  }
}



/* OVIIGI FEATURE STRIP V2 — COMPACT */
.feature-strip {
  max-width:1440px;
  margin:0 auto;
  padding:16px 6%;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  background:rgba(12,35,61,.58);
  border-top:1px solid rgba(78,173,255,.48);
  border-bottom:0;
}
.feature-strip-item {
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:3px 15px;
}
.feature-strip-item:first-child {
  padding-left:0;
}
.feature-strip-item:not(:last-child)::after {
  content:"";
  position:absolute;
  right:0;
  top:15%;
  height:70%;
  width:1px;
  background:linear-gradient(
    180deg,
    transparent,
    rgba(104,174,238,.38),
    transparent
  );
}
.feature-strip-icon {
  flex:none;
  display:grid;
  place-items:center;
  color:#43b8ff;
}
.feature-strip-icon svg {
  width:25px;
  height:25px;
}
.feature-strip-text {
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.feature-strip-text strong {
  color:#f5f9ff;
  font-size:12px;
  line-height:1.3;
}
.feature-strip-text > span {
  color:#aebfd2;
  font-size:10px;
  line-height:1.35;
}
@media(max-width:760px) {
  .feature-strip {
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:15px 21px;
    row-gap:16px;
  }
  .feature-strip-item {
    padding:3px 10px;
    gap:8px;
    align-items:flex-start;
  }
  .feature-strip-item:nth-child(odd) {
    padding-left:0;
  }
  .feature-strip-item:nth-child(2)::after {
    display:none;
  }
  .feature-strip-icon svg {
    width:23px;
    height:23px;
  }
  .feature-strip-text strong {
    font-size:11px;
  }
  .feature-strip-text > span {
    font-size:10px;
  }
}

/* OVIIGI FEATURE STRIP ATTACHED V1 */
.hero {
  padding-bottom:0;
}
.hero > .services {
  padding-bottom:14px;
}
.feature-strip {
  margin-top:0;
}
@media(max-width:760px) {
  .hero {
    padding-bottom:0;
  }
  .hero > .services {
    padding-bottom:12px;
  }
}


/* OVIIGI STRIP HERO FINAL V1 */
.hero > .feature-strip {
  grid-column:1/-1;
  position:relative;
  z-index:2;
  width:calc(100% + 12%);
  max-width:none;
  margin:0 -6%;
  padding:13px 6%;
  background:rgba(5,22,42,.38);
  border-top:2px solid rgba(43,160,255,.95);
  border-bottom:0;
  box-shadow:0 -2px 14px rgba(24,139,255,.18);
}

.hero > .feature-strip .feature-strip-item:not(:last-child)::after {
  background:linear-gradient(
    180deg,
    transparent,
    rgba(83,184,255,.65),
    transparent
  );
}

@media(max-width:760px) {
  .hero > .feature-strip {
    width:calc(100% + 42px);
    margin:0 -21px;
    padding:13px 21px;
  }
}

/* OVIIGI AFRICA NETWORK V1 */
.hero > .africa-network {
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}

.africa-network svg {
  display:block;
  width:100%;
  height:100%;
}

.africa-links line {
  stroke:rgba(65,182,255,.45);
  stroke-width:1.3;
  stroke-dasharray:5 10;
  animation:africa-flow 12s linear infinite;
}

.africa-halo {
  fill:rgba(30,170,255,.08);
  stroke:rgba(60,190,255,.38);
  stroke-width:1.5;
  animation:africa-pulse 3s ease-in-out infinite;
}

.africa-dot {
  fill:var(--c1);
  stroke:rgba(255,255,255,.85);
  stroke-width:1.4;
  filter:drop-shadow(0 0 6px rgba(42,182,255,.8));
  animation:africa-colors 4.5s ease-in-out infinite;
}

.africa-ga .africa-dot {
  stroke-width:2;
  animation-duration:3s;
}

.africa-node:nth-child(2n) .africa-dot {
  animation-delay:-1.5s;
}

.africa-node:nth-child(3n) .africa-dot {
  animation-delay:-3s;
}

@keyframes africa-colors {
  0%,100% {fill:var(--c1);}
  33% {fill:var(--c2);}
  66% {fill:var(--c3);}
}

@keyframes africa-pulse {
  0%,100% {opacity:.4;}
  50% {opacity:1;}
}

@keyframes africa-flow {
  to {stroke-dashoffset:-180;}
}

@media(max-width:760px) {
  .hero > .africa-network {
    display:none;
  }
}

@media(prefers-reduced-motion:reduce) {
  .africa-links line,
  .africa-halo,
  .africa-dot {
    animation:none;
  }
}

/* OVIIGI AFRICA NETWORK FINISH V2 */

/* Connexions fines et discretes */
.africa-links line {
  stroke:rgba(73,174,255,.26);
  stroke-width:.85;
  stroke-dasharray:3 12;
  animation:africa-flow 14s linear infinite;
}

/* Points secondaires */
.africa-node:not(.africa-ga) .africa-dot {
  stroke-width:1;
  filter:drop-shadow(0 0 4px rgba(50,165,255,.55));
}

/* Gabon : centre du reseau */
.africa-ga .africa-dot {
  stroke:#ffffff;
  stroke-width:2;
  filter:drop-shadow(0 0 11px rgba(55,190,255,.95));
  animation:africa-colors 3.6s ease-in-out infinite;
}

.africa-ga .africa-halo {
  fill:rgba(36,160,255,.13);
  stroke:rgba(77,198,255,.65);
  stroke-width:2;
  animation:africa-pulse 2.8s ease-in-out infinite;
}

/* Apparition douce des couleurs */
@keyframes africa-colors {
  0%,100% {fill:var(--c1);}
  33% {fill:var(--c2);}
  66% {fill:var(--c3);}
}

/* Respect des preferences d'accessibilite */
@media(prefers-reduced-motion:reduce) {
  .africa-links line,
  .africa-halo,
  .africa-dot {
    animation:none !important;
  }
}


/* OVIIGI GABON NETWORK PULSES V1 */

/* Gabon : coeur tricolore clignotant */
.africa-ga .africa-dot {
  animation:oviigi-gabon-flag 2.4s ease-in-out infinite;
  stroke:#ffffff;
  stroke-width:2.8;
  filter:drop-shadow(0 0 16px rgba(70,220,255,.95));
}

.africa-ga .africa-halo {
  animation:oviigi-gabon-halo 2.4s ease-in-out infinite;
  transform-box:fill-box;
  transform-origin:center;
}

@keyframes oviigi-gabon-flag {
  0%,100% {fill:#00FF00;opacity:1;}
  33% {fill:#FFFF00;opacity:1;}
  66% {fill:#0000FF;opacity:1;}
}

@keyframes oviigi-gabon-halo {
  0%,100% {opacity:.55;stroke:#00FF00;}
  33% {opacity:1;stroke:#FFFF00;}
  66% {opacity:1;stroke:#0000FF;}
}

/* Impulsions voyageant sur les connexions */
.africa-travel-pulses {
  pointer-events:none;
}

.africa-travel-pulse {
  fill:#b8f4ff;
  stroke:#ffffff;
  stroke-width:.8;
  filter:drop-shadow(0 0 7px #38c9ff);
}

/* Animation reduite pour accessibilite */
@media(prefers-reduced-motion:reduce) {
  .africa-ga .africa-dot,
  .africa-ga .africa-halo {
    animation:none !important;
  }
  .africa-travel-pulses {
    display:none;
  }
}

/* OVIIGI GABON PURE COLORS V1 */


/* OVIIGI AFRICA TOOLTIPS V1 */

/* Le calque laisse passer les clics hors des points */
.hero > .africa-network {
  pointer-events:none;
}

/* Seuls les points lumineux captent la souris */
.africa-network .africa-node {
  pointer-events:visiblePainted;
  cursor:help;
}

/* Infobulles premium */
.africa-network .africa-tooltip {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
}

.africa-network .africa-tooltip rect {
  fill:rgba(5,19,42,.94);
  stroke:rgba(90,193,255,.7);
  stroke-width:1.2;
}

.africa-network .africa-tooltip text {
  fill:#ffffff;
  font-size:17px;
  font-weight:600;
  font-family:Arial,sans-serif;
}

.africa-network .africa-node:hover .africa-tooltip {
  opacity:1;
  visibility:visible;
}

/* Point survole : halo plus visible */
.africa-network .africa-node:hover .africa-halo {
  stroke-width:3;
  opacity:1;
}

/* Les animations validees restent inchangees */
@media(prefers-reduced-motion:reduce) {
  .africa-network .africa-tooltip {
    transition:none;
  }
}


/* OVIIGI GABON FIBER TRICOLOR V1 */

.oviigi-fiber-packet {
  pointer-events:none;
}

.oviigi-fiber-strand {
  opacity:.95;
  filter:drop-shadow(0 0 5px currentColor);
}

.oviigi-fiber-strand:nth-child(1) {
  color:#00FF00;
}

.oviigi-fiber-strand:nth-child(2) {
  color:#FFFF00;
}

.oviigi-fiber-strand:nth-child(3) {
  color:#0000FF;
}

/* Ligne support discrete */
.africa-links line {
  stroke:rgba(75,170,255,.24);
  stroke-width:1;
  stroke-dasharray:4 11;
}

@media(prefers-reduced-motion:reduce) {
  .oviigi-fiber-packet {
    display:none;
  }
}


/* OVIIGI DOMAINS HERO PANEL V1 */

.hero > .oviigi-domains-panel {
  position:absolute;
  top:112px;
  right:3%;
  z-index:5;
  width:230px;
  box-sizing:border-box;
  padding:18px;
  border:1px solid rgba(109,192,255,.24);
  border-radius:18px;
  background:linear-gradient(
    145deg,
    rgba(10,32,65,.88),
    rgba(4,18,42,.83)
  );
  box-shadow:0 18px 45px rgba(0,0,0,.25);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:#fff;
}

.oviigi-domains-kicker {
  display:flex;
  align-items:center;
  gap:8px;
  color:#79ceff;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.5px;
}

.oviigi-domains-status {
  width:7px;
  height:7px;
  flex:none;
  border-radius:50%;
  background:#00d8a2;
  box-shadow:0 0 10px rgba(0,216,162,.7);
}

.oviigi-domains-panel h2 {
  margin:13px 0 7px;
  color:#fff;
  font-size:19px;
  line-height:1.25;
  font-weight:750;
}

.oviigi-domains-panel p {
  margin:0 0 15px;
  color:#b7cce5;
  font-size:12px;
  line-height:1.5;
}

.oviigi-domains-options {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}

.oviigi-domains-options span {
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:33px;
  border:1px solid rgba(113,196,255,.19);
  border-radius:9px;
  background:rgba(40,104,163,.18);
  color:#e9f6ff;
  font-size:12px;
  font-weight:700;
}

.oviigi-domains-options span:nth-child(4) {
  grid-column:span 2;
}

.oviigi-domains-action {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:14px;
  padding:11px 12px;
  border-radius:10px;
  background:linear-gradient(110deg,#1479c8,#0d4b9a);
  color:#fff;
  text-decoration:none;
  font-size:11px;
  font-weight:750;
  transition:filter .2s ease;
}

.oviigi-domains-action:hover {
  filter:brightness(1.18);
}

@media(max-width:1100px) {
  .hero > .oviigi-domains-panel {
    top:100px;
    right:2%;
    width:200px;
    padding:14px;
  }
}

@media(max-width:760px) {
  .hero > .oviigi-domains-panel {
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    max-width:360px;
    margin:18px auto;
    z-index:5;
  }
}

@media(prefers-reduced-motion:reduce) {
  .oviigi-domains-action {
    transition:none;
  }
}


/* OVIIGI DOMAINS GLASS WIDGET V1 */

.hero > .oviigi-domains-panel {
  overflow:hidden;
  background:linear-gradient(
    145deg,
    rgba(19,58,105,.54),
    rgba(5,25,54,.46)
  );
  border:1px solid rgba(133,209,255,.38);
  box-shadow:
    0 15px 45px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  animation:oviigi-domains-float 6s ease-in-out infinite;
}

.hero > .oviigi-domains-panel::before {
  content:"";
  position:absolute;
  inset:-80%;
  background:linear-gradient(
    110deg,
    transparent 43%,
    rgba(126,216,255,.10) 50%,
    transparent 57%
  );
  transform:translateX(-65%) rotate(12deg);
  animation:oviigi-domains-shine 8s ease-in-out infinite;
  pointer-events:none;
}

.hero > .oviigi-domains-panel > * {
  position:relative;
  z-index:1;
}

.oviigi-domains-options button {
  appearance:none;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:33px;
  padding:6px 3px;
  border:1px solid rgba(145,208,255,.24);
  border-radius:9px;
  background:rgba(67,136,203,.15);
  color:#eaf7ff;
  font:700 12px/1.3 inherit;
  font-family:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:
    background .2s ease,
    border-color .2s ease,
    transform .2s ease;
}

.oviigi-domains-options button:hover {
  background:rgba(47,151,231,.35);
  border-color:rgba(149,224,255,.8);
  transform:translateY(-2px);
}

.oviigi-domains-options button[aria-pressed="true"] {
  background:rgba(28,132,215,.48);
  border-color:#80dcff;
  box-shadow:0 0 12px rgba(49,177,255,.2);
}

.oviigi-domains-options .oviigi-brand-domain {
  grid-column:span 2;
  font-size:11px;
  color:#aee7ff;
}

.oviigi-domains-options button:focus-visible {
  outline:2px solid #a7e8ff;
  outline-offset:3px;
}

@keyframes oviigi-domains-float {
  0%,100% {transform:translateY(0);}
  50% {transform:translateY(-5px);}
}

@keyframes oviigi-domains-shine {
  0%,25% {transform:translateX(-65%) rotate(12deg);}
  65%,100% {transform:translateX(65%) rotate(12deg);}
}

@media(prefers-reduced-motion:reduce) {
  .hero > .oviigi-domains-panel,
  .hero > .oviigi-domains-panel::before {
    animation:none;
  }

  .oviigi-domains-options button {
    transition:none;
  }
}


/* OVIIGI HERO PREMIUM MOTION V1 */

/* Titre : revelation cinematographique */
@keyframes oviigi-title-enter {
  from {
    opacity:0;
    transform:translateY(24px);
    filter:blur(7px);
  }
  to {
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

.hero-content h1 {
  animation:oviigi-title-enter 1.1s
    cubic-bezier(.2,.8,.2,1) both;
}

/* Texte et boutons en decalage */
.hero-content .hero-description {
  animation:oviigi-title-enter .9s .25s both;
}

.hero-content .hero-actions {
  animation:oviigi-title-enter .9s .4s both;
}

/* Widget : entree 3D suivie du flottement existant */
@keyframes oviigi-widget-intro {
  0% {
    opacity:0;
    transform:perspective(900px)
      translateY(38px)
      rotateY(-14deg)
      scale(.78);
  }
  100% {
    opacity:1;
    transform:perspective(900px)
      translateY(0)
      rotateY(0)
      scale(1);
  }
}

.hero > .oviigi-domains-panel {
  animation:
    oviigi-widget-intro 1.1s .3s both,
    oviigi-domains-float 6s 1.4s
      ease-in-out infinite;
}

/* Boutons de domaines colores */
.oviigi-domains-options button:nth-child(1) {
  --domain-color:47,154,255;
}
.oviigi-domains-options button:nth-child(2) {
  --domain-color:35,215,236;
}
.oviigi-domains-options button:nth-child(3) {
  --domain-color:166,113,255;
}
.oviigi-domains-options button:nth-child(4) {
  --domain-color:30,211,135;
}
.oviigi-domains-options button:nth-child(5) {
  --domain-color:255,210,49;
}
.oviigi-domains-options button:nth-child(6) {
  --domain-color:255,141,75;
}

.oviigi-domains-options button {
  background:rgba(var(--domain-color),.18);
  border-color:rgba(var(--domain-color),.42);
  box-shadow:inset 0 1px 0
    rgba(255,255,255,.09);
}

.oviigi-domains-options button:hover,
.oviigi-domains-options button[aria-pressed="true"] {
  background:rgba(var(--domain-color),.36);
  border-color:rgba(var(--domain-color),.9);
  box-shadow:
    0 0 16px rgba(var(--domain-color),.25),
    inset 0 1px 0 rgba(255,255,255,.15);
}

/* Cartes Services : entree successive */
@keyframes oviigi-service-enter {
  from {
    opacity:0;
    transform:perspective(800px)
      translateY(34px)
      rotateX(7deg)
      scale(.96);
  }
  to {
    opacity:1;
    transform:perspective(800px)
      translateY(0)
      rotateX(0)
      scale(1);
  }
}

.hero .services-grid > .service-card {
  animation:oviigi-service-enter .8s both;
}

.hero .services-grid > .service-card:nth-child(1) {
  animation-delay:.45s;
}
.hero .services-grid > .service-card:nth-child(2) {
  animation-delay:.58s;
}
.hero .services-grid > .service-card:nth-child(3) {
  animation-delay:.71s;
}
.hero .services-grid > .service-card:nth-child(4) {
  animation-delay:.84s;
}

/* Respect du confort visuel */
@media(prefers-reduced-motion:reduce) {
  .hero-content h1,
  .hero-content .hero-description,
  .hero-content .hero-actions,
  .hero > .oviigi-domains-panel,
  .hero .services-grid > .service-card {
    animation:none !important;
    opacity:1 !important;
    transform:none;
    filter:none;
  }
}


/* OVIIGI HERO COMPACT PREMIUM V1 */

/* Composition desktop */
@media(min-width:761px) {
  .hero {
    min-height:510px;
    padding-top:56px;
    gap:26px;
  }

  .hero h1 {
    margin-top:16px;
    margin-bottom:16px;
  }

  .hero-actions {
    margin-top:20px;
  }

  .hero-visual {
    min-height:330px;
  }

  .hero > .services {
    padding-top:18px;
  }

  .hero > .hero-trust {
    gap:16px;
  }

  .hero > .oviigi-domains-panel {
    top:88px;
  }
}

/* Composition mobile */
@media(max-width:760px) {
  .hero {
    min-height:0;
    padding-top:40px;
    gap:19px;
  }

  .hero h1 {
    margin-top:14px;
    margin-bottom:14px;
  }

  .hero-actions {
    margin-top:17px;
  }

  .hero > .services {
    padding-top:15px;
  }

  .hero > .hero-trust {
    gap:15px 12px;
  }

  .hero > .oviigi-domains-panel {
    top:auto;
    margin-top:10px;
    margin-bottom:10px;
  }
}


/* OVIIGI HERO MOBILE COMPACT V2 */

@media(max-width:760px) {
  .hero {
    padding-top:26px;
    gap:12px;
  }

  .hero h1 {
    margin-top:10px;
    margin-bottom:10px;
  }

  .hero-description {
    line-height:1.55;
  }

  .hero-actions {
    margin-top:12px;
    gap:8px;
  }

  .hero > .oviigi-domains-panel {
    margin-top:5px;
    margin-bottom:5px;
  }

  .hero > .hero-trust {
    gap:12px 10px;
    margin-top:0;
    margin-bottom:0;
  }

  .hero > .services {
    padding-top:8px;
    padding-bottom:8px;
  }

  .hero > .feature-strip {
    padding-top:10px;
    padding-bottom:10px;
  }
}

@media(max-width:390px) {
  .hero {
    padding-left:16px;
    padding-right:16px;
  }

  .hero h1 {
    font-size:clamp(32px,8.3vw,38px);
  }

  .hero > .feature-strip {
    width:calc(100% + 32px);
    margin-left:-16px;
    margin-right:-16px;
    padding-left:16px;
    padding-right:16px;
  }
}

/* OVIIGI HERO COMPACT PREMIUM V1 - 50.173D */
/* Ajustement des espacements uniquement */

@media (min-width:761px) {

  .hero {
    min-height:0;
    padding-top:48px;
    padding-bottom:32px;
    column-gap:30px;
    row-gap:14px;
    align-items:center;
  }

  .hero h1 {
    margin-top:14px;
    margin-bottom:14px;
  }

  .hero-description {
    line-height:1.6;
  }

  .hero-actions {
    margin-top:18px;
  }

  .hero-visual {
    min-height:300px;
  }

  .hero > .hero-trust {
    margin-top:0;
    margin-bottom:0;
    row-gap:12px;
  }

  .hero > .services {
    padding-top:4px;
    padding-bottom:0;
  }

  .hero > .feature-strip {
    padding-top:12px;
    padding-bottom:12px;
  }

}

@media (max-width:760px) {

  .hero {
    padding-top:20px;
    padding-bottom:24px;
    row-gap:8px;
  }

  .hero h1 {
    margin-top:8px;
    margin-bottom:8px;
  }

  .hero-actions {
    margin-top:10px;
  }

  .hero > .hero-trust {
    row-gap:10px;
    margin-top:0;
    margin-bottom:0;
  }

  .hero > .services {
    padding-top:4px;
    padding-bottom:0;
  }

  .hero > .feature-strip {
    padding-top:9px;
    padding-bottom:9px;
  }

}



/* OVIIGI HERO CAPTION LIQUID GLASS V50174B */
/* Encadre uniquement : position et apparence */

@media (min-width:761px) {
  .hero .hero-visual .visual-caption {
    position:absolute;
    left:8px;
    right:auto;
    bottom:22px;
    transform:none;
    width:max-content;
    max-width:calc(100% - 16px);
    box-sizing:border-box;
    padding:11px 15px;
    border:1px solid rgba(115,203,255,.36);
    border-radius:15px;
    background:linear-gradient(
      135deg,
      rgba(31,116,194,.32),
      rgba(6,33,76,.46)
    );
    -webkit-backdrop-filter:blur(15px) saturate(145%);
    backdrop-filter:blur(15px) saturate(145%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.13),
      0 8px 28px rgba(0,13,39,.22),
      0 0 20px rgba(37,150,255,.10);
    color:#eaf7ff;
    font-size:12px;
    line-height:1.45;
    white-space:normal;
    text-align:left;
    z-index:5;
  }
}


/* OVIIGI CAPTION ABOVE AFRICA V50174C */

@media (min-width:761px) {

  .hero .hero-visual .visual-caption {
    position:absolute;
    top:0;
    bottom:auto;
    left:auto;
    right:0;
    transform:none;
    max-width:100%;
    z-index:5;
    pointer-events:none;
  }

}



/* OVIIGI CAPTION AFRICA POSITION V50174D */

@media (min-width:761px) {

  .hero .hero-visual .visual-caption {
    top:10px;
    right:12px;
    left:auto;
    bottom:auto;
    transform:none;
    max-width:calc(100% - 24px);
    padding:9px 13px;
    border-radius:12px;
    background:linear-gradient(
      135deg,
      rgba(26,108,184,.22),
      rgba(4,31,70,.38)
    );
    border:1px solid rgba(114,195,255,.28);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    box-shadow:0 5px 18px rgba(0,18,49,.14);
    pointer-events:none;
  }

}


/* OVIIGI CAPTION HERO TOP V50174F */

@media (min-width:761px) {

  .hero > .visual-caption {
    position:absolute;
    top:18px;
    right:calc(6% + 10px);
    left:auto;
    bottom:auto;
    z-index:4;

    display:flex;
    align-items:center;
    gap:9px;

    width:max-content;
    max-width:calc(42% - 20px);
    box-sizing:border-box;

    padding:9px 13px;
    border-radius:13px;

    color:#eaf7ff;
    font-size:11px;
    line-height:1.4;

    background:linear-gradient(
      135deg,
      rgba(29,116,195,.24),
      rgba(5,31,73,.38)
    );

    border:1px solid rgba(114,195,255,.30);

    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);

    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.10),
      0 6px 22px rgba(0,18,49,.15);

    pointer-events:none;
  }

}

@media (max-width:760px) {
  .hero > .visual-caption {
    display:none;
  }
}


/* OVIIGI CAPTION AFRICA LOWER V50174G */

@media (min-width:761px) {

  .hero > .visual-caption {
    top:108px;
    right:calc(6% + 270px);
    left:auto;
    bottom:auto;
    max-width:320px;
    white-space:normal;
    z-index:4;
    pointer-events:none;
  }

}

