/* Inventiva GBS · Pointer Glass, v93.
   GPU-friendly tilt on transform; one moving highlight per hovered surface.
   No scroll listeners, SVG displacement, fixed backgrounds or forced continuous animation. */
.gbs-page{
  --gbs-pointer-tilt-x:0deg;
  --gbs-pointer-tilt-y:0deg;
  --gbs-pointer-shift-x:0px;
  --gbs-pointer-shift-y:0px
}
.gbs-hero__cursor-light{
  position:absolute;top:0;left:0;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(199,255,244,.18),rgba(116,222,222,.075) 39%,transparent 70%);
  z-index:0;pointer-events:none;opacity:0;
  transform:translate3d(calc(var(--gbs-hero-light-x, -600px) - 50%),calc(var(--gbs-hero-light-y, -600px) - 50%),0);
  transition:opacity .25s ease
}
.gbs-hero.gbs-pointer-inside .gbs-hero__cursor-light{opacity:.88}
.gbs-visual{perspective:1100px;transform-style:preserve-3d}
.gbs-visual__stage{
  position:absolute;inset:0;z-index:1;
  display:grid;place-items:center;
  transform-style:preserve-3d;
  transform:translate3d(var(--gbs-pointer-shift-x,0px),var(--gbs-pointer-shift-y,0px),0)
    rotateX(var(--gbs-pointer-tilt-x,0deg)) rotateY(var(--gbs-pointer-tilt-y,0deg));
  transition:transform .16s ease-out;
  backface-visibility:hidden;
  pointer-events:none
}
.gbs-visual__parallax-wash{
  position:absolute;inset:13%;border-radius:50%;z-index:0;pointer-events:none;
  background:conic-gradient(from 205deg,rgba(210,255,241,.32),transparent 23%,rgba(139,220,235,.22) 43%,transparent 64%,rgba(226,255,217,.24) 80%,transparent);
  border:1px solid rgba(234,255,253,.27);
  box-shadow:inset 0 0 51px rgba(207,255,246,.17),0 0 56px rgba(82,194,178,.095);
  opacity:.78
}
.gbs-visual__stage .gbs-visual__sphere{z-index:0}
.gbs-visual__stage .gbs-orbit{z-index:1}
.gbs-visual__stage .gbs-visual__core{z-index:3;transform:translate(-50%,-50%) translateZ(17px)}
.gbs-visual__stage .gbs-visual__tag{z-index:3}
.gbs-visual > .gbs-glass{transition:transform .16s ease-out,box-shadow .25s ease;will-change:auto}
.gbs-hero.gbs-pointer-inside .gbs-glass--a{
  transform:translate3d(var(--gbs-float-a-x,0px),var(--gbs-float-a-y,0px),0)
}
.gbs-hero.gbs-pointer-inside .gbs-glass--b{
  transform:translate3d(var(--gbs-float-b-x,0px),var(--gbs-float-b-y,0px),0)
}
/* Glass responds in place: the glint is real-time but does not require a
   repaint of a full-page backdrop or a new animation loop. */
.gbs-page [data-gbs-reactive]{
  position:relative;isolation:isolate;
  transform-style:preserve-3d;
  backface-visibility:hidden
}
.gbs-page .gbs-cursor-glint{
  position:absolute;z-index:0;top:0;left:0;
  width:240px;height:240px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(250,255,255,.68) 0%,rgba(186,255,231,.22) 39%,transparent 70%);
  opacity:0;
  transform:translate3d(calc(var(--gbs-glint-x,-350px) - 120px),calc(var(--gbs-glint-y,-350px) - 120px),0);
  transition:opacity .21s ease;
  mix-blend-mode:screen
}
.gbs-page .gbs-cap--focus .gbs-cursor-glint,
.gbs-page .gbs-choice--dark .gbs-cursor-glint,
.gbs-page .gbs-phase .gbs-cursor-glint,
.gbs-page .gbs-board .gbs-cursor-glint,
.gbs-page .gbs-last__inner .gbs-cursor-glint{
  background:radial-gradient(circle,rgba(225,255,255,.42),rgba(118,243,219,.2) 39%,transparent 71%)
}
.gbs-page [data-gbs-reactive].is-gbs-hover .gbs-cursor-glint{opacity:.96}
.gbs-page [data-gbs-reactive].is-gbs-hover{
  transform:perspective(1100px) rotateX(var(--gbs-card-tilt-x,0deg)) rotateY(var(--gbs-card-tilt-y,0deg)) translate3d(0,-3px,0);
  transition:transform .16s ease-out,box-shadow .23s ease
}
.gbs-page [data-gbs-reactive]:not(.is-gbs-hover){
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease
}
.gbs-page .gbs-faq details{position:relative;overflow:hidden;isolation:isolate}
.gbs-page .gbs-faq details summary,.gbs-page .gbs-faq details>p{position:relative;z-index:2}
.gbs-page .gbs-choice .gbs-cursor-glint,
.gbs-page .gbs-cap .gbs-cursor-glint,
.gbs-page .gbs-phase .gbs-cursor-glint,
.gbs-page .gbs-board .gbs-cursor-glint,
.gbs-page .gbs-last__inner .gbs-cursor-glint{z-index:0}

