.home{min-height:100svh}.hub-page{min-height:100svh;position:relative;padding:1rem;overflow:hidden;background-image:url('/assets/media/brick-neon.svg');background-size:cover}.hub-page::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(circle at center,#000,transparent 76%)}
.hub-controls{position:absolute;top:1rem;right:1rem;z-index:20;display:flex;align-items:center;gap:.5rem}.hub-hint{font-size:.72rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.hub-stage{position:relative;width:min(96vw,1180px);height:min(91svh,840px);margin:auto;isolation:isolate}.hub-core{position:absolute;left:50%;top:46%;translate:-50% -50%;width:clamp(220px,25vw,330px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#08080c;box-shadow:0 0 0 18px rgba(255,255,255,.018),0 0 0 40px rgba(255,255,255,.012),0 35px 100px #000;display:grid;place-items:center;z-index:5;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease);transform:perspective(700px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));overflow:hidden;text-decoration:none}.hub-core::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 0 38%,rgba(255,45,170,.24) 42%,transparent 55%),conic-gradient(from 0deg,rgba(255,45,170,.55),rgba(0,217,255,.33),rgba(139,99,255,.45),rgba(255,216,74,.38),rgba(255,45,170,.55));filter:blur(22px);opacity:.7}.hub-core::after{content:"";position:absolute;inset:10%;border-radius:50%;border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 0 45px #000}.hub-core img{position:relative;z-index:2;width:78%;height:78%;object-fit:cover;border-radius:50%;filter:saturate(1.1) contrast(1.05)}.hub-core:hover{box-shadow:0 0 92px rgba(255,45,170,.3),0 35px 100px #000}.hub-core[data-pulse="true"]{animation:corePulse .55s var(--ease)}@keyframes corePulse{50%{scale:1.035;filter:brightness(1.35)}}
.hub-tagline{position:absolute;left:50%;top:65.5%;translate:-50% 0;width:min(480px,68vw);text-align:center;color:var(--muted);font-size:.82rem;letter-spacing:.05em;z-index:6}.hub-tagline span{color:var(--yellow);font-weight:900;text-transform:uppercase;letter-spacing:.11em;font-size:.7rem}.hub-node{--node-size:clamp(128px,13vw,174px);position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;width:var(--node-size);aspect-ratio:1;border-radius:50%;text-decoration:none;display:grid;place-items:center;text-align:center;padding:1rem;color:#fff;border:1px solid color-mix(in srgb,var(--accent),white 20%);background:linear-gradient(145deg,color-mix(in srgb,var(--accent),#0b0c12 79%),#0b0c12 70%);box-shadow:0 16px 50px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.05);z-index:4;overflow:hidden;transition:transform .28s var(--ease),box-shadow .28s var(--ease),filter .28s var(--ease)}.hub-node::before{content:"";position:absolute;inset:0;opacity:.27;transition:opacity .28s var(--ease),transform .45s var(--ease)}.hub-node::after{content:"";position:absolute;inset:-35%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent),transparent 55%),transparent 60%);opacity:.18}.node-content{position:relative;z-index:2;display:grid;justify-items:center;gap:.4rem}.hub-node img{width:38px;height:38px;color:var(--accent);filter:drop-shadow(0 0 12px color-mix(in srgb,var(--accent),transparent 45%))}.hub-node strong{font-size:var(--step-0);letter-spacing:.025em;line-height:1.06;font-family:var(--display);text-transform:uppercase}.hub-node small{color:rgba(255,255,255,.72);font-size:.66rem;line-height:1.15;max-width:17ch;display:none}.hub-node:hover,.hub-node:focus-visible{transform:translateY(-6px) scale(1.045);box-shadow:0 24px 70px rgba(0,0,0,.48),0 0 42px color-mix(in srgb,var(--accent),transparent 60%);filter:saturate(1.15)}.hub-node:hover::before,.hub-node:focus-visible::before{opacity:.58;transform:scale(1.08) rotate(3deg)}.texture-prism::before{background:conic-gradient(from 20deg,transparent,var(--accent),var(--accent2),transparent 62%)}.texture-wave::before{background:repeating-linear-gradient(0deg,transparent 0 7px,color-mix(in srgb,var(--accent),transparent 35%) 8px 10px,transparent 11px 16px)}.texture-grid::before{background-image:linear-gradient(color-mix(in srgb,var(--accent),transparent 48%) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent),transparent 48%) 1px,transparent 1px);background-size:18px 18px;transform:perspective(160px) rotateX(18deg)}.texture-film::before{background:repeating-linear-gradient(90deg,transparent 0 11px,color-mix(in srgb,var(--accent),transparent 48%) 12px 14px),linear-gradient(transparent 42%,color-mix(in srgb,var(--accent2),transparent 42%) 43% 57%,transparent 58%)}.texture-dots::before{background-image:radial-gradient(color-mix(in srgb,var(--accent),transparent 20%) 1px,transparent 1.5px);background-size:13px 13px}.texture-stack::before{background:linear-gradient(135deg,transparent 38%,color-mix(in srgb,var(--accent),transparent 35%) 39% 44%,transparent 45%),linear-gradient(45deg,transparent 53%,color-mix(in srgb,var(--accent2),transparent 48%) 54% 58%,transparent 59%)}.orbit-line{position:absolute;left:50%;top:46%;translate:-50% -50%;border:1px solid rgba(255,255,255,.09);border-radius:50%;pointer-events:none}.orbit-line.a{width:76%;height:78%;rotate:-5deg}.orbit-line.b{width:94%;height:88%;rotate:7deg}.support-dock{position:absolute;left:50%;bottom:.45rem;translate:-50% 0;width:min(1120px,96%);display:grid;grid-template-columns:repeat(6,1fr);gap:.55rem;z-index:10}.support-link{--accent:#fff;display:flex;align-items:center;gap:.58rem;min-height:58px;padding:.62rem .7rem;border:1px solid var(--line);border-radius:16px;text-decoration:none;background:rgba(13,13,20,.78);backdrop-filter:blur(14px);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.support-link img{width:24px;height:24px;color:var(--accent);filter:drop-shadow(0 0 9px color-mix(in srgb,var(--accent),transparent 52%))}.support-link:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent),#0c0c13 87%)}
.home-manifesto{padding:clamp(4rem,8vw,8rem) 0;background:linear-gradient(135deg,color-mix(in srgb,var(--surface),transparent 5%),var(--bg));border-block:1px solid var(--line)}.manifesto-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,5rem);align-items:center}.manifesto-grid img{border-radius:28px;border:1px solid var(--line);box-shadow:var(--shadow)}.field-section{padding:clamp(4rem,7vw,7rem) 0}.field-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:.85rem}.field-card{margin:0;position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--line);background:var(--surface);min-height:310px}.field-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.05);transition:.35s var(--ease)}.field-card::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 48%,rgba(7,7,11,.9));pointer-events:none}.field-card figcaption{position:absolute;left:1rem;right:1rem;bottom:.9rem;z-index:2;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:.86rem;letter-spacing:.04em}.field-card:hover img{transform:scale(1.045);filter:grayscale(0) saturate(1.08)}
@media(max-width:900px){.hub-page{overflow:visible;padding-top:4.5rem}.hub-stage{height:auto;min-height:920px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-content:start;padding-top:245px;padding-bottom:360px}.hub-core{top:130px;width:210px}.hub-tagline{top:245px;width:90%}.orbit-line{display:none}.hub-node{position:relative;left:auto!important;top:auto!important;translate:none;width:100%;aspect-ratio:auto;min-height:132px;border-radius:22px}.hub-node small{display:block}.support-dock{bottom:1rem;grid-template-columns:repeat(2,1fr)}.support-link{min-height:56px}.manifesto-grid{grid-template-columns:1fr}.field-rail{grid-template-columns:repeat(2,1fr)}.field-card:last-child{grid-column:1/-1;max-height:420px}.hub-controls{left:1rem;right:auto}.hub-hint{display:none}}
@media(max-width:560px){.hub-stage{grid-template-columns:1fr;min-height:1370px;padding-bottom:430px}.support-dock{grid-template-columns:1fr}.field-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}.field-card{min-width:78vw;scroll-snap-align:start}.home-manifesto{padding-top:3rem}}