/* Increased real glass read-through: depth, transmitted color and glossy rim.
   Blurred pixels are limited to the few small floating hero panes. */
.gbs-page .gbs-glass{
  background:linear-gradient(125deg,rgba(248,255,254,.3) 0%,rgba(165,236,242,.11) 64%,rgba(76,168,202,.12));
  border:1.5px solid rgba(247,255,255,.92);
  box-shadow:inset 0 2px 1px rgba(255,255,255,.82),inset 1px 0 rgba(255,255,255,.47),
    inset 0 -1px 0 rgba(166,236,239,.38),0 19px 39px rgba(0,19,34,.4),0 0 27px rgba(130,245,237,.18)
}
.gbs-page .gbs-choice:not(.gbs-choice--dark){
  background:linear-gradient(138deg,rgba(255,255,255,.57),rgba(184,235,228,.34) 57%,rgba(117,206,220,.26));
  border:1.5px solid rgba(255,255,255,.97);
  box-shadow:inset 0 2px rgba(255,255,255,.95),inset -1px -1px 0 rgba(59,151,163,.12),0 22px 48px rgba(17,82,75,.19)
}
.gbs-page .gbs-choice--dark{
  background:radial-gradient(ellipse 55% 50% at 75% 0%,rgba(205,255,253,.37),transparent 88%),
    linear-gradient(140deg,rgba(22,121,133,.91),rgba(8,66,86,.89) 64%,rgba(4,39,62,.94));
  border:1.5px solid rgba(228,255,252,.84);
  box-shadow:inset 0 2px rgba(255,255,255,.59),0 25px 47px rgba(0,51,61,.34)
}
.gbs-page .gbs-cap:not(.gbs-cap--focus){
  background:linear-gradient(140deg,rgba(255,255,255,.67),rgba(211,249,243,.39) 54%,rgba(153,221,229,.27));
  border:1px solid rgba(255,255,255,.97);
  box-shadow:inset 0 2px 0 #fff,0 20px 37px rgba(20,88,84,.14)
}
.gbs-page .gbs-cap--focus{
  background:radial-gradient(ellipse 60% 57% at 77% 0%,rgba(217,255,251,.29),transparent 81%),
    linear-gradient(143deg,rgba(15,111,120,.94),rgba(12,75,100,.93) 75%,rgba(6,50,74,.95));
  border:1px solid rgba(241,255,253,.85)
}
.gbs-page .gbs-phase{
  background:linear-gradient(143deg,rgba(239,255,254,.23),rgba(127,213,226,.09) 64%,rgba(18,112,149,.11));
  border:1px solid rgba(236,255,253,.6);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.45),0 18px 36px rgba(0,31,48,.21)
}
.gbs-page .gbs-board{
  background:radial-gradient(ellipse at 81% 0%,rgba(216,255,253,.33),transparent 72%),
    linear-gradient(141deg,rgba(13,105,129,.9),rgba(5,57,83,.91));
  border:1.5px solid rgba(238,255,254,.88)
}
.gbs-page .gbs-last__inner{
  background:radial-gradient(ellipse at 12% 1%,rgba(251,255,254,.25),transparent 73%),
    linear-gradient(139deg,rgba(196,252,241,.17),rgba(128,204,226,.08) 59%,rgba(39,129,164,.11));
  border:1.5px solid rgba(244,255,253,.82)
}
.gbs-page .gbs-board__node{
  background:linear-gradient(143deg,rgba(236,255,253,.32),rgba(140,222,233,.09));
  border-color:rgba(244,255,253,.68)
}
@media(hover:none),(pointer:coarse){
  .gbs-page .gbs-cursor-glint,.gbs-page .gbs-hero__cursor-light{display:none}
  .gbs-page .gbs-visual__stage{transform:none!important}
  .gbs-page [data-gbs-reactive]{transform:none!important}
}
@media(max-width:760px){
  .gbs-page .gbs-visual__stage{transform:none!important}
  .gbs-page .gbs-cursor-glint,.gbs-page .gbs-hero__cursor-light{display:none}
  .gbs-page [data-gbs-reactive]{transform:none!important}
  .gbs-page .gbs-visual__parallax-wash{opacity:.57}
}
@media(prefers-reduced-motion:reduce){
  .gbs-page .gbs-visual__stage,.gbs-page .gbs-glass,.gbs-page [data-gbs-reactive],
  .gbs-page .gbs-cursor-glint,.gbs-page .gbs-hero__cursor-light{
    transform:none!important;transition:none!important;animation:none!important}
  .gbs-page .gbs-cursor-glint,.gbs-page .gbs-hero__cursor-light{display:none!important}
}
/* Preserve accessibility: illuminated cards never intercept focus or clicks. */
.gbs-page [data-gbs-reactive] a,.gbs-page [data-gbs-reactive] button,.gbs-page [data-gbs-reactive] summary{position:relative;z-index:3}