/* V2.1 — médiathèque de terrain */
.field-rail{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.field-card{min-height:280px}
.field-card figcaption{display:grid;gap:.28rem}
.field-card figcaption strong{font:inherit}
.field-card figcaption small{font-family:var(--body);font-size:.66rem;line-height:1.3;color:rgba(255,255,255,.72);letter-spacing:.05em}
.field-card[data-media-type="event"]{border-color:color-mix(in srgb,var(--yellow),transparent 58%)}
.field-card[data-media-type="terrain"]{border-color:color-mix(in srgb,var(--cyan),transparent 68%)}
.field-card[data-media-type="project"]{border-color:color-mix(in srgb,var(--pink),transparent 62%)}
@media(max-width:900px){.field-rail{grid-template-columns:repeat(3,1fr)}.field-card:last-child{grid-column:auto;max-height:none}}
@media(max-width:700px){.field-rail{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.field-rail{display:flex}.field-card{min-width:78vw}}


/* V2.2 — correction responsive, ponctuation et fond laser */
.hub-page::before{z-index:0}
.laser-backdrop{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;opacity:.31;mix-blend-mode:screen;mask-image:radial-gradient(ellipse at 50% 45%,#000 0 48%,rgba(0,0,0,.65) 68%,transparent 92%)}
.laser-backdrop img{width:100%;height:100%;object-fit:cover;filter:saturate(1.12) contrast(1.06);transform:scale(1.03)}
.hub-stage{z-index:2}
.support-link{min-width:0}
.support-link strong{min-width:0;white-space:nowrap;line-height:1.15;font-size:clamp(.62rem,.56rem + .12vw,.72rem)}
.hub-node strong{text-wrap:balance;overflow-wrap:normal;hyphens:none}
@media (min-width:1101px) and (max-height:760px){
  .hub-stage{height:calc(100svh - 1rem)}
  .hub-core{top:39%;width:clamp(225px,20vw,255px)}
  .hub-tagline{top:61.5%}
  .hub-node{--node-size:clamp(116px,10.5vw,138px)}
  .support-dock{bottom:.1rem}
}
@media(max-width:1100px){
  .hub-page{overflow:visible;padding-top:4.5rem}
  .hub-stage{height:auto;min-height:970px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-content:start;padding-top:300px;padding-bottom:365px;width:min(calc(100vw - 2rem),760px)}
  .hub-core{top:125px;width:210px}
  .hub-tagline{top:240px;width:90%;max-width:520px}
  .orbit-line{display:none}
  .hub-node{position:relative;left:auto!important;top:auto!important;translate:none;width:100%;aspect-ratio:auto;min-height:132px;border-radius:22px}
  .hub-node small{display:block}
  .support-dock{bottom:1rem;grid-template-columns:repeat(2,1fr)}
  .support-link{min-height:56px}
  .hub-controls{left:1rem;right:auto}
  .hub-hint{display:none}
}
@media(max-width:560px){
  .hub-stage{grid-template-columns:1fr;min-height:1510px;padding-top:300px;padding-bottom:430px;width:calc(100vw - 2rem)}
  .hub-core{top:122px;width:200px}
  .hub-tagline{top:232px;width:calc(100% - 1rem)}
  .support-dock{grid-template-columns:1fr;width:100%}
  .support-link strong{font-size:.72rem}
}
html[data-theme="light"] .laser-backdrop{opacity:.14;mix-blend-mode:multiply}
@media(prefers-reduced-motion:reduce){.laser-backdrop img{content:url('/assets/media/laser-crossing-poster.webp')}}
@media(min-width:1101px){
  .support-dock{grid-template-columns:1.15fr .72fr 1.25fr 1fr .95fr .72fr}
  .support-link strong{font-size:.68rem}
}


/* V2.3 — section écosystème PinkGraFX */
.pinkgrafx-section{
  position:relative;
  padding:clamp(4rem,8vw,8rem) 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 50%,rgba(255,45,170,.18),transparent 34%),
    radial-gradient(circle at 88% 24%,rgba(37,217,255,.12),transparent 31%),
    linear-gradient(145deg,#07070b 0%,#100817 48%,#071018 100%);
  border-block:1px solid var(--line);
}
.pinkgrafx-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(ellipse at center,#000,transparent 82%);
}
.pinkgrafx-card{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);
  gap:clamp(2rem,6vw,5rem);
  align-items:center;
  padding:clamp(1.2rem,3vw,2.6rem);
  border:1px solid color-mix(in srgb,var(--pink),transparent 48%);
  border-radius:clamp(26px,4vw,44px);
  background:linear-gradient(135deg,rgba(10,10,16,.88),rgba(17,9,25,.78));
  box-shadow:0 28px 90px rgba(0,0,0,.48),inset 0 0 50px rgba(255,45,170,.045);
  backdrop-filter:blur(16px);
  overflow:hidden;
}
.pinkgrafx-card::after{
  content:"";
  position:absolute;
  width:46%;
  aspect-ratio:1;
  left:-9%;
  top:50%;
  translate:0 -50%;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 0 0 24px rgba(255,255,255,.018),0 0 0 52px rgba(255,45,170,.018);
  pointer-events:none;
}
.pinkgrafx-logo-link{
  position:relative;
  z-index:2;
  display:block;
  width:min(100%,430px);
  justify-self:center;
  border-radius:50%;
  text-decoration:none;
  transition:transform .35s var(--ease),filter .35s var(--ease);
}
.pinkgrafx-logo-link img{
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
  border-radius:50%;
  filter:drop-shadow(0 22px 44px rgba(0,0,0,.72)) drop-shadow(0 0 32px rgba(255,45,170,.18));
}
.pinkgrafx-logo-link:hover{
  transform:translateY(-5px) rotate(-1deg) scale(1.015);
  filter:saturate(1.08);
}
.pinkgrafx-copy{position:relative;z-index:2;min-width:0}
.pinkgrafx-copy h2{max-width:16ch;margin-top:.45rem}
.pinkgrafx-copy p{max-width:63ch}
.pinkgrafx-services{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.15rem 0 1.4rem}
.pinkgrafx-services span{
  padding:.45rem .78rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(135deg,rgba(255,45,170,.14),rgba(37,217,255,.08));
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pinkgrafx-cta{--accent:#ff2daa;gap:.45rem}
html[data-theme="light"] .pinkgrafx-section{background:linear-gradient(145deg,#fff7fc,#f0faff)}
html[data-theme="light"] .pinkgrafx-card{background:rgba(255,255,255,.84);box-shadow:0 24px 70px rgba(64,16,62,.13)}
@media(max-width:900px){
  .pinkgrafx-card{grid-template-columns:1fr;text-align:left}
  .pinkgrafx-logo-link{width:min(76vw,340px)}
  .pinkgrafx-copy h2{max-width:21ch}
}
@media(max-width:560px){
  .pinkgrafx-section{padding:3rem 0}
  .pinkgrafx-card{padding:1rem;border-radius:26px;gap:1.35rem}
  .pinkgrafx-logo-link{width:min(78vw,285px)}
  .pinkgrafx-copy h2{font-size:clamp(2rem,11vw,3rem)}
  .pinkgrafx-services{gap:.45rem}
  .pinkgrafx-services span{font-size:.7rem}
  .pinkgrafx-cta{width:100%}
}


/* V2.4 — fond utilisateur + logo néon interactif */
.laser-backdrop{opacity:.42;mix-blend-mode:screen;filter:none}
.laser-backdrop img{
  position:absolute;inset:-7%;width:114%;height:114%;object-fit:cover;object-position:center;
  transform-origin:18.2% 52.4%;
  animation:pkLaserHelix 16s ease-in-out infinite;
  filter:saturate(1.08) contrast(1.03) brightness(.94);
  will-change:transform,filter,opacity;
}
@keyframes pkLaserHelix{
  0%,100%{transform:rotate(-2.4deg) scale(1.075);opacity:.84;filter:saturate(1.02) contrast(1.02) brightness(.88)}
  48%{transform:rotate(2.8deg) scale(1.12);opacity:1;filter:saturate(1.16) contrast(1.08) brightness(1.02)}
  56%{transform:rotate(2.2deg) scale(1.105);opacity:.93;filter:saturate(1.11) contrast(1.05) brightness(.97)}
}
.hub-core{background:#06070a;box-shadow:0 0 0 18px rgba(255,255,255,.012),0 0 0 40px rgba(255,255,255,.007),0 35px 100px #000}
.hub-core::before{opacity:.04;transition:opacity .28s ease,filter .28s ease}
.hub-core::after{transition:border-color .28s ease,box-shadow .28s ease}
.hub-core .core-logo{position:absolute;inset:11%;width:78%;height:78%;object-fit:cover;border-radius:50%;z-index:2;transition:opacity .24s ease,filter .32s ease,transform .34s var(--ease)}
.hub-core .core-logo-off{opacity:.92;filter:brightness(.75) contrast(1.08)}
.hub-core .core-logo-on{opacity:0;filter:brightness(.32) saturate(.6);transform:scale(.985)}
.hub-core:hover,.hub-core:focus-visible,.hub-core[data-neon="on"]{box-shadow:0 0 26px rgba(255,45,170,.24),0 0 82px rgba(255,45,170,.34),0 35px 100px #000}
.hub-core:hover::before,.hub-core:focus-visible::before,.hub-core[data-neon="on"]::before{opacity:.78;filter:blur(20px) brightness(1.1)}
.hub-core:hover::after,.hub-core:focus-visible::after,.hub-core[data-neon="on"]::after{border-color:rgba(255,255,255,.52);box-shadow:inset 0 0 46px rgba(255,45,170,.14),0 0 24px rgba(37,217,255,.18)}
.hub-core:hover .core-logo-off,.hub-core:focus-visible .core-logo-off,.hub-core[data-neon="on"] .core-logo-off{opacity:0}
.hub-core:hover .core-logo-on,.hub-core:focus-visible .core-logo-on,.hub-core[data-neon="on"] .core-logo-on{opacity:1;filter:brightness(1.08) saturate(1.12) contrast(1.04);transform:scale(1)}
@media(hover:none){
  .hub-core .core-logo-off{opacity:.28}
  .hub-core .core-logo-on{opacity:.76;filter:brightness(.86) saturate(.94)}
}
@media(prefers-reduced-motion:reduce){
  .laser-backdrop img{animation:none!important;transform:scale(1.08);opacity:.82}
  .hub-core .core-logo,.hub-core::before,.hub-core::after{transition:none!important}
}

/* V2.5 — fond supprimé, contour rose du logo uniquement, responsive stabilisé */
.hub-page{
  min-height:100svh;
  overflow:hidden;
  background:#07070b;
  background-image:
    radial-gradient(circle at 50% 42%,rgba(255,45,170,.055),transparent 30%),
    linear-gradient(180deg,#09090e 0%,#050509 100%);
}
.hub-page::before{display:none!important}
.laser-backdrop{display:none!important}

.hub-primary-grid{display:contents}

.hub-core{
  overflow:visible;
  background:#050509;
  border-color:rgba(255,255,255,.15);
  box-shadow:0 0 0 1px rgba(255,255,255,.025),0 28px 80px rgba(0,0,0,.72);
}
.hub-core::before,.hub-core::after{display:none!important}
.hub-core:hover,.hub-core:focus-visible,.hub-core[data-neon="on"]{
  box-shadow:0 0 0 1px rgba(255,255,255,.04),0 28px 80px rgba(0,0,0,.72);
}
.hub-core .core-logo,
.hub-core .core-logo-off,
.hub-core:hover .core-logo-off,
.hub-core:focus-visible .core-logo-off,
.hub-core[data-neon="on"] .core-logo-off{
  position:absolute;
  inset:11%;
  width:78%;
  height:78%;
  object-fit:cover;
  border-radius:50%;
  z-index:2;
  opacity:.94!important;
  filter:brightness(.78) contrast(1.08) saturate(.78)!important;
  transform:none!important;
}
.core-neon-ring{
  position:absolute;
  inset:17%;
  z-index:4;
  pointer-events:none;
  border:2px solid rgba(123,112,134,.34);
  border-radius:50%;
  box-shadow:none;
  opacity:.62;
  transition:border-color .24s ease,box-shadow .28s ease,opacity .24s ease;
}
.core-neon-ring::before{
  content:"";
  position:absolute;
  inset:3.2%;
  border:1px solid rgba(123,112,134,.28);
  border-radius:50%;
  transition:inherit;
}
.hub-core:hover .core-neon-ring,
.hub-core:focus-visible .core-neon-ring,
.hub-core[data-neon="on"] .core-neon-ring{
  opacity:1;
  border-color:#ff2daa;
  box-shadow:0 0 4px rgba(255,255,255,.9),0 0 13px rgba(255,45,170,.92),0 0 34px rgba(255,45,170,.7);
}
.hub-core:hover .core-neon-ring::before,
.hub-core:focus-visible .core-neon-ring::before,
.hub-core[data-neon="on"] .core-neon-ring::before{
  border-color:#ff5cbc;
  box-shadow:0 0 3px rgba(255,255,255,.85),0 0 10px rgba(255,45,170,.76);
}

@media(max-width:1100px){
  .hub-page{min-height:auto;padding:4.6rem 1rem 1.25rem;overflow:hidden}
  .hub-stage{
    position:relative;
    display:flex;
    flex-direction:column;
    width:min(calc(100vw - 2rem),760px);
    height:auto;
    min-height:0;
    margin:0 auto;
    padding:0;
    gap:.9rem;
  }
  .hub-core{
    position:relative;
    left:auto;
    top:auto;
    translate:none;
    align-self:center;
    width:clamp(190px,27vw,220px);
    margin:0 auto;
    transform:none!important;
  }
  .hub-tagline{
    position:relative;
    left:auto;
    top:auto;
    translate:none;
    width:min(100%,560px);
    margin:0 auto .35rem;
  }
  .hub-primary-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
    width:100%;
  }
  .hub-node{
    position:relative;
    left:auto!important;
    top:auto!important;
    translate:none;
    width:100%;
    min-width:0;
    min-height:132px;
    aspect-ratio:auto;
    border-radius:22px;
  }
  .support-dock{
    position:relative;
    left:auto;
    bottom:auto;
    translate:none;
    width:100%;
    margin:.15rem 0 0;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .support-link{min-width:0}
}

@media(max-width:560px){
  .hub-page{padding-top:4.2rem}
  .hub-stage{width:100%;gap:.75rem}
  .hub-core{width:min(54vw,200px)}
  .hub-primary-grid{grid-template-columns:1fr;gap:.55rem}
  .hub-node{min-height:118px;padding:.85rem}
  .support-dock{grid-template-columns:1fr;gap:.42rem}
  .support-link{min-height:50px}
}

@media(hover:none){
  .hub-core .core-logo-off{opacity:.94!important;filter:brightness(.78) contrast(1.08) saturate(.78)!important}
  .core-neon-ring{opacity:.62}
}

/* V2.5.1 — ordre responsive du noyau */
@media(max-width:1100px){
  .hub-core{order:1}
  .hub-tagline{order:2}
  .hub-primary-grid{order:3}
  .support-dock{order:4}
  .orbit-line{order:0}
}

/* V2.6 — contenu des deux pôles recentré + logo couleur au repos */
.hub-core .core-logo-base,
.hub-core:hover .core-logo-base,
.hub-core:focus-visible .core-logo-base,
.hub-core[data-neon="on"] .core-logo-base{
  position:absolute;
  inset:11%;
  width:78%;
  height:78%;
  object-fit:cover;
  border-radius:50%;
  z-index:2;
  opacity:1!important;
  filter:brightness(1.02) contrast(1.04) saturate(1.05)!important;
  transform:none!important;
}

@media(min-width:1101px){
  .hub-node .node-content{
    position:absolute;
    inset:12%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:auto;
    height:auto;
    gap:.42rem;
    text-align:center;
  }
  .hub-node .node-content img{flex:0 0 auto}
  .hub-node .node-content strong{
    display:block;
    width:100%;
    max-width:13ch;
    margin:0 auto;
    text-align:center;
  }
  .hub-node[href="/accompagnement/"] .node-content{
    inset:11%;
    transform:translateY(1px);
  }
  .hub-node[href="/intelligence-artificielle/"] .node-content{
    inset:8%;
    gap:.3rem;
    transform:translateY(-1px);
  }
  .hub-node[href="/intelligence-artificielle/"] .node-content strong{
    max-width:12ch;
    font-size:clamp(.78rem,.94vw,1rem);
    line-height:1.01;
  }
}

@media(max-width:1100px){
  .hub-node .node-content{
    width:100%;
    min-height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
}


/* V2.7 — passerelle PinkGraFX : lentille mécanique, flash et lien direct */
.pinkgrafx-logo-link{
  isolation:isolate;
  overflow:visible;
  outline-offset:10px;
  transform:none!important;
  filter:none!important;
}
.pinkgrafx-lens-stage{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1;
  border-radius:50%;
  background:#000;
  box-shadow:
    0 26px 56px rgba(0,0,0,.72),
    0 0 34px rgba(255,45,170,.16),
    inset 0 0 0 1px rgba(255,255,255,.08);
  transition:transform .32s var(--ease),filter .32s var(--ease),box-shadow .32s var(--ease);
}
.pinkgrafx-lens-core,
.pinkgrafx-lens-ring{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  aspect-ratio:1;
  object-fit:contain!important;
  border-radius:0!important;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
.pinkgrafx-lens-core{
  z-index:1;
  clip-path:circle(40.8% at 50% 50%);
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.55)) saturate(1.04) contrast(1.03)!important;
}
.pinkgrafx-lens-ring{
  z-index:3;
  -webkit-mask-image:radial-gradient(circle closest-side at 50% 50%,transparent 0 78.2%,#fff 79.6% 97.3%,transparent 98.5%);
  mask-image:radial-gradient(circle closest-side at 50% 50%,transparent 0 78.2%,#fff 79.6% 97.3%,transparent 98.5%);
  transform:rotate(0deg);
  transform-origin:50% 50%;
  transition:transform .82s cubic-bezier(.2,.82,.22,1),filter .36s ease;
  filter:drop-shadow(0 0 5px rgba(255,255,255,.08)) drop-shadow(0 0 14px rgba(255,45,170,.08))!important;
  will-change:transform;
}
.pinkgrafx-logo-link:hover .pinkgrafx-lens-stage,
.pinkgrafx-logo-link:focus-visible .pinkgrafx-lens-stage,
.pinkgrafx-logo-link[data-engaged="true"] .pinkgrafx-lens-stage{
  transform:translateY(-4px) scale(1.012);
  filter:saturate(1.08) contrast(1.03);
  box-shadow:
    0 32px 70px rgba(0,0,0,.76),
    0 0 24px rgba(37,217,255,.16),
    0 0 46px rgba(255,45,170,.24),
    inset 0 0 0 1px rgba(255,255,255,.13);
}
.pinkgrafx-logo-link:hover .pinkgrafx-lens-ring,
.pinkgrafx-logo-link:focus-visible .pinkgrafx-lens-ring,
.pinkgrafx-logo-link[data-engaged="true"] .pinkgrafx-lens-ring{
  transform:rotate(165deg);
  filter:drop-shadow(0 0 7px rgba(255,255,255,.13)) drop-shadow(0 0 20px rgba(255,45,170,.18))!important;
}
.pinkgrafx-lens-flare{
  position:absolute;
  inset:1.5%;
  z-index:5;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 31% 26%,rgba(255,255,255,1) 0 2%,rgba(255,255,255,.8) 4%,rgba(65,220,255,.34) 13%,transparent 34%),
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.78),rgba(255,45,170,.24) 24%,transparent 68%);
  mix-blend-mode:screen;
}
.pinkgrafx-screen-flash{
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
  opacity:0;
  background:#fff;
  mix-blend-mode:screen;
}
.pinkgrafx-logo-link[data-flash="true"] .pinkgrafx-lens-flare{animation:pinkgrafxLensFlash .4s ease-out both}
body[data-pinkgrafx-flash="true"] > .pinkgrafx-screen-flash{animation:pinkgrafxScreenFlash .4s ease-out both}
@keyframes pinkgrafxLensFlash{
  0%{opacity:0;transform:scale(.72)}
  14%{opacity:1;transform:scale(1.08)}
  46%{opacity:.52;transform:scale(1)}
  100%{opacity:0;transform:scale(1.03)}
}
@keyframes pinkgrafxScreenFlash{
  0%{opacity:0}
  12%{opacity:.82}
  32%{opacity:.24}
  100%{opacity:0}
}
@media(max-width:900px){
  .pinkgrafx-logo-link{justify-self:center}
}
@media(hover:none){
  .pinkgrafx-logo-link[data-engaged="true"] .pinkgrafx-lens-ring{transform:rotate(115deg)}
}
@media(prefers-reduced-motion:reduce){
  .pinkgrafx-lens-ring,.pinkgrafx-lens-stage{transition:none!important}
  .pinkgrafx-logo-link:hover .pinkgrafx-lens-ring,
  .pinkgrafx-logo-link:focus-visible .pinkgrafx-lens-ring,
  .pinkgrafx-logo-link[data-engaged="true"] .pinkgrafx-lens-ring{transform:none}
  .pinkgrafx-logo-link[data-flash="true"] .pinkgrafx-lens-flare{animation-duration:.18s}
  body[data-pinkgrafx-flash="true"] > .pinkgrafx-screen-flash{animation-duration:.18s;opacity:.28}
}

/* V2.8 — logo PinkGraFX déplacé dans l'écran d'accueil, en bas à gauche */
.hub-pinkgrafx-link{
  position:absolute;
  left:clamp(-.35rem,.25vw,.25rem);
  bottom:5.15rem;
  width:clamp(104px,9.4vw,132px);
  z-index:14;
  margin:0;
  justify-self:auto;
  border-radius:50%;
  filter:none;
}
.hub-pinkgrafx-link .pinkgrafx-lens-stage{
  background:#000;
  box-shadow:
    0 18px 40px rgba(0,0,0,.78),
    0 0 22px rgba(255,45,170,.14),
    inset 0 0 0 1px rgba(255,255,255,.08);
}
.hub-pinkgrafx-link .pinkgrafx-lens-core,
.hub-pinkgrafx-link .pinkgrafx-lens-ring{
  clip-path:none;
  -webkit-mask-image:none;
  mask-image:none;
}
.hub-pinkgrafx-link:hover .pinkgrafx-lens-stage,
.hub-pinkgrafx-link:focus-visible .pinkgrafx-lens-stage,
.hub-pinkgrafx-link[data-engaged="true"] .pinkgrafx-lens-stage{
  transform:translateY(-3px) scale(1.025);
}
.pinkgrafx-card-copy-only{
  grid-template-columns:1fr;
  max-width:900px;
}
.pinkgrafx-card-copy-only .pinkgrafx-copy{
  max-width:760px;
  margin-inline:auto;
}
@media(max-width:1100px){
  .hub-pinkgrafx-link{
    position:relative;
    left:auto;
    bottom:auto;
    order:4;
    align-self:flex-start;
    width:clamp(116px,21vw,150px);
    margin:.1rem 0 .15rem;
  }
  .support-dock{order:5}
}
@media(max-width:560px){
  .hub-pinkgrafx-link{
    width:126px;
    margin:.15rem auto .25rem 0;
  }
}
@media(prefers-reduced-motion:reduce){
  .hub-pinkgrafx-link:hover .pinkgrafx-lens-stage,
  .hub-pinkgrafx-link:focus-visible .pinkgrafx-lens-stage,
  .hub-pinkgrafx-link[data-engaged="true"] .pinkgrafx-lens-stage{transform:none}
}

/* V2.8.1 — la passerelle reste visible tôt dans le flux mobile */
@media(max-width:1100px){
  .hub-pinkgrafx-link{order:3}
  .hub-primary-grid{order:4}
  .support-dock{order:5}
}

/* V2.9 — repositionnement bas-gauche PinkGraFX + noyau Pink Kulture agrandi */
@media(min-width:1101px){
  /* La lentille PinkGraFX rejoint le rail inférieur, immédiatement avant Conseil & audits. */
  .hub-pinkgrafx-link{
    left:clamp(-.45rem,-.1vw,-.1rem);
    bottom:.35rem;
    width:clamp(110px,9.2vw,128px);
  }
  .support-dock{
    width:min(1120px,96%);
    padding-left:clamp(126px,10.8vw,148px);
  }

  /* Le noyau central prend davantage de présence sans quitter son axe. */
  .hub-core{
    width:clamp(258px,29vw,380px);
  }
  .hub-tagline{
    top:69.5%;
  }
}

/* Écrans desktop peu hauts : agrandissement maîtrisé pour préserver le rail inférieur. */
@media(min-width:1101px) and (max-height:760px){
  .hub-core{
    top:39%;
    width:clamp(250px,23vw,292px);
  }
  .hub-tagline{
    top:62.5%;
  }
  .hub-pinkgrafx-link{
    width:104px;
    bottom:.2rem;
  }
  .support-dock{
    padding-left:116px;
  }
}

/* Le logo principal reste plus généreux dans le flux tablette/mobile. */
@media(max-width:1100px){
  .hub-core{
    width:clamp(220px,34vw,260px);
  }
}
@media(max-width:560px){
  .hub-core{
    width:min(62vw,232px);
  }
}


/* V3.0 — présentation publique, noyau agrandi et hiérarchie simplifiée */
.association-section{
  background:
    radial-gradient(circle at 12% 18%,rgba(255,45,170,.12),transparent 30%),
    radial-gradient(circle at 88% 78%,rgba(37,217,255,.07),transparent 28%),
    linear-gradient(145deg,color-mix(in srgb,var(--surface),transparent 4%),var(--bg));
}
.association-intro{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:clamp(2rem,6vw,5rem);
  align-items:center;
}
.association-copy h2{max-width:18ch;margin-top:.55rem}
.association-copy .lead{max-width:70ch;color:var(--text)}
.mission-statement{
  max-width:68ch;
  margin:1.4rem 0 1.6rem;
  padding:1rem 1.15rem;
  border-left:3px solid var(--pink);
  background:color-mix(in srgb,var(--pink),transparent 91%);
  font-weight:800;
}
.association-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.association-facts article{
  min-height:150px;
  padding:1.15rem;
  border:1px solid var(--line);
  border-radius:22px;
  background:color-mix(in srgb,var(--surface),transparent 8%);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  box-shadow:0 18px 46px rgba(0,0,0,.2);
}
.association-facts strong{font-family:var(--display);font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.05;text-transform:uppercase}
.association-facts span{margin-top:.45rem;color:var(--muted);font-size:.88rem;line-height:1.35}

@media(min-width:1101px){
  .hub-core{top:44.5%;width:clamp(320px,31vw,440px)}
  .hub-tagline{top:72.5%;font-size:.9rem;color:var(--text)}
}
@media(min-width:1101px) and (max-height:780px){
  .hub-core{top:40.5%;width:clamp(280px,26vw,340px)}
  .hub-tagline{top:64.5%}
}
@media(max-width:900px){
  .association-intro{grid-template-columns:1fr}
  .association-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .association-facts{grid-template-columns:1fr}
  .association-facts article{min-height:118px}
}


/* V3.1 — septième entrée du rail : Projets accompagnés */
@media(min-width:1101px){
  .support-dock{grid-template-columns:repeat(7,minmax(0,1fr))}
  .support-link-accompanied{letter-spacing:.035em}
  .support-link-accompanied strong{line-height:1.08}
}
