 :root {
    --noeva-black: #050013;
    --noeva-deep: #0b001f;
    --noeva-night: #120828;
    --noeva-orange: #FAA940;
    --noeva-pink: #FF006B;
    --noeva-purple: #d00bf4;
    --noeva-cyan: #08ecef;
    --noeva-green: #0cf60c;
    --noeva-white: #fef7f7;
    --noeva-muted: hsl(37, 27%, 94%);
    --noeva-soft: rgba(49, 4, 67, 0.1);
    --noeva-border: rgba(14, 1, 1, 0.27);
    --noeva-radius-lg: 28px;
    --noeva-radius-md: 18px;
    --noeva-header-height: 82px;
    --noeva-font-body: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --noeva-font-title: "Montserrat", "Poppins", system-ui, sans-serif;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--noeva-header-height) + 22px);
}

body {
    margin: 0;
    min-height: 100vh;
    color: var(--noeva-white);
    background: var(--noeva-black);
    font-family: var(--noeva-font-body);
}

body.no-scroll {
    overflow: hidden;
}

img {
    max-width: 100%;
}

a {
    color: inherit;
}

/* =========================================================
   HEADER / NAVIGATION
========================================================= */

.noeva-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10000;
    min-height: var(--noeva-header-height);
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 0, 107, 0.18), transparent 34%),
        radial-gradient(circle at 88% 0%, rgba(8, 236, 239, 0.14), transparent 30%),
        rgba(5, 0, 19, 0.72);
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition:
        background 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.noeva-header.is-scrolled {
    background: rgba(5, 0, 19, 0.94);
    border-color: rgba(8, 236, 239, 0.22);
    box-shadow:
        0 16px 42px rgba(0, 0, 0, 0.45),
        0 0 35px rgba(255, 0, 107, 0.12);
}

.noeva-header::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--noeva-pink), var(--noeva-cyan), transparent);
    opacity: 0.75;
}

.noeva-header__container {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 40px));
    min-height: var(--noeva-header-height);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.noeva-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--noeva-white);
    text-decoration: none;
    font-weight: 900;
    white-space: nowrap;
}

.noeva-logo__mark {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    background: linear-gradient(135deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    box-shadow:
        0 0 24px rgba(255, 0, 107, 0.26),
        0 0 34px rgba(8, 236, 239, 0.15);
}

.noeva-logo__text {
    font-size: 1rem;
    letter-spacing: 0.03em;
}

.noeva-header__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.noeva-header__nav a,
.noeva-header__cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 15px;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.055em;
    overflow: hidden;
    transition:
        color 0.25s ease,
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}

.noeva-header__nav a::before,
.noeva-header__cta::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255, 0, 107, 0.16), rgba(8, 236, 239, 0.12));
    opacity: 0;
    transition: opacity 0.25s ease;
}

.noeva-header__nav a:hover,
.noeva-header__cta:hover {
    color: var(--noeva-white);
    transform: translateY(-1px);
    box-shadow: 0 0 22px rgba(8, 236, 239, 0.15);
}

.noeva-header__nav a:hover::before,
.noeva-header__cta:hover::before {
    opacity: 1;
}

.noeva-header__cta {
    color: var(--noeva-white);
    padding-inline: 20px;
    background: linear-gradient(135deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    box-shadow:
        0 12px 30px rgba(255, 0, 107, 0.24),
        0 0 26px rgba(8, 236, 239, 0.12);
}

.noeva-header__cta::before {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.34), transparent);
    opacity: 0;
    transform: translateX(-110%);
}

.noeva-header__cta:hover::before {
    opacity: 1;
    transform: translateX(110%);
    transition: transform 0.55s ease, opacity 0.25s ease;
}

.noeva-menu-toggle {
    display: none;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.07);
    color: var(--noeva-white);
    cursor: pointer;
}

.noeva-menu-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    margin: 5px auto;
    border-radius: 999px;
    background: currentColor;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.noeva-menu-toggle.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.noeva-menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

.noeva-menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* =========================================================
   HERO
========================================================= */

.noeva-hero {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    padding: calc(var(--noeva-header-height) + 72px) 20px 92px;
    color: var(--noeva-white);
    background:
        radial-gradient(circle at 15% 7%, rgba(255, 0, 107, 0.26), transparent 31%),
        radial-gradient(circle at 82% 12%, rgba(8, 236, 239, 0.22), transparent 30%),
        radial-gradient(circle at 55% 88%, rgba(208, 11, 244, 0.20), transparent 34%),
        linear-gradient(135deg, var(--noeva-black), var(--noeva-deep) 45%, #17001d);
}

.noeva-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, rgba(5, 0, 19, 0.04), rgba(5, 0, 19, 0.88)),
        radial-gradient(circle at 72% 40%, rgba(8, 236, 239, 0.11), transparent 25%);
    pointer-events: none;
}

.noeva-hero__background,
.noeva-hero__grid,
.noeva-hero__orb,
.noeva-hero__particle {
    position: absolute;
    pointer-events: none;
}

.noeva-hero__background {
    inset: 0;
}

.noeva-hero__grid {
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.95), transparent 84%);
    opacity: 0.42;
}

.noeva-hero__orb {
    border-radius: 999px;
    filter: blur(24px);
    opacity: 0.8;
    animation: noevaFloatOrb 8s ease-in-out infinite alternate;
}

.noeva-hero__orb--pink {
    width: 360px;
    height: 360px;
    left: -110px;
    top: 140px;
    background: radial-gradient(circle, rgba(255, 0, 107, 0.46), transparent 68%);
}

.noeva-hero__orb--blue {
    width: 430px;
    height: 430px;
    right: -135px;
    top: 80px;
    background: radial-gradient(circle, rgba(8, 236, 239, 0.34), transparent 70%);
    animation-delay: -2s;
}

.noeva-hero__orb--orange {
    width: 320px;
    height: 320px;
    right: 18%;
    bottom: -145px;
    background: radial-gradient(circle, rgba(250, 169, 64, 0.30), transparent 70%);
    animation-delay: -4s;
}

.noeva-hero__particle {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--noeva-cyan);
    box-shadow: 0 0 16px var(--noeva-cyan);
    animation: noevaParticleRise 8s linear infinite;
}

.noeva-hero__particle:nth-child(5) {
    left: 8%;
    top: 88%;
    animation-delay: -1s;
}

.noeva-hero__particle:nth-child(6) {
    left: 16%;
    top: 28%;
    background: var(--noeva-pink);
    box-shadow: 0 0 16px var(--noeva-pink);
    animation-delay: -4s;
}

.noeva-hero__particle:nth-child(7) {
    left: 32%;
    top: 18%;
    animation-delay: -2s;
}

.noeva-hero__particle:nth-child(8) {
    left: 48%;
    top: 68%;
    background: var(--noeva-orange);
    box-shadow: 0 0 16px var(--noeva-orange);
    animation-delay: -6s;
}

.noeva-hero__particle:nth-child(9) {
    left: 62%;
    top: 22%;
    animation-delay: -3s;
}

.noeva-hero__particle:nth-child(10) {
    left: 74%;
    top: 16%;
    background: var(--noeva-pink);
    box-shadow: 0 0 16px var(--noeva-pink);
    animation-delay: -5s;
}

.noeva-hero__particle:nth-child(11) {
    left: 88%;
    top: 80%;
    animation-delay: -7s;
}

.noeva-hero__particle:nth-child(12) {
    left: 94%;
    top: 50%;
    background: var(--noeva-pink);
    box-shadow: 0 0 16px var(--noeva-pink);
    animation-delay: -2.5s;
}

.noeva-hero__particle:nth-child(13) {
    left: 55%;
    top: 92%;
    animation-delay: -4.5s;
}

.noeva-hero__particle:nth-child(14) {
    left: 40%;
    top: 96%;
    animation-delay: -6.5s;
}

.noeva-hero__container {
    position: relative;
    z-index: 2;
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(420px, 0.96fr);
    align-items: stretch;
    gap: clamp(42px, 6vw, 78px);
}

.noeva-hero__content {
    max-width: 660px;
    align-self: center;
}

.noeva-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 17px;
    margin-bottom: 26px;
    border: 1px solid rgba(8, 236, 239, 0.38);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.075);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.88rem;
    letter-spacing: 0.02em;
    box-shadow: 0 0 24px rgba(8, 236, 239, 0.16);
}

.noeva-hero__eyebrow-dot {
    width: 11px;
    height: 11px;
    flex: 0 0 11px;
    border-radius: 999px;
    background: var(--noeva-green);
    box-shadow: 0 0 16px var(--noeva-green);
}

.noeva-hero__title {
    margin: 0;
    color: var(--noeva-white);
    font-family: var(--noeva-font-title);
    font-size: clamp(3.2rem, 6.15vw, 5.95rem);
    line-height: 0.92;
    letter-spacing: -0.075em;
    text-transform: uppercase;
}

.noeva-hero__title span,
.noeva-hero__title strong,
.noeva-hero__title em {
    display: block;
}

.noeva-hero__title span {
    text-shadow: 0 0 30px rgba(255, 255, 255, 0.12);
}

.noeva-hero__title strong {
    font-style: normal;
    background: linear-gradient(90deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 0 18px rgba(255, 0, 107, 0.24));
}

.noeva-hero__title em {
    margin-top: 10px;
    font-style: normal;
    font-size: clamp(2.05rem, 4.15vw, 4.1rem);
    line-height: 1.02;
    letter-spacing: -0.07em;
    color: rgba(255, 255, 255, 0.94);
}

.noeva-hero__subtitle {
    max-width: 640px;
    margin: 30px 0 0;
    color: var(--noeva-muted);
    font-size: clamp(1rem, 1.35vw, 1.15rem);
    line-height: 1.86;
}

.noeva-hero__subtitle strong {
    color: var(--noeva-white);
    font-weight: 800;
    text-shadow: 0 0 18px rgba(8, 236, 239, 0.32);
}

.noeva-hero__proof {
    display: grid;
    gap: 13px;
    margin: 32px 0 0;
}

.noeva-hero__proof--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.noeva-hero__proof-item {
    min-height: 130px;
    padding: 17px 16px;
    border: 1px solid var(--noeva-border);
    border-radius: var(--noeva-radius-md);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.035));
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    color: rgba(255, 255, 255, 0.82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.noeva-hero__proof-item span {
    display: block;
    margin-bottom: 10px;
    color: var(--noeva-cyan);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    font-weight: 900;
}

.noeva-hero__proof-item strong {
    display: block;
    margin-bottom: 8px;
    color: var(--noeva-white);
    font-size: 0.92rem;
    line-height: 1.25;
}

.noeva-hero__proof-item p {
    margin: 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.84rem;
    line-height: 1.45;
}

.noeva-hero__download-card {
    display: block;
    text-decoration: none;
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.noeva-hero__download-card:hover {
    transform: translateY(-3px);
    border-color: rgba(8, 236, 239, 0.42);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 18px 42px rgba(0, 0, 0, 0.24),
        0 0 26px rgba(8, 236, 239, 0.16);
}

.noeva-hero__download-card:focus-visible {
    outline: 2px solid var(--noeva-cyan);
    outline-offset: 4px;
}

.noeva-hero__proof-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    border-radius: 15px;
    color: var(--noeva-cyan);
    background: rgba(8, 236, 239, 0.11);
    border: 1px solid rgba(8, 236, 239, 0.28);
    box-shadow: 0 0 22px rgba(8, 236, 239, 0.12);
}

.noeva-hero__proof-icon svg {
    width: 24px;
    height: 24px;
}

/* =========================================================
   BOUTONS HERO
   Les deux boutons restent cÃƒÂ´te Ãƒ  cÃƒÂ´te si possible.
   Si lÃ¢â‚¬â„¢ÃƒÂ©cran est trop ÃƒÂ©troit, ils passent sur deux lignes.
========================================================= */

.noeva-hero__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    align-items: stretch;
    gap: 16px;
    width: min(100%, 620px);
    margin-top: 36px;
}

.noeva-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 58px;
    width: 100%;
    padding: 0 25px;
    border-radius: 999px;
    border: 1px solid transparent;
    color: var(--noeva-white);
    font-weight: 900;
    font-size: 0.94rem;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow: hidden;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease,
        background 0.28s ease;
}

.noeva-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-105%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.34), transparent);
    transition: transform 0.55s ease;
}

.noeva-btn:hover::before {
    transform: translateX(105%);
}

.noeva-btn:hover {
    transform: translateY(-3px);
}

.noeva-btn--primary {
    background: linear-gradient(135deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    box-shadow:
        0 18px 42px rgba(255, 0, 107, 0.25),
        0 0 34px rgba(8, 236, 239, 0.17);
}

.noeva-btn--primary > span {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
}

.noeva-btn--ghost {
    background: rgba(255, 255, 255, 0.075);
    border-color: rgba(255, 255, 255, 0.24);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.noeva-btn--ghost:hover {
    border-color: rgba(8, 236, 239, 0.65);
    box-shadow: 0 0 28px rgba(8, 236, 239, 0.18);
}

.noeva-btn__play {
    width: 31px;
    height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 31px;
    padding-left: 2px;
    border-radius: 50%;
    background: var(--noeva-white);
    color: var(--noeva-pink);
    font-size: 0.72rem;
}

.noeva-hero__microcopy {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.92rem;
}

.noeva-hero__microcopy span {
    width: 42px;
    height: 1px;
    flex: 0 0 42px;
    background: linear-gradient(90deg, var(--noeva-pink), var(--noeva-cyan));
}

/* =========================================================
   IMAGE HERO DROITE
   Nouvelle version : 2 images mÃƒÂªmes tailles, en colonne.
========================================================= */

.noeva-hero__visual {
    position: relative;
    min-height: 640px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    isolation: isolate;
    align-self: stretch;
}

.noeva-hero__visual::before {
    content: "";
    position: absolute;
    width: min(580px, 100%);
    aspect-ratio: 1;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    border: 1px solid rgba(8, 236, 239, 0.18);
    box-shadow:
        inset 0 0 34px rgba(8, 236, 239, 0.08),
        0 0 34px rgba(208, 11, 244, 0.14);
    transform: translate(-50%, -50%);
    animation: noevaOrbitSpin 22s linear infinite;
    z-index: -2;
}

.noeva-hero__image-glow {
    position: absolute;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    filter: blur(70px);
    opacity: 0.75;
    z-index: -3;
}

.noeva-hero__image-glow--purple {
    top: 5%;
    right: 4%;
    background: rgba(123, 44, 255, 0.65);
}

.noeva-hero__image-glow--blue {
    bottom: 8%;
    left: 2%;
    background: rgba(14, 165, 255, 0.45);
}

/* Le conteneur qui empile les deux images */
.noeva-hero__image-stack {
    position: relative;
    z-index: 2;
    width: min(520px, 100%);
    height: 100%;
    min-height: 640px;
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-self: stretch;
}

/* Les deux cartes ont exactement le mÃƒÂªme comportement */
.noeva-hero__image-card,
.noeva-hero__second-image-card {
    position: relative;
    width: 100%;
    min-height: 0;
    height: 100%;
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(180, 92, 255, 0.45);
    background: rgba(15, 8, 35, 0.75);
    box-shadow:
        0 0 45px rgba(123, 44, 255, 0.30),
        0 0 90px rgba(14, 165, 255, 0.15),
        0 30px 75px rgba(0, 0, 0, 0.42),
        inset 0 0 40px rgba(255, 255, 255, 0.04);
}

/* LÃƒÂ©gÃƒÂ¨re profondeur seulement, pas de superposition */
.noeva-hero__image-card {
    transform: perspective(1200px) rotateY(-3deg) rotateX(1deg);
}

.noeva-hero__second-image-card {
    transform: perspective(1200px) rotateY(-3deg) rotateX(1deg);
    border-color: rgba(8, 236, 239, 0.42);
}

/* Les deux images remplissent leur carte */
.noeva-hero__image,
.noeva-hero__second-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.06);
}

/* Overlays communs */
.noeva-hero__image-overlay,
.noeva-hero__second-image-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.noeva-hero__image-overlay {
    background:
        radial-gradient(circle at 30% 25%, rgba(180, 92, 255, 0.18), transparent 35%),
        radial-gradient(circle at 80% 70%, rgba(14, 165, 255, 0.18), transparent 40%),
        linear-gradient(180deg, rgba(3, 2, 11, 0.05), rgba(3, 2, 11, 0.35));
}

.noeva-hero__second-image-overlay {
    background:
        radial-gradient(circle at 32% 28%, rgba(8, 236, 239, 0.18), transparent 36%),
        radial-gradient(circle at 78% 72%, rgba(12, 246, 12, 0.12), transparent 38%),
        linear-gradient(180deg, rgba(3, 2, 11, 0.02), rgba(3, 2, 11, 0.58));
}

/* Labels sur image principale */
.noeva-hero__floating-label {
    position: absolute;
    left: 22px;
    right: 22px;
    padding: 14px 18px;
    border-radius: 18px;
    background: rgba(3, 2, 11, 0.68);
    border: 1px solid rgba(180, 92, 255, 0.36);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 0 28px rgba(123, 44, 255, 0.25);
}

.noeva-hero__floating-label span {
    display: block;
    margin-bottom: 4px;
    color: #B45CFF;
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.noeva-hero__floating-label strong {
    color: #F7F4FF;
    font-size: 0.95rem;
    line-height: 1.35;
}

.noeva-hero__floating-label--top {
    top: 22px;
}

.noeva-hero__floating-label--bottom {
    bottom: 22px;
}

/* Label sur deuxiÃƒÂ¨me image */
.noeva-hero__second-image-label {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 22px;
    padding: 14px 18px;
    border-radius: 18px;
    background: rgba(3, 2, 11, 0.70);
    border: 1px solid rgba(8, 236, 239, 0.34);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 0 28px rgba(8, 236, 239, 0.20);
}

.noeva-hero__second-image-label span {
    display: block;
    margin-bottom: 4px;
    color: var(--noeva-cyan);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.noeva-hero__second-image-label strong {
    display: block;
    color: var(--noeva-white);
    font-size: 0.95rem;
    line-height: 1.35;
}

/* =========================================================
   SECTIONS PLACEHOLDER
========================================================= */

.noeva-section {
    padding: 90px 20px;
    color: #f7f4ff;
    background: #0b001f;
}

.noeva-section--dark {
    background: #050013;
}

.noeva-section__container {
    width: min(980px, 100%);
    margin: 0 auto;
}

.noeva-section__kicker {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--noeva-cyan);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.78rem;
}

.noeva-section h2 {
    margin: 0 0 16px;
    font-family: var(--noeva-font-title);
    font-size: clamp(2rem, 4vw, 3.3rem);
    line-height: 1;
}

.noeva-section p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 1.05rem;
    line-height: 1.75;
}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes noevaFloatOrb {
    from {
        transform: translate3d(0, 0, 0) scale(1);
    }

    to {
        transform: translate3d(24px, -22px, 0) scale(1.08);
    }
}

@keyframes noevaParticleRise {
    from {
        transform: translateY(20px) scale(0.8);
        opacity: 0;
    }

    20% {
        opacity: 0.85;
    }

    to {
        transform: translateY(-120px) scale(1.2);
        opacity: 0;
    }
}

@keyframes noevaOrbitSpin {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
    :root {
        --noeva-header-height: 76px;
    }

    .noeva-header__container {
        width: min(100% - 28px, 1180px);
        gap: 14px;
    }

    .noeva-header__nav a {
        padding-inline: 11px;
        font-size: 0.78rem;
    }

    .noeva-header__cta {
        padding-inline: 16px;
        font-size: 0.78rem;
    }

    .noeva-hero__container {
        grid-template-columns: 1fr;
        gap: 54px;
        align-items: center;
    }

    .noeva-hero__content {
        max-width: 850px;
        text-align: center;
        margin: 0 auto;
    }

    .noeva-hero__eyebrow,
    .noeva-hero__actions,
    .noeva-hero__microcopy {
        justify-content: center;
    }

    .noeva-hero__subtitle {
        margin-left: auto;
        margin-right: auto;
    }

    .noeva-hero__visual {
        min-height: auto;
        align-items: center;
    }

    .noeva-hero__image-stack {
        width: min(620px, 100%);
        min-height: 760px;
    }

    .noeva-hero__image-card,
    .noeva-hero__second-image-card {
        transform: none;
    }
}

@media (max-width: 820px) {
    .noeva-menu-toggle {
        display: inline-block;
        order: 3;
    }

    .noeva-header__cta {
        margin-left: auto;
    }

    .noeva-header__nav {
        position: fixed;
        top: calc(var(--noeva-header-height) + 10px);
        left: 16px;
        right: 16px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        padding: 16px;
        border-radius: 24px;
        border: 1px solid rgba(255, 255, 255, 0.16);
        background:
            radial-gradient(circle at 18% 0%, rgba(255, 0, 107, 0.18), transparent 38%),
            rgba(5, 0, 19, 0.96);
        box-shadow:
            0 24px 58px rgba(0, 0, 0, 0.55),
            0 0 34px rgba(8, 236, 239, 0.16);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .noeva-header__nav.is-open {
        display: flex;
    }

    .noeva-header__nav a {
        justify-content: flex-start;
        width: 100%;
        min-height: 48px;
        padding: 13px 16px;
        border: 1px solid rgba(255, 255, 255, 0.08);
        background: rgba(255, 255, 255, 0.04);
    }

    .noeva-hero__proof--four {
        grid-template-columns: 1fr 1fr;
    }

    .noeva-hero__actions {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
        width: min(100%, 560px);
    }
}

@media (max-width: 640px) {
    :root {
        --noeva-header-height: 70px;
    }

    .noeva-header__container {
        width: calc(100% - 22px);
    }

    .noeva-logo__mark {
        width: 38px;
        height: 38px;
        border-radius: 13px;
    }

    .noeva-logo__text {
        font-size: 0.92rem;
    }

    .noeva-header__cta {
        display: none;
    }

    .noeva-hero {
        padding: calc(var(--noeva-header-height) + 46px) 16px 74px;
    }

    .noeva-hero__title {
        font-size: clamp(2.85rem, 15vw, 4.6rem);
        letter-spacing: -0.06em;
    }

    .noeva-hero__title em {
        font-size: clamp(2rem, 11vw, 3.2rem);
    }

    .noeva-hero__proof--four {
        grid-template-columns: 1fr;
    }

    .noeva-hero__proof-item {
        min-height: auto;
    }

    .noeva-hero__actions {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .noeva-btn {
        width: 100%;
    }

    .noeva-hero__microcopy {
        align-items: flex-start;
        text-align: left;
    }

    .noeva-hero__image-stack {
        width: 100%;
        min-height: 680px;
        gap: 18px;
    }

    .noeva-hero__image-card,
    .noeva-hero__second-image-card {
        border-radius: 28px;
    }

    .noeva-hero__floating-label,
    .noeva-hero__second-image-label {
        left: 14px;
        right: 14px;
        padding: 12px 14px;
    }

    .noeva-hero__floating-label strong,
    .noeva-hero__second-image-label strong {
        font-size: 0.84rem;
    }
}

@media (max-width: 420px) {
    .noeva-logo__text {
        display: none;
    }

    .noeva-hero__eyebrow {
        font-size: 0.76rem;
        padding-inline: 13px;
    }

    .noeva-hero__image-stack {
        min-height: 600px;
        gap: 16px;
    }

    .noeva-hero__image-card,
    .noeva-hero__second-image-card {
        border-radius: 24px;
    }
}

/* =========================================================
   SECTION PRÃƒâ€°SENTATION VIDÃƒâ€°OS NOÃƒâ€°VA
========================================================= */

.noeva-presentation {
    position: relative;
    overflow: hidden;
    padding: 128px 20px 138px;
    color: var(--noeva-white);
    background:
        radial-gradient(circle at 50% -4%, rgba(8, 236, 239, 0.28), transparent 24%),
        radial-gradient(circle at 18% 18%, rgba(255, 0, 107, 0.18), transparent 30%),
        radial-gradient(circle at 86% 72%, rgba(208, 11, 244, 0.20), transparent 32%),
        linear-gradient(180deg, #050013 0%, #0b001f 42%, #120828 100%);
    isolation: isolate;
}

.noeva-presentation::before {
    content: "";
    position: absolute;
    left: -14%;
    right: -14%;
    top: -135px;
    height: 280px;
    background:
        radial-gradient(ellipse at center,
            rgba(8, 236, 239, 0.44) 0%,
            rgba(255, 0, 107, 0.28) 34%,
            rgba(208, 11, 244, 0.18) 54%,
            transparent 74%);
    filter: blur(18px);
    opacity: 0.92;
    pointer-events: none;
    z-index: 0;
    animation: noevaPresentationHalo 7s ease-in-out infinite alternate;
}

.noeva-presentation::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.88), transparent 82%);
    opacity: 0.35;
    pointer-events: none;
    z-index: 0;
}

.noeva-presentation__background,
.noeva-presentation__halo,
.noeva-presentation__grid,
.noeva-presentation__orb {
    position: absolute;
    pointer-events: none;
}

.noeva-presentation__background {
    inset: 0;
    z-index: 0;
}

.noeva-presentation__halo {
    left: 50%;
    top: 0;
    width: min(920px, 92vw);
    height: 2px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, var(--noeva-pink), var(--noeva-cyan), transparent);
    box-shadow:
        0 0 24px rgba(8, 236, 239, 0.6),
        0 0 64px rgba(255, 0, 107, 0.34);
    z-index: 2;
}

.noeva-presentation__orb {
    border-radius: 999px;
    filter: blur(55px);
    opacity: 0.68;
    animation: noevaPresentationOrb 9s ease-in-out infinite alternate;
}

.noeva-presentation__orb--pink {
    width: 340px;
    height: 340px;
    left: -110px;
    top: 24%;
    background: rgba(255, 0, 107, 0.38);
}

.noeva-presentation__orb--cyan {
    width: 380px;
    height: 380px;
    right: -130px;
    top: 16%;
    background: rgba(8, 236, 239, 0.28);
    animation-delay: -2.4s;
}

.noeva-presentation__orb--purple {
    width: 430px;
    height: 430px;
    left: 50%;
    bottom: -230px;
    transform: translateX(-50%);
    background: rgba(208, 11, 244, 0.25);
    animation-delay: -4s;
}

.noeva-presentation__container {
    position: relative;
    z-index: 3;
    width: min(1180px, 100%);
    margin: 0 auto;
}

.noeva-presentation__intro {
    max-width: 790px;
    margin: 0 auto 58px;
    text-align: center;
}

.noeva-presentation__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    margin-bottom: 22px;
    border-radius: 999px;
    border: 1px solid rgba(8, 236, 239, 0.35);
    background: rgba(255, 255, 255, 0.075);
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 0 28px rgba(8, 236, 239, 0.15);
}

.noeva-presentation__eyebrow span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--noeva-green);
    box-shadow: 0 0 15px var(--noeva-green);
}

.noeva-presentation__title {
    margin: 0;
    font-family: var(--noeva-font-title);
    font-size: clamp(2.5rem, 5.3vw, 5.1rem);
    line-height: 0.96;
    letter-spacing: -0.065em;
    text-transform: uppercase;
}

.noeva-presentation__title strong {
    display: inline-block;
    font-style: normal;
    background: linear-gradient(90deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 0 20px rgba(255, 0, 107, 0.24));
}

.noeva-presentation__subtitle {
    max-width: 720px;
    margin: 24px auto 0;
    color: var(--noeva-muted);
    font-size: clamp(1rem, 1.28vw, 1.13rem);
    line-height: 1.85;
}

/* =========================================================
   SLIDER VIDÃƒâ€°OS
========================================================= */

.noeva-video-slider {
    position: relative;
    width: 100%;
    min-height: 650px;
    padding: 0 92px 72px;
}

.noeva-video-slider__stage {
    position: relative;
    width: 100%;
    height: clamp(540px, 58vw, 640px);
    perspective: 1300px;
    outline: none;
}

.noeva-video-card {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(420px, 78vw);
    min-height: 560px;
    border-radius: 38px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.045)),
        rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(0.62);
    transition:
        transform 0.55s cubic-bezier(.2, .8, .2, 1),
        opacity 0.35s ease,
        filter 0.35s ease,
        box-shadow 0.35s ease;
    cursor: pointer;
}

.noeva-video-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(255, 0, 107, 0.75), rgba(8, 236, 239, 0.58), rgba(255, 255, 255, 0.12));
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0.7;
    pointer-events: none;
}

.noeva-video-card::after {
    content: "";
    position: absolute;
    inset: -35%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
    transform: translateX(-65%) rotate(18deg);
    opacity: 0;
    pointer-events: none;
}

.noeva-video-card.is-active {
    z-index: 5;
    opacity: 1;
    pointer-events: auto;
    filter: saturate(1.08);
    transform: translate(-50%, -50%) scale(1) rotateY(0deg);
    box-shadow:
        0 32px 95px rgba(0, 0, 0, 0.48),
        0 0 45px color-mix(in srgb, var(--card-main) 32%, transparent),
        0 0 65px rgba(8, 236, 239, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.20);
}

.noeva-video-card.is-active::after {
    animation: noevaVideoShine 4.5s ease-in-out infinite;
}

.noeva-video-card.is-prev,
.noeva-video-card.is-next {
    z-index: 3;
    opacity: 0.48;
    pointer-events: auto;
    filter: blur(0.2px) saturate(0.78);
}

.noeva-video-card.is-prev {
    transform: translate(calc(-50% - clamp(240px, 33vw, 430px)), -50%) scale(0.76) rotateY(15deg);
}

.noeva-video-card.is-next {
    transform: translate(calc(-50% + clamp(240px, 33vw, 430px)), -50%) scale(0.76) rotateY(-15deg);
}

.noeva-video-card__media {
    position: relative;
    height: 300px;
    margin: 15px;
    border-radius: 30px;
    overflow: hidden;
    background:
        radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.28), transparent 18%),
        radial-gradient(circle at 78% 20%, color-mix(in srgb, var(--card-second) 42%, transparent), transparent 22%),
        linear-gradient(145deg,
            color-mix(in srgb, var(--card-main) 68%, #120828),
            color-mix(in srgb, var(--card-second) 42%, #050013));
    box-shadow:
        inset 0 0 34px rgba(255, 255, 255, 0.10),
        0 22px 50px rgba(0, 0, 0, 0.28);
}

.noeva-video-card__media::before {
    content: "";
    position: absolute;
    left: -18%;
    right: -18%;
    bottom: -7%;
    height: 52%;
    background:
        linear-gradient(135deg, transparent 0 32%, rgba(255, 255, 255, 0.18) 33% 35%, transparent 36%),
        linear-gradient(45deg, rgba(5, 0, 19, 0.84), rgba(18, 8, 40, 0.72));
    clip-path: polygon(0 82%, 14% 42%, 28% 64%, 42% 28%, 58% 72%, 74% 35%, 100% 78%, 100% 100%, 0 100%);
    opacity: 0.9;
}

.noeva-video-card__media::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 12%;
    width: 58%;
    height: 7px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--card-second) 70%, white), transparent);
    filter: blur(2px);
    opacity: 0.75;
}

.noeva-video-card__media--story {
    background:
        radial-gradient(circle at 24% 22%, rgba(255, 255, 255, 0.25), transparent 17%),
        radial-gradient(circle at 72% 28%, rgba(8, 236, 239, 0.30), transparent 21%),
        linear-gradient(145deg, #ff006b, #4c0f83 54%, #08ecef);
}

.noeva-video-card__media--mindset {
    background:
        radial-gradient(circle at 28% 18%, rgba(255, 255, 255, 0.22), transparent 18%),
        radial-gradient(circle at 74% 24%, rgba(250, 169, 64, 0.36), transparent 23%),
        linear-gradient(145deg, #d00bf4, #17001d 52%, #FAA940);
}

.noeva-video-card__media--career {
    background:
        radial-gradient(circle at 25% 18%, rgba(255, 255, 255, 0.22), transparent 17%),
        radial-gradient(circle at 77% 24%, rgba(12, 246, 12, 0.30), transparent 22%),
        linear-gradient(145deg, #08ecef, #0b001f 52%, #0cf60c);
}

.noeva-video-card__shine {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, transparent 10%, rgba(255, 255, 255, 0.18) 42%, transparent 58%),
        radial-gradient(circle at 50% 48%, rgba(255, 255, 255, 0.22), transparent 20%);
    opacity: 0.54;
    mix-blend-mode: screen;
}

.noeva-video-card__badge {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(5, 0, 19, 0.38);
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.noeva-video-card__play {
    position: absolute;
    z-index: 4;
    left: 50%;
    top: 50%;
    width: 76px;
    height: 76px;
    transform: translate(-50%, -50%);
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--noeva-pink);
    cursor: pointer;
    box-shadow:
        0 0 0 12px rgba(255, 255, 255, 0.11),
        0 0 34px rgba(255, 255, 255, 0.38),
        0 0 42px color-mix(in srgb, var(--card-main) 42%, transparent);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.noeva-video-card__play::before,
.noeva-video-card__play::after {
    content: "";
    position: absolute;
    inset: -12px;
    border-radius: inherit;
    border: 1px solid rgba(255, 255, 255, 0.34);
    animation: noevaPlayPulse 2.1s ease-out infinite;
}

.noeva-video-card__play::after {
    animation-delay: 0.7s;
}

.noeva-video-card__play span {
    position: absolute;
    left: 52%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-top: 13px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 19px solid currentColor;
}

.noeva-video-card__play:hover {
    transform: translate(-50%, -50%) scale(1.08);
    background: var(--noeva-white);
    box-shadow:
        0 0 0 14px rgba(255, 255, 255, 0.13),
        0 0 50px color-mix(in srgb, var(--card-second) 46%, transparent);
}

.noeva-video-card__content {
    position: relative;
    z-index: 2;
    padding: 8px 28px 28px;
}

.noeva-video-card__label {
    margin: 0 0 10px;
    color: color-mix(in srgb, var(--card-second) 75%, white);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.noeva-video-card__title {
    margin: 0;
    color: var(--noeva-white);
    font-family: var(--noeva-font-title);
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    line-height: 1.06;
    letter-spacing: -0.045em;
}

.noeva-video-card__text {
    margin: 16px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.92rem;
    line-height: 1.62;
}

.noeva-video-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.noeva-video-card__tags span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 11px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.72rem;
    font-weight: 800;
}

/* FlÃƒÂ¨ches */

.noeva-video-slider__arrow {
    position: absolute;
    top: 45%;
    z-index: 10;
    width: 58px;
    height: 58px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.20);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.04));
    color: var(--noeva-white);
    cursor: pointer;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow:
        0 16px 38px rgba(0, 0, 0, 0.34),
        0 0 28px rgba(8, 236, 239, 0.14);
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.noeva-video-slider__arrow span {
    display: block;
    transform: translateY(-2px);
    font-size: 2.55rem;
    line-height: 1;
}

.noeva-video-slider__arrow:hover {
    transform: translateY(-3px) scale(1.04);
    border-color: rgba(8, 236, 239, 0.56);
    box-shadow:
        0 20px 46px rgba(0, 0, 0, 0.42),
        0 0 34px rgba(8, 236, 239, 0.22);
}

.noeva-video-slider__arrow--prev {
    left: 0;
}

.noeva-video-slider__arrow--next {
    right: 0;
}

/* Dots */

.noeva-video-slider__dots {
    position: absolute;
    left: 50%;
    bottom: 12px;
    z-index: 11;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transform: translateX(-50%);
}

.noeva-video-slider__dots button {
    width: 11px;
    height: 11px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.28);
    cursor: pointer;
    transition:
        width 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}

.noeva-video-slider__dots button.is-active {
    width: 34px;
    background: linear-gradient(90deg, var(--noeva-pink), var(--noeva-cyan));
    box-shadow:
        0 0 16px rgba(255, 0, 107, 0.35),
        0 0 18px rgba(8, 236, 239, 0.30);
}

/* =========================================================
   MODAL VIDÃƒâ€°O
========================================================= */

.noeva-video-lightbox {
    position: fixed;
    inset: 0;
    z-index: 20000;
    display: grid;
    place-items: center;
    padding: 24px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.28s ease,
        visibility 0.28s ease;
}

.noeva-video-lightbox.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.noeva-video-lightbox__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background:
        radial-gradient(circle at 50% 30%, rgba(8, 236, 239, 0.18), transparent 30%),
        rgba(5, 0, 19, 0.82);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    cursor: pointer;
}

.noeva-video-lightbox__dialog {
    position: relative;
    z-index: 2;
    width: min(980px, 100%);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 30px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.045)),
        rgba(5, 0, 19, 0.76);
    box-shadow:
        0 32px 90px rgba(0, 0, 0, 0.62),
        0 0 55px rgba(255, 0, 107, 0.18),
        0 0 65px rgba(8, 236, 239, 0.16);
    overflow: hidden;
    transform: translateY(16px) scale(0.96);
    transition: transform 0.28s ease;
}

.noeva-video-lightbox.is-open .noeva-video-lightbox__dialog {
    transform: translateY(0) scale(1);
}

.noeva-video-lightbox__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px 14px 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.noeva-video-lightbox__header p {
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-weight: 900;
    letter-spacing: 0.03em;
}

.noeva-video-lightbox__close {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--noeva-white);
    font-size: 1.7rem;
    line-height: 1;
    cursor: pointer;
    transition:
        background 0.25s ease,
        transform 0.25s ease,
        border-color 0.25s ease;
}

.noeva-video-lightbox__close:hover {
    transform: rotate(90deg) scale(1.04);
    border-color: rgba(255, 0, 107, 0.55);
    background: rgba(255, 0, 107, 0.18);
}

.noeva-video-lightbox__frame {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #000;
}

.noeva-video-lightbox__frame iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 980px) {
    .noeva-video-slider {
        padding-inline: 46px;
    }

    .noeva-video-card.is-prev {
        transform: translate(calc(-50% - 270px), -50%) scale(0.72) rotateY(13deg);
    }

    .noeva-video-card.is-next {
        transform: translate(calc(-50% + 270px), -50%) scale(0.72) rotateY(-13deg);
    }
}

@media (max-width: 760px) {
    .noeva-presentation {
        padding: 96px 16px 112px;
    }

    .noeva-presentation__intro {
        margin-bottom: 34px;
        text-align: left;
    }

    .noeva-presentation__subtitle {
        margin-inline: 0;
    }

    .noeva-video-slider {
        min-height: 625px;
        padding: 0 0 82px;
    }

    .noeva-video-slider__stage {
        height: 560px;
    }

    .noeva-video-card {
        width: min(335px, 86vw);
        min-height: 520px;
    }

    .noeva-video-card__media {
        height: 265px;
        margin: 12px;
        border-radius: 26px;
    }

    .noeva-video-card__content {
        padding: 8px 22px 24px;
    }

    .noeva-video-card.is-prev {
        opacity: 0.28;
        transform: translate(calc(-50% - 210px), -50%) scale(0.65) rotateY(10deg);
    }

    .noeva-video-card.is-next {
        opacity: 0.28;
        transform: translate(calc(-50% + 210px), -50%) scale(0.65) rotateY(-10deg);
    }

    .noeva-video-slider__arrow {
        top: auto;
        bottom: 4px;
        width: 52px;
        height: 52px;
    }

    .noeva-video-slider__arrow--prev {
        left: calc(50% - 120px);
    }

    .noeva-video-slider__arrow--next {
        right: calc(50% - 120px);
    }

    .noeva-video-slider__dots {
        bottom: 20px;
    }

    .noeva-video-lightbox {
        padding: 14px;
    }

    .noeva-video-lightbox__dialog {
        border-radius: 22px;
    }

    .noeva-video-lightbox__header {
        padding: 13px 14px 12px 16px;
    }

    .noeva-video-lightbox__header p {
        font-size: 0.86rem;
    }
}

@media (max-width: 420px) {
    .noeva-video-card {
        width: min(314px, 88vw);
    }

    .noeva-video-card__title {
        font-size: 1.28rem;
    }

    .noeva-video-card__text {
        font-size: 0.86rem;
    }
}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes noevaPresentationHalo {
    0% {
        opacity: 0.72;
        transform: scaleX(0.96);
    }

    100% {
        opacity: 1;
        transform: scaleX(1.04);
    }
}

@keyframes noevaPresentationOrb {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    100% {
        transform: translate3d(18px, -22px, 0) scale(1.08);
    }
}

@keyframes noevaVideoShine {
    0%, 62% {
        opacity: 0;
        transform: translateX(-65%) rotate(18deg);
    }

    78% {
        opacity: 0.7;
    }

    100% {
        opacity: 0;
        transform: translateX(65%) rotate(18deg);
    }
}

@keyframes noevaPlayPulse {
    0% {
        opacity: 0.55;
        transform: scale(0.88);
    }

    100% {
        opacity: 0;
        transform: scale(1.42);
    }
}

@media (prefers-reduced-motion: reduce) {
    .noeva-presentation::before,
    .noeva-presentation__orb,
    .noeva-video-card.is-active::after,
    .noeva-video-card__play::before,
    .noeva-video-card__play::after {
        animation: none;
    }

    .noeva-video-card,
    .noeva-video-lightbox,
    .noeva-video-lightbox__dialog {
        transition: none;
    }
}
/* =========================================================
   CORRECTION Ã¢â‚¬â€ IMAGES RÃƒâ€°ELLES DANS LES CARTES VIDÃƒâ€°OS
   Les fichiers attendus sont :
   assets/img/acte_1.jpg
   assets/img/acte_2.jpg
   assets/img/acte_3.jpg
========================================================= */

.noeva-video-card__media {
    background: #080015;
    isolation: isolate;
}

.noeva-video-card__image {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.02);
    filter: saturate(1.08) contrast(1.06) brightness(0.86);
    transition:
        transform 0.55s ease,
        filter 0.55s ease;
}

.noeva-video-card.is-active .noeva-video-card__image {
    transform: scale(1.06);
    filter: saturate(1.16) contrast(1.08) brightness(0.96);
}

.noeva-video-card__media::before {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: auto;
    z-index: 1;
    clip-path: none;
    background:
        radial-gradient(circle at 22% 16%, rgba(255, 255, 255, 0.22), transparent 20%),
        radial-gradient(circle at 76% 20%, color-mix(in srgb, var(--card-second) 34%, transparent), transparent 28%),
        linear-gradient(180deg, rgba(5, 0, 19, 0.10), rgba(5, 0, 19, 0.26) 52%, rgba(5, 0, 19, 0.66));
    opacity: 1;
}

.noeva-video-card__media::after {
    z-index: 2;
    bottom: 13%;
    opacity: 0.62;
}

.noeva-video-card__shine {
    z-index: 2;
}

.noeva-video-card__badge {
    z-index: 3;
}

.noeva-video-card__play {
    z-index: 4;
}

/* =========================================================
   SECTION FORMATIONS BOOST / NOÃƒâ€°VA
   SÃƒÂ©lecteur image 50% / 25% / 25%
   Fond : assets/img/bg_formation.png
========================================================= */

.boost-formations {
    position: relative;
    overflow: hidden;
    padding: 128px 20px 145px;
    color: var(--noeva-white, #ffffff);
    background:
        linear-gradient(180deg, rgba(5, 0, 19, 0.16), rgba(5, 0, 19, 0.90)),
        radial-gradient(circle at 16% 12%, rgba(255, 0, 107, 0.28), transparent 30%),
        radial-gradient(circle at 86% 22%, rgba(8, 236, 239, 0.25), transparent 34%),
        url("../img/bg_formation.png") center / cover no-repeat,
        linear-gradient(135deg, #050013 0%, #120828 48%, #0b001f 100%);
    isolation: isolate;
}

.boost-formations::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -4;
    background:
        linear-gradient(115deg, transparent 0 18%, rgba(255, 255, 255, 0.075) 29%, transparent 42%),
        linear-gradient(145deg, rgba(255, 0, 107, 0.10), transparent 36%, rgba(8, 236, 239, 0.12) 74%, transparent);
    opacity: 0.94;
    pointer-events: none;
}

.boost-formations::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        radial-gradient(circle, rgba(255, 255, 255, 0.35) 0 1px, transparent 2px);
    background-size: 64px 64px, 64px 64px, 118px 118px;
    opacity: 0.33;
    mask-image: linear-gradient(to bottom, black 0%, black 75%, transparent 100%);
    pointer-events: none;
}

/* FX */

.boost-formations__fx {
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
}

.boost-formations__orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(64px);
    opacity: 0.72;
    animation: boostFormationOrb 9s ease-in-out infinite alternate;
}

.boost-formations__orb--pink {
    width: 430px;
    height: 430px;
    left: -180px;
    top: 10%;
    background: rgba(255, 0, 107, 0.42);
}

.boost-formations__orb--blue {
    width: 480px;
    height: 480px;
    right: -190px;
    top: 20%;
    background: rgba(8, 236, 239, 0.34);
    animation-delay: -2.5s;
}

.boost-formations__orb--purple {
    width: 620px;
    height: 620px;
    left: 50%;
    bottom: -330px;
    transform: translateX(-50%);
    background: rgba(208, 11, 244, 0.24);
    animation-delay: -4s;
}

.boost-formations__spark {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--noeva-cyan, #08ecef);
    box-shadow: 0 0 18px var(--noeva-cyan, #08ecef);
    animation: boostFormationSpark 7s ease-in-out infinite;
}

.boost-formations__spark--1 {
    top: 18%;
    left: 13%;
}

.boost-formations__spark--2 {
    top: 25%;
    right: 14%;
    background: var(--noeva-pink, #FF006B);
    box-shadow: 0 0 18px var(--noeva-pink, #FF006B);
    animation-delay: -2s;
}

.boost-formations__spark--3 {
    bottom: 18%;
    left: 23%;
    animation-delay: -4s;
}

/* Structure */

.boost-formations__container {
    position: relative;
    z-index: 2;
    width: min(1180px, 100%);
    margin: 0 auto;
}

.boost-formations__header {
    max-width: 920px;
    margin: 0 auto 44px;
    text-align: center;
}

.boost-formations__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 40px;
    padding: 9px 18px;
    margin-bottom: 20px;
    border-radius: 999px;
    border: 1px solid rgba(8, 236, 239, 0.35);
    background: rgba(255, 255, 255, 0.075);
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow:
        0 0 24px rgba(8, 236, 239, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.boost-formations__eyebrow span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--noeva-green, #0cf60c);
    box-shadow: 0 0 16px var(--noeva-green, #0cf60c);
}

.boost-formations__title {
    margin: 0;
    color: #fff;
    font-family: var(--noeva-font-title, "Montserrat", sans-serif);
    font-size: clamp(2.7rem, 5.35vw, 5.85rem);
    line-height: 0.94;
    letter-spacing: -0.075em;
    text-transform: uppercase;
    text-shadow:
        0 0 28px rgba(255, 255, 255, 0.11),
        0 20px 48px rgba(0, 0, 0, 0.38);
}

.boost-formations__title strong {
    display: block;
    margin-top: 12px;
    font-size: clamp(1.7rem, 3.45vw, 3.7rem);
    line-height: 0.98;
    letter-spacing: -0.06em;
    background: linear-gradient(90deg, var(--noeva-pink, #FF006B), var(--noeva-purple, #d00bf4), var(--noeva-cyan, #08ecef));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 0 18px rgba(255, 0, 107, 0.24));
}

.boost-formations__subtitle {
    max-width: 790px;
    margin: 26px auto 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(0.98rem, 1.25vw, 1.12rem);
    line-height: 1.85;
}

/* =========================================================
   SÃƒâ€°LECTEUR 3 IMAGES
   Active = moitiÃƒÂ©, autres = quart/quart
========================================================= */

.boost-formations__selector {
    position: relative;
    display: flex;
    gap: 18px;
    width: 100%;
    min-height: 360px;
    margin: 0 auto 34px;
    padding: 18px;
    border-radius: 38px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 0, 107, 0.16), transparent 30%),
        radial-gradient(circle at 88% 0%, rgba(8, 236, 239, 0.14), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035)),
        rgba(5, 0, 19, 0.42);
    box-shadow:
        0 34px 90px rgba(0, 0, 0, 0.44),
        0 0 50px rgba(8, 236, 239, 0.12),
        0 0 70px rgba(255, 0, 107, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

.boost-formation-choice {
    --choice-img: none;

    position: relative;
    flex: 1 1 0;
    min-width: 0;
    min-height: 324px;
    display: flex;
    align-items: flex-end;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 30px;
    overflow: hidden;
    isolation: isolate;
    cursor: pointer;
    text-align: left;
    color: #fff;
    background:
        linear-gradient(180deg, rgba(5, 0, 19, 0.04), rgba(5, 0, 19, 0.82)),
        var(--choice-img),
        radial-gradient(circle at 30% 18%, rgba(255, 0, 107, 0.40), transparent 28%),
        radial-gradient(circle at 82% 12%, rgba(8, 236, 239, 0.28), transparent 34%),
        linear-gradient(135deg, #120828, #0b001f);
    background-size: cover, cover, cover, cover, cover;
    background-position: center;
    box-shadow:
        0 22px 54px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
    transform: translateY(0);
    transition:
        flex 0.55s cubic-bezier(.2, .8, .2, 1),
        transform 0.32s ease,
        border-color 0.32s ease,
        box-shadow 0.32s ease,
        filter 0.32s ease;
}

.boost-formation-choice.is-active {
    flex: 2 1 0;
    border-color: rgba(8, 236, 239, 0.50);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.48),
        0 0 38px rgba(8, 236, 239, 0.24),
        0 0 42px rgba(255, 0, 107, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.boost-formation-choice:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 255, 255, 0.28);
    filter: saturate(1.08);
}

.boost-formation-choice::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at var(--mx, 50%) var(--my, 35%), rgba(255, 255, 255, 0.23), transparent 22%),
        linear-gradient(180deg, rgba(5, 0, 19, 0.02), rgba(5, 0, 19, 0.72));
    opacity: 0.9;
    transition: opacity 0.32s ease;
}

.boost-formation-choice::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(120deg, transparent 0 26%, rgba(255, 255, 255, 0.16) 42%, transparent 58%);
    transform: translateX(-120%);
    transition: transform 0.75s ease;
    pointer-events: none;
}

.boost-formation-choice:hover::after,
.boost-formation-choice.is-active::after {
    transform: translateX(120%);
}

.boost-formation-choice__number {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 2;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(5, 0, 19, 0.52);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: var(--noeva-cyan, #08ecef);
    font-size: 0.82rem;
    font-weight: 900;
    box-shadow: 0 0 18px rgba(8, 236, 239, 0.15);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.boost-formation-choice__content {
    position: relative;
    z-index: 2;
    width: 100%;
    display: block;
    padding: 18px;
    border-radius: 22px;
    background: rgba(5, 0, 19, 0.62);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.boost-formation-choice__content small {
    display: block;
    margin-bottom: 8px;
    color: var(--noeva-cyan, #08ecef);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.boost-formation-choice__content strong {
    display: block;
    color: #fff;
    font-family: var(--noeva-font-title, "Montserrat", sans-serif);
    font-size: clamp(1.3rem, 2vw, 2.1rem);
    line-height: 1.05;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.boost-formation-choice__content em {
    display: block;
    max-width: 420px;
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.66);
    font-style: normal;
    font-size: 0.86rem;
    line-height: 1.48;
}

.boost-formation-choice:not(.is-active) .boost-formation-choice__content {
    padding: 15px;
}

.boost-formation-choice:not(.is-active) .boost-formation-choice__content strong {
    font-size: clamp(1.05rem, 1.4vw, 1.35rem);
}

.boost-formation-choice:not(.is-active) .boost-formation-choice__content em {
    display: none;
}

/* =========================================================
   FIX FORMATIONS Ã¢â‚¬â€ VERSION SIMPLE AVEC BALISES IMG
   Les images sont maintenant chargÃƒÂ©es via <img src="assets/img/...">
========================================================= */

/* On neutralise les anciens backgrounds image variables */
.boost-formation-choice {
    background:
        radial-gradient(circle at 30% 18%, rgba(255, 0, 107, 0.28), transparent 30%),
        radial-gradient(circle at 82% 12%, rgba(8, 236, 239, 0.22), transparent 34%),
        linear-gradient(135deg, #120828, #0b001f) !important;
}

.boost-formation-panel__media {
    background:
        radial-gradient(circle at 30% 18%, rgba(255, 0, 107, 0.28), transparent 30%),
        radial-gradient(circle at 82% 12%, rgba(8, 236, 239, 0.22), transparent 34%),
        linear-gradient(135deg, #120828, #0b001f) !important;
}

/* Image dans les 3 cartes du sÃƒÂ©lecteur */
.boost-formation-choice__image {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    opacity: 0.92;
    transform: scale(1.02);
    filter: saturate(1.12) contrast(1.08) brightness(0.78);
    transition:
        transform 0.55s ease,
        filter 0.55s ease,
        opacity 0.55s ease;
}

/* Voile sombre par-dessus lÃ¢â‚¬â„¢image pour garder le texte lisible */
.boost-formation-choice::before {
    z-index: 1 !important;
    background:
        radial-gradient(circle at var(--mx, 50%) var(--my, 35%), rgba(255, 255, 255, 0.20), transparent 22%),
        linear-gradient(180deg, rgba(5, 0, 19, 0.05), rgba(5, 0, 19, 0.78)) !important;
}

/* Effet shine toujours au-dessus */
.boost-formation-choice::after {
    z-index: 2 !important;
}

/* Tous les contenus doivent passer au-dessus de lÃ¢â‚¬â„¢image */
.boost-formation-choice__number,
.boost-formation-choice__content {
    position: relative;
    z-index: 3;
}

.boost-formation-choice:hover .boost-formation-choice__image,
.boost-formation-choice.is-active .boost-formation-choice__image {
    opacity: 1;
    transform: scale(1.08);
    filter: saturate(1.22) contrast(1.1) brightness(0.92);
}

/* Grande image dans le dÃƒÂ©tail Ãƒ  gauche */
.boost-formation-panel__image {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    opacity: 0.95;
    transform: scale(1.02);
    filter: saturate(1.12) contrast(1.08) brightness(0.82);
}

/* Voile sur la grande image */
.boost-formation-panel__media::before {
    z-index: 1;
    background:
        radial-gradient(circle at 26% 16%, rgba(255, 255, 255, 0.20), transparent 22%),
        linear-gradient(180deg, rgba(5, 0, 19, 0.03), rgba(5, 0, 19, 0.72));
}

/* Badge + texte de la grande image au-dessus */
.boost-formation-panel__badge,
.boost-formation-panel__media figcaption {
    position: absolute;
    z-index: 2;
}

/* Petite sÃƒÂ©curitÃƒÂ© globale */
.boost-formation-choice img,
.boost-formation-panel__media img {
    max-width: none;
}

/* =========================================================
   PATCH URGENT FORMATIONS Ã¢â‚¬â€ CORRECTION IMAGE GÃƒâ€°ANTE + 2 COLONNES
   Ãƒâ‚¬ COLLER TOUT EN BAS DE main.css
========================================================= */

/* SÃƒÂ©curitÃƒÂ© : les panneaux cachÃƒÂ©s restent vraiment cachÃƒÂ©s */
.boost-formation-panel[hidden] {
    display: none !important;
}

/* Conteneur du dÃƒÂ©tail */
.boost-formations__display {
    position: relative;
    z-index: 3;
    width: 100%;
}

/* Panneau formation : structure propre en 2 colonnes */
.boost-formation-panel {
    display: none;
    grid-template-columns: minmax(340px, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(24px, 4vw, 54px);
    align-items: stretch;
    padding: clamp(18px, 3vw, 34px);
    border-radius: 38px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background:
        radial-gradient(circle at 10% 0%, rgba(255, 0, 107, 0.14), transparent 28%),
        radial-gradient(circle at 92% 4%, rgba(8, 236, 239, 0.13), transparent 32%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035)),
        rgba(5, 0, 19, 0.48);
    box-shadow:
        0 34px 95px rgba(0, 0, 0, 0.48),
        0 0 50px rgba(8, 236, 239, 0.12),
        0 0 70px rgba(255, 0, 107, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    overflow: hidden;
}

.boost-formation-panel.is-active {
    display: grid !important;
    animation: boostFormationPanelReveal 0.5s ease both;
}

/* Le parent de l'image doit ÃƒÂªtre une vraie cage */
.boost-formation-panel__media {
    position: relative !important;
    min-height: 560px;
    margin: 0;
    border-radius: 30px;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background:
        radial-gradient(circle at 30% 18%, rgba(255, 0, 107, 0.28), transparent 30%),
        radial-gradient(circle at 82% 12%, rgba(8, 236, 239, 0.22), transparent 34%),
        linear-gradient(135deg, #120828, #0b001f) !important;
    box-shadow:
        0 28px 70px rgba(0, 0, 0, 0.42),
        0 0 38px rgba(8, 236, 239, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

/* La vraie image reste enfermÃƒÂ©e dans son figure */
.boost-formation-panel__image {
    position: absolute !important;
    inset: 0;
    z-index: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    display: block;
    object-fit: cover;
    object-position: center;
    opacity: 0.95;
    transform: scale(1.02);
    filter: saturate(1.12) contrast(1.08) brightness(0.82);
}

/* Voile sombre par-dessus l'image */
.boost-formation-panel__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1 !important;
    background:
        radial-gradient(circle at 26% 16%, rgba(255, 255, 255, 0.20), transparent 22%),
        linear-gradient(180deg, rgba(5, 0, 19, 0.03), rgba(5, 0, 19, 0.72));
    pointer-events: none;
}

/* Badge en haut Ãƒ  gauche */
.boost-formation-panel__badge {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 3 !important;
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(5, 0, 19, 0.58);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: var(--noeva-cyan, #08ecef);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

/* Texte dans l'image */
.boost-formation-panel__media figcaption {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 22px;
    z-index: 3 !important;
    padding: 20px;
    border-radius: 24px;
    background: rgba(5, 0, 19, 0.64);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.boost-formation-panel__media figcaption small {
    display: block;
    margin-bottom: 8px;
    color: var(--noeva-pink, #FF006B);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.boost-formation-panel__media figcaption strong {
    display: block;
    color: #fff;
    font-family: var(--noeva-font-title, "Montserrat", sans-serif);
    font-size: clamp(1.35rem, 2.25vw, 2.2rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

/* Colonne texte Ãƒ  droite */
.boost-formation-panel__content {
    position: relative;
    z-index: 4;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.boost-formation-panel__kicker {
    margin: 0 0 12px;
    color: var(--noeva-cyan, #08ecef);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.boost-formation-panel__content h3 {
    margin: 0;
    color: #fff;
    font-family: var(--noeva-font-title, "Montserrat", sans-serif);
    font-size: clamp(2rem, 3.45vw, 4.05rem);
    line-height: 0.98;
    letter-spacing: -0.065em;
    text-transform: uppercase;
}

.boost-formation-panel__content > p {
    max-width: 650px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 1rem;
    line-height: 1.78;
}

/* Points / bÃƒÂ©nÃƒÂ©fices */
.boost-formation-panel__points {
    display: grid;
    gap: 12px;
    margin-top: 28px;
}

.boost-formation-panel__points div {
    position: relative;
    padding: 16px 18px 16px 62px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0.035)),
        rgba(255, 255, 255, 0.035);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
}

.boost-formation-panel__points span {
    position: absolute;
    left: 18px;
    top: 17px;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #050013;
    font-size: 0.72rem;
    font-weight: 950;
    background: linear-gradient(135deg, var(--noeva-pink, #FF006B), var(--noeva-cyan, #08ecef));
    box-shadow:
        0 0 18px rgba(8, 236, 239, 0.18),
        0 0 18px rgba(255, 0, 107, 0.16);
}

.boost-formation-panel__points strong {
    display: block;
    color: #fff;
    font-size: 0.98rem;
    line-height: 1.25;
}

.boost-formation-panel__points p {
    margin: 6px 0 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.88rem;
    line-height: 1.5;
}

/* Footer */
.boost-formation-panel__footer {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin-top: 32px;
}

.boost-formation-panel__cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 58px;
    padding: 0 25px;
    border-radius: 999px;
    color: #fff;
    font-weight: 950;
    text-decoration: none;
    background: linear-gradient(135deg, var(--noeva-pink, #FF006B), var(--noeva-purple, #d00bf4), var(--noeva-cyan, #08ecef));
    box-shadow:
        0 18px 42px rgba(255, 0, 107, 0.24),
        0 0 34px rgba(8, 236, 239, 0.18);
    overflow: hidden;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease;
}

.boost-formation-panel__cta:hover {
    transform: translateY(-3px);
    box-shadow:
        0 24px 54px rgba(255, 0, 107, 0.28),
        0 0 44px rgba(8, 236, 239, 0.22);
}

.boost-formation-panel__footer p {
    margin: 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.92rem;
    line-height: 1.55;
}

/* SÃƒÂ©lecteur image : sÃƒÂ©curitÃƒÂ© si tu utilises bien les <img> */
.boost-formation-choice {
    position: relative;
    overflow: hidden;
}

.boost-formation-choice__image {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    display: block;
    object-fit: cover;
    object-position: center;
    opacity: 0.92;
    transform: scale(1.02);
    filter: saturate(1.12) contrast(1.08) brightness(0.78);
    transition:
        transform 0.55s ease,
        filter 0.55s ease,
        opacity 0.55s ease;
}

.boost-formation-choice::before {
    z-index: 1 !important;
}

.boost-formation-choice::after {
    z-index: 2 !important;
}

.boost-formation-choice__number,
.boost-formation-choice__content {
    position: relative;
    z-index: 3;
}

.boost-formation-choice:hover .boost-formation-choice__image,
.boost-formation-choice.is-active .boost-formation-choice__image {
    opacity: 1;
    transform: scale(1.08);
    filter: saturate(1.22) contrast(1.1) brightness(0.92);
}

/* Animation */
@keyframes boostFormationPanelReveal {
    from {
        opacity: 0;
        transform: translateY(18px) scale(0.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Responsive */
@media (max-width: 1040px) {
    .boost-formation-panel,
    .boost-formation-panel.is-active {
        grid-template-columns: 1fr;
    }

    .boost-formation-panel__media {
        min-height: 430px;
    }
}

@media (max-width: 700px) {
    .boost-formation-panel {
        padding: 14px;
        border-radius: 26px;
    }

    .boost-formation-panel__media {
        min-height: 360px;
        border-radius: 22px;
    }

    .boost-formation-panel__media figcaption {
        left: 14px;
        right: 14px;
        bottom: 14px;
        padding: 16px;
        border-radius: 18px;
    }

    .boost-formation-panel__content h3 {
        font-size: clamp(1.85rem, 10vw, 3rem);
    }

    .boost-formation-panel__content > p {
        font-size: 0.92rem;
    }

    .boost-formation-panel__points div {
        padding: 15px 15px 15px 55px;
    }

    .boost-formation-panel__footer {
        grid-template-columns: 1fr;
    }

    .boost-formation-panel__cta {
        width: 100%;
    }
}

/* =========================================================
   SECTION ACCOMPAGNEMENT Ã¢â‚¬â€ VERSION NETTOYÃƒâ€°E
   HTML attendu :
   - .noeva-accompagnement
   - .noeva-accompagnement__background
   - .noeva-accompagnement__container
   - .noeva-accompagnement__header
   - .noeva-accompagnement__cards
   - .noeva-accompagnement__scene > img
   Image dÃƒÂ©corative : assets/img/accompagnement.png
========================================================= */

.noeva-accompagnement {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: clamp(84px, 8vw, 128px) 20px 0;
    color: var(--noeva-white);
    background:
        radial-gradient(circle at 16% 10%, rgba(208, 11, 244, 0.30), transparent 34%),
        radial-gradient(circle at 82% 16%, rgba(8, 236, 239, 0.24), transparent 31%),
        radial-gradient(circle at 50% 100%, rgba(255, 0, 107, 0.18), transparent 38%),
        linear-gradient(135deg, #050013 0%, #0b001f 42%, #130020 100%);
}

.noeva-accompagnement::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background:
        linear-gradient(
            to bottom,
            rgba(5, 0, 19, 0.12) 0%,
            rgba(5, 0, 19, 0.28) 35%,
            rgba(5, 0, 19, 0.78) 100%
        ),
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.055), transparent 42%);
    pointer-events: none;
}

.noeva-accompagnement::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 0;
    z-index: 6;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--noeva-purple), var(--noeva-cyan), transparent);
    opacity: 0.75;
    pointer-events: none;
}

/* =========================================================
   FOND FX Ã¢â‚¬â€ SANS IMAGE DE FOND
   L'image est maintenant une vraie balise <img>,
   sinon background-size: cover la coupe comme un boucher du dimanche.
========================================================= */

.noeva-accompagnement__background,
.noeva-accompagnement__grid,
.noeva-accompagnement__orb,
.noeva-accompagnement__particles {
    position: absolute;
    pointer-events: none;
}

.noeva-accompagnement__background {
    inset: 0;
    z-index: -2;
    overflow: hidden;
}

.noeva-accompagnement__background::before,
.noeva-accompagnement__background::after {
    content: none !important;
    display: none !important;
}

.noeva-accompagnement__grid {
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(circle at center, black 0%, transparent 78%);
    opacity: 0.30;
}

.noeva-accompagnement__orb {
    border-radius: 999px;
    filter: blur(42px);
    opacity: 0.78;
    animation: noevaAccompagnementOrb 9s ease-in-out infinite alternate;
}

.noeva-accompagnement__orb--purple {
    width: 360px;
    height: 360px;
    left: -120px;
    top: 18%;
    background: radial-gradient(circle, rgba(208, 11, 244, 0.46), transparent 68%);
}

.noeva-accompagnement__orb--blue {
    width: 420px;
    height: 420px;
    right: -130px;
    top: 12%;
    background: radial-gradient(circle, rgba(8, 236, 239, 0.34), transparent 70%);
    animation-delay: -3s;
}

.noeva-accompagnement__orb--pink {
    width: 300px;
    height: 300px;
    left: 38%;
    bottom: -120px;
    background: radial-gradient(circle, rgba(255, 0, 107, 0.32), transparent 72%);
    animation-delay: -5s;
}

.noeva-accompagnement__particles {
    inset: 0;
    overflow: hidden;
}

.noeva-accompagnement__particles span {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: var(--noeva-cyan);
    box-shadow: 0 0 16px var(--noeva-cyan);
    opacity: 0;
    animation: noevaAccompagnementParticle 8s linear infinite;
}

/* =========================================================
   STRUCTURE
========================================================= */

.noeva-accompagnement__container {
    position: relative;
    z-index: 2;
    width: min(1180px, 100%);
    margin: 0 auto;
}

.noeva-accompagnement__header {
    position: relative;
    z-index: 5;
    max-width: 920px;
    margin: 0 auto clamp(42px, 5vw, 66px);
    text-align: center;
}

.noeva-accompagnement__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
    padding: 10px 18px;
    border-radius: 999px;
    border: 1px solid rgba(8, 236, 239, 0.36);
    background:
        linear-gradient(135deg, rgba(208, 11, 244, 0.14), rgba(8, 236, 239, 0.10)),
        rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    box-shadow:
        0 0 28px rgba(208, 11, 244, 0.18),
        0 0 26px rgba(8, 236, 239, 0.12);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.noeva-accompagnement__badge-icon {
    color: var(--noeva-cyan);
    text-shadow: 0 0 14px var(--noeva-cyan);
}

.noeva-accompagnement__title {
    margin: 0;
    color: rgba(255, 255, 255, 0.96);
    font-family: var(--noeva-font-title);
    font-size: clamp(2.25rem, 5vw, 5.1rem);
    line-height: 0.98;
    letter-spacing: -0.065em;
    text-transform: uppercase;
    text-shadow: 0 0 34px rgba(255, 255, 255, 0.10);
}

.noeva-accompagnement__title span {
    display: block;
    background: linear-gradient(90deg, #ffffff, var(--noeva-purple), var(--noeva-cyan));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.noeva-accompagnement__intro {
    max-width: 760px;
    margin: 24px auto 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(1rem, 1.25vw, 1.16rem);
    line-height: 1.82;
}

/* =========================================================
   CARDS
========================================================= */

.noeva-accompagnement__cards {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(22px, 3vw, 34px);

    /*
       Important : zÃƒÂ©ro marge basse.
       L'image dÃƒÂ©marre juste aprÃƒÂ¨s les cards.
    */
    margin-bottom: 0;
}

.noeva-accompagnement-card {
    --card-accent: var(--noeva-purple);
    --card-accent-soft: rgba(208, 11, 244, 0.18);

    position: relative;
    z-index: 5;
    min-height: 355px;
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 28px;
    align-items: center;
    padding: clamp(26px, 3vw, 38px);
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--card-accent), transparent 54%);
    background:
        radial-gradient(circle at 18% 28%, var(--card-accent-soft), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.135), rgba(255, 255, 255, 0.045)),
        rgba(5, 0, 19, 0.54);
    box-shadow:
        0 24px 70px rgba(0, 0, 0, 0.38),
        0 0 44px var(--card-accent-soft),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    transform:
        perspective(1000px)
        rotateX(var(--tilt-x, 0deg))
        rotateY(var(--tilt-y, 0deg))
        translateY(0);
    transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}

.noeva-accompagnement-card--coaching {
    --card-accent: var(--noeva-cyan);
    --card-accent-soft: rgba(8, 236, 239, 0.16);
}

.noeva-accompagnement-card:hover {
    transform:
        perspective(1000px)
        rotateX(var(--tilt-x, 0deg))
        rotateY(var(--tilt-y, 0deg))
        translateY(-6px);
    border-color: color-mix(in srgb, var(--card-accent), transparent 26%);
    box-shadow:
        0 30px 86px rgba(0, 0, 0, 0.46),
        0 0 58px var(--card-accent-soft),
        inset 0 1px 0 rgba(255, 255, 255, 0.19);
}

.noeva-accompagnement-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, transparent 10%, rgba(255, 255, 255, 0.12), transparent 32%),
        radial-gradient(circle at 85% 12%, rgba(255, 255, 255, 0.10), transparent 28%);
    opacity: 0;
    transform: translateX(-18%);
    transition: opacity 0.32s ease, transform 0.45s ease;
    pointer-events: none;
}

.noeva-accompagnement-card:hover::before {
    opacity: 1;
    transform: translateX(0);
}

.noeva-accompagnement-card__shine {
    position: absolute;
    inset: auto 24px 24px auto;
    width: 80px;
    height: 80px;
    border-radius: 999px;
    background: radial-gradient(circle, var(--card-accent), transparent 68%);
    filter: blur(28px);
    opacity: 0.34;
    pointer-events: none;
}

.noeva-accompagnement-card__icon {
    position: relative;
    width: 138px;
    height: 138px;
    display: grid;
    place-items: center;
    color: var(--card-accent);
    border-radius: 50%;
    background:
        radial-gradient(circle, var(--card-accent-soft), transparent 65%),
        rgba(255, 255, 255, 0.045);
    box-shadow:
        0 0 42px var(--card-accent-soft),
        inset 0 0 30px rgba(255, 255, 255, 0.06);
}

.noeva-accompagnement-card__icon::before {
    content: "";
    position: absolute;
    inset: -12px;
    border-radius: inherit;
    border: 1px solid color-mix(in srgb, var(--card-accent), transparent 45%);
    box-shadow: 0 0 28px var(--card-accent-soft);
    animation: noevaAccompagnementPulse 2.8s ease-in-out infinite;
}

.noeva-accompagnement-card__icon svg {
    width: 92px;
    height: 92px;
    filter: drop-shadow(0 0 16px var(--card-accent));
}

.noeva-accompagnement-card__kicker {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--card-accent);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.noeva-accompagnement-card h3 {
    margin: 0 0 14px;
    font-family: var(--noeva-font-title);
    font-size: clamp(1.7rem, 2.4vw, 2.45rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.noeva-accompagnement-card h3 span {
    display: block;
    color: var(--card-accent);
    text-shadow: 0 0 20px var(--card-accent-soft);
}

.noeva-accompagnement-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.98rem;
    line-height: 1.65;
}

.noeva-accompagnement-card__list {
    display: grid;
    gap: 9px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.noeva-accompagnement-card__list li {
    position: relative;
    padding-left: 24px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.9rem;
    line-height: 1.45;
}

.noeva-accompagnement-card__list li::before {
    content: "\2726";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--card-accent);
    text-shadow: 0 0 12px var(--card-accent);
}

/* =========================================================
   IMAGE DÃƒâ€°CORATIVE ENTIÃƒË†RE
   L'image /assets/img/accompagnement.png fait 1080x1164.
   Sa zone transparente commence en haut et mesure environ 540px,
   soit 50% de sa largeur. On retire donc 50vw quand l'image vaut 100vw.
========================================================= */

.noeva-accompagnement__scene {
    --scene-width: 100vw;
    --scene-transparent-top: 50vw;

    position: relative;
    z-index: 1;
    width: var(--scene-width);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);

    /*
       On remonte exactement la zone transparente.
       RÃƒÂ©sultat : la partie visible arrive pile sous les 2 cards.
    */
    margin-top: calc(-1 * var(--scene-transparent-top));
    margin-bottom: 0;
    padding: 0;
    line-height: 0;
    pointer-events: none;
}

.noeva-accompagnement__scene-img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    opacity: 0.88;
    filter: saturate(1.12) contrast(1.06) brightness(0.82);
}

.noeva-accompagnement__scene::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(
            to bottom,
            rgba(5, 0, 19, 0) 0%,
            rgba(5, 0, 19, 0.06) 30%,
            rgba(5, 0, 19, 0.42) 78%,
            rgba(5, 0, 19, 0.78) 100%
        ),
        radial-gradient(circle at 24% 40%, rgba(208, 11, 244, 0.16), transparent 34%),
        radial-gradient(circle at 78% 46%, rgba(8, 236, 239, 0.14), transparent 36%);
}

/* =========================================================
   REVEAL JS
========================================================= */

[data-accompagnement-reveal] {
    opacity: 0;
    transform: translateY(34px);
    transition:
        opacity 0.75s ease,
        transform 0.75s ease;
}

[data-accompagnement-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

.noeva-accompagnement__cards [data-accompagnement-reveal]:nth-child(2) {
    transition-delay: 0.12s;
}

/* =========================================================
   ANIMATIONS ACCOMPAGNEMENT
========================================================= */

@keyframes noevaAccompagnementOrb {
    from {
        transform: translate3d(0, 0, 0) scale(1);
    }

    to {
        transform: translate3d(26px, -24px, 0) scale(1.08);
    }
}

@keyframes noevaAccompagnementParticle {
    from {
        transform: translateY(28px) scale(0.8);
        opacity: 0;
    }

    18% {
        opacity: 0.85;
    }

    to {
        transform: translateY(-120px) scale(1.15);
        opacity: 0;
    }
}

@keyframes noevaAccompagnementPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.65;
    }

    50% {
        transform: scale(1.08);
        opacity: 0.95;
    }
}

/* =========================================================
   RESPONSIVE ACCOMPAGNEMENT
========================================================= */

@media (max-width: 1100px) {
    .noeva-accompagnement__cards {
        grid-template-columns: 1fr;
    }

    .noeva-accompagnement-card {
        min-height: auto;
    }
}

@media (max-width: 760px) {
    .noeva-accompagnement {
        padding: 76px 16px 0;
    }

    .noeva-accompagnement__title {
        letter-spacing: -0.045em;
    }

    .noeva-accompagnement-card {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 24px;
        border-radius: 28px;
    }

    .noeva-accompagnement-card__icon {
        width: 118px;
        height: 118px;
    }

    .noeva-accompagnement-card__icon svg {
        width: 78px;
        height: 78px;
    }

    .noeva-accompagnement__scene {
        /*
           Image affichÃƒÂ©e Ãƒ  140vw sur mobile.
           Zone transparente = 50% de 140vw = 70vw.
        */
        --scene-width: 140vw;
        --scene-transparent-top: 70vw;
        margin-left: calc(50% - (var(--scene-width) / 2));
        margin-right: calc(50% - (var(--scene-width) / 2));
    }

    .noeva-accompagnement__scene-img {
        opacity: 0.82;
    }
}

@media (max-width: 480px) {
    .noeva-accompagnement__badge {
        font-size: 0.68rem;
        letter-spacing: 0.11em;
    }

    .noeva-accompagnement__intro {
        font-size: 0.95rem;
    }

    .noeva-accompagnement__scene {
        /*
           Image affichÃƒÂ©e Ãƒ  165vw sur trÃƒÂ¨s petit ÃƒÂ©cran.
           Zone transparente = 50% de 165vw = 82.5vw.
        */
        --scene-width: 165vw;
        --scene-transparent-top: 82.5vw;
    }
}

@media (prefers-reduced-motion: reduce) {
    .noeva-accompagnement__orb,
    .noeva-accompagnement__particles span,
    .noeva-accompagnement-card__icon::before {
        animation: none;
    }

    [data-accompagnement-reveal] {
        transition: none;
    }
}

/* =========================================================
   SECTION CONTACT / VOYAGE DE 90 JOURS
========================================================= */

.noeva-contact {
    position: relative;
    overflow: hidden;
    padding: 132px 20px 138px;
    color: var(--noeva-white);
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 0, 107, 0.20), transparent 31%),
        radial-gradient(circle at 82% 24%, rgba(8, 236, 239, 0.20), transparent 32%),
        radial-gradient(circle at 52% 92%, rgba(208, 11, 244, 0.28), transparent 38%),
        linear-gradient(145deg, #050013 0%, #0b001f 42%, #16012d 100%);
    isolation: isolate;
}

.noeva-contact::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.96), transparent 88%);
    opacity: 0.38;
    pointer-events: none;
    z-index: 0;
}

.noeva-contact::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--noeva-pink), var(--noeva-cyan), transparent);
    box-shadow:
        0 0 28px rgba(255, 0, 107, 0.45),
        0 0 42px rgba(8, 236, 239, 0.30);
    opacity: 0.85;
    z-index: 2;
}

.noeva-contact__background {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.noeva-contact__orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(58px);
    opacity: 0.72;
    animation: noevaContactOrb 9s ease-in-out infinite alternate;
}

.noeva-contact__orb--pink {
    width: 360px;
    height: 360px;
    left: -135px;
    top: 18%;
    background: rgba(255, 0, 107, 0.38);
}

.noeva-contact__orb--cyan {
    width: 420px;
    height: 420px;
    right: -155px;
    top: 8%;
    background: rgba(8, 236, 239, 0.28);
    animation-delay: -2.8s;
}

.noeva-contact__orb--purple {
    width: 520px;
    height: 520px;
    left: 45%;
    bottom: -290px;
    background: rgba(208, 11, 244, 0.26);
    animation-delay: -5s;
}

.noeva-contact__star {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: var(--noeva-cyan);
    box-shadow: 0 0 18px var(--noeva-cyan);
    opacity: 0;
    animation: noevaContactStar 7.5s linear infinite;
}

.noeva-contact__star:nth-child(4) {
    left: 8%;
    top: 82%;
    animation-delay: -1s;
}

.noeva-contact__star:nth-child(5) {
    left: 18%;
    top: 24%;
    background: var(--noeva-pink);
    box-shadow: 0 0 18px var(--noeva-pink);
    animation-delay: -3s;
}

.noeva-contact__star:nth-child(6) {
    left: 34%;
    top: 72%;
    animation-delay: -4.7s;
}

.noeva-contact__star:nth-child(7) {
    left: 48%;
    top: 18%;
    background: var(--noeva-orange);
    box-shadow: 0 0 18px var(--noeva-orange);
    animation-delay: -2.1s;
}

.noeva-contact__star:nth-child(8) {
    left: 63%;
    top: 78%;
    animation-delay: -5.8s;
}

.noeva-contact__star:nth-child(9) {
    left: 76%;
    top: 28%;
    background: var(--noeva-pink);
    box-shadow: 0 0 18px var(--noeva-pink);
    animation-delay: -3.8s;
}

.noeva-contact__star:nth-child(10) {
    left: 88%;
    top: 66%;
    animation-delay: -6.5s;
}

.noeva-contact__star:nth-child(11) {
    left: 94%;
    top: 42%;
    animation-delay: -1.9s;
}

.noeva-contact__container {
    position: relative;
    z-index: 3;
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
    align-items: center;
    gap: clamp(42px, 6vw, 76px);
}

.noeva-contact__visual {
    position: relative;
    margin: 0;
    display: grid;
    align-self: stretch;
    gap: 24px;
}

.noeva-contact__visual::before {
    content: "";
    position: absolute;
    inset: -28px;
    border-radius: 42px;
    background:
        radial-gradient(circle at 26% 18%, rgba(250, 169, 64, 0.26), transparent 34%),
        radial-gradient(circle at 78% 74%, rgba(8, 236, 239, 0.22), transparent 36%),
        linear-gradient(145deg, rgba(255, 0, 107, 0.18), rgba(208, 11, 244, 0.10));
    filter: blur(8px);
    opacity: 0.78;
    z-index: -1;
    animation: noevaContactImageGlow 5.8s ease-in-out infinite alternate;
}

.noeva-contact__image-frame {
    position: relative;
    min-height: 320px;
    border-radius: 32px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04)),
        rgba(255, 255, 255, 0.06);
    box-shadow:
        0 34px 90px rgba(0, 0, 0, 0.48),
        0 0 48px rgba(255, 0, 107, 0.20),
        0 0 64px rgba(8, 236, 239, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    transform: perspective(1200px) rotateY(-4deg) rotateX(1deg);
    transition:
        transform 0.45s ease,
        border-color 0.45s ease,
        box-shadow 0.45s ease;
}

.noeva-contact__image-frame--future {
    transform: perspective(1200px) rotateY(-4deg) rotateX(-1deg) translateX(18px);
}

.noeva-contact__image-frame:hover {
    transform: perspective(1200px) rotateY(0deg) rotateX(0deg) translateY(-4px);
    border-color: rgba(8, 236, 239, 0.42);
    box-shadow:
        0 38px 100px rgba(0, 0, 0, 0.52),
        0 0 52px rgba(255, 0, 107, 0.24),
        0 0 72px rgba(8, 236, 239, 0.19),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.noeva-contact__image-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    background:
        linear-gradient(120deg, transparent 8%, rgba(255, 255, 255, 0.20) 44%, transparent 56%);
    transform: translateX(-120%);
    animation: noevaContactShine 5.5s ease-in-out infinite;
    pointer-events: none;
}

.noeva-contact__image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.08);
}

.noeva-contact__image-frame--start .noeva-contact__image {
    object-position: center 48%;
}

.noeva-contact__image-frame--future .noeva-contact__image {
    object-position: center 42%;
}

.noeva-contact__image-overlay {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 42% 42%, rgba(250, 169, 64, 0.16), transparent 32%),
        linear-gradient(180deg, rgba(5, 0, 19, 0.02), rgba(5, 0, 19, 0.54)),
        linear-gradient(90deg, rgba(255, 0, 107, 0.12), rgba(8, 236, 239, 0.08));
    pointer-events: none;
}

.noeva-contact__quote {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 4;
    padding: 18px 20px;
    border-radius: 22px;
    border: 1px solid rgba(250, 169, 64, 0.36);
    background: rgba(5, 0, 19, 0.70);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow:
        0 0 34px rgba(250, 169, 64, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.noeva-contact__quote span {
    display: block;
    margin-bottom: 7px;
    color: var(--noeva-orange);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.noeva-contact__quote strong {
    display: block;
    color: var(--noeva-white);
    font-size: 0.98rem;
    line-height: 1.5;
}

.noeva-contact__content {
    position: relative;
    padding: clamp(26px, 4vw, 42px);
    border-radius: 36px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.045)),
        rgba(5, 0, 19, 0.58);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.38),
        0 0 46px rgba(208, 11, 244, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.noeva-contact__content::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(255, 0, 107, 0.72), rgba(8, 236, 239, 0.58), rgba(255, 255, 255, 0.08));
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0.55;
    pointer-events: none;
}

.noeva-contact__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 0 16px;
    margin-bottom: 22px;
    border-radius: 999px;
    border: 1px solid rgba(8, 236, 239, 0.32);
    background: rgba(255, 255, 255, 0.075);
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow: 0 0 24px rgba(8, 236, 239, 0.14);
}

.noeva-contact__eyebrow span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--noeva-green);
    box-shadow: 0 0 16px var(--noeva-green);
}

.noeva-contact__title {
    margin: 0;
    font-family: var(--noeva-font-title);
    font-size: clamp(2.25rem, 4.7vw, 4.55rem);
    line-height: 0.96;
    letter-spacing: -0.065em;
    text-transform: uppercase;
}

.noeva-contact__title strong {
    display: block;
    margin-top: 8px;
    font-style: normal;
    background: linear-gradient(90deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 0 18px rgba(255, 0, 107, 0.24));
}

.noeva-contact__subtitle {
    margin: 24px 0 0;
    color: var(--noeva-muted);
    font-size: 1.02rem;
    line-height: 1.82;
}

.noeva-contact__scarcity {
    margin-top: 28px;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(250, 169, 64, 0.28);
    background:
        radial-gradient(circle at 10% 20%, rgba(250, 169, 64, 0.14), transparent 32%),
        rgba(255, 255, 255, 0.065);
    box-shadow:
        0 0 28px rgba(250, 169, 64, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.noeva-contact__scarcity-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.noeva-contact__scarcity-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--noeva-orange), var(--noeva-pink));
    box-shadow: 0 0 22px rgba(250, 169, 64, 0.25);
}

.noeva-contact__scarcity strong {
    display: block;
    color: var(--noeva-white);
    font-size: 0.98rem;
    line-height: 1.3;
}

.noeva-contact__scarcity p {
    margin: 5px 0 0;
    color: rgba(255, 255, 255, 0.64);
    font-size: 0.88rem;
    line-height: 1.55;
}

.noeva-contact__journey-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.noeva-contact__journey-points span {
    min-height: 76px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 12px;
    border-radius: 17px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(5, 0, 19, 0.44);
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
}

.noeva-contact__journey-points span:nth-child(1) {
    border-color: rgba(255, 0, 107, 0.32);
}

.noeva-contact__journey-points span:nth-child(2) {
    border-color: rgba(208, 11, 244, 0.34);
}

.noeva-contact__journey-points span:nth-child(3) {
    border-color: rgba(8, 236, 239, 0.32);
}

.noeva-contact__journey-points strong {
    display: block;
    margin-bottom: 3px;
    color: var(--noeva-white);
    font-size: 0.92rem;
}

.noeva-contact__counter {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 16px;
    margin-top: 16px;
}

.noeva-contact__counter-number {
    width: 92px;
    min-height: 70px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background: rgba(5, 0, 19, 0.48);
}

.noeva-contact__counter-number span {
    display: block;
    color: var(--noeva-orange);
    font-family: var(--noeva-font-title);
    font-size: 2rem;
    font-weight: 900;
    line-height: 0.9;
    text-shadow: 0 0 18px rgba(250, 169, 64, 0.28);
}

.noeva-contact__counter-number small {
    display: block;
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.56);
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.noeva-contact__counter-bar {
    position: relative;
    height: 12px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.10);
}

.noeva-contact__counter-bar span {
    position: absolute;
    inset: 0 auto 0 0;
    width: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--noeva-pink), var(--noeva-orange), var(--noeva-cyan));
    box-shadow:
        0 0 16px rgba(255, 0, 107, 0.28),
        0 0 18px rgba(8, 236, 239, 0.22);
    transition: width 0.8s ease;
}

.noeva-contact__form {
    position: relative;
    z-index: 2;
    margin-top: 30px;
}

.noeva-contact__form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.noeva-contact__field,
.noeva-contact__message {
    display: grid;
    gap: 8px;
}

.noeva-contact__field--full {
    grid-column: 1 / -1;
}

.noeva-contact__field label,
.noeva-contact__message label {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.noeva-contact__field input,
.noeva-contact__message textarea {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 17px;
    background: rgba(255, 255, 255, 0.075);
    color: var(--noeva-white);
    font-family: var(--noeva-font-body);
    font-size: 0.98rem;
    outline: none;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease,
        transform 0.25s ease;
}

.noeva-contact__field input {
    min-height: 56px;
    padding: 0 17px;
}

.noeva-contact__message {
    margin-top: 16px;
}

.noeva-contact__message textarea {
    resize: vertical;
    min-height: 132px;
    padding: 16px 17px;
    line-height: 1.65;
}

.noeva-contact__field input::placeholder,
.noeva-contact__message textarea::placeholder {
    color: rgba(255, 255, 255, 0.38);
}

.noeva-contact__field input:focus,
.noeva-contact__message textarea:focus {
    border-color: rgba(8, 236, 239, 0.62);
    background: rgba(255, 255, 255, 0.10);
    box-shadow:
        0 0 0 4px rgba(8, 236, 239, 0.08),
        0 0 24px rgba(8, 236, 239, 0.16);
    transform: translateY(-1px);
}

.noeva-contact__submit {
    position: relative;
    width: 100%;
    min-height: 62px;
    margin-top: 22px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    color: var(--noeva-white);
    font-family: var(--noeva-font-body);
    font-size: 0.98rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    overflow: hidden;
    box-shadow:
        0 18px 44px rgba(255, 0, 107, 0.25),
        0 0 36px rgba(8, 236, 239, 0.18);
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease;
}

.noeva-contact__submit::before {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-110%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.34), transparent);
    transition: transform 0.6s ease;
}

.noeva-contact__submit:hover {
    transform: translateY(-3px);
    box-shadow:
        0 24px 54px rgba(255, 0, 107, 0.31),
        0 0 48px rgba(8, 236, 239, 0.24);
}

.noeva-contact__submit:hover::before {
    transform: translateX(110%);
}

.noeva-contact__submit span,
.noeva-contact__submit strong {
    position: relative;
    z-index: 2;
}

.noeva-contact__submit strong {
    display: inline-flex;
    margin-left: 10px;
    font-size: 1.1rem;
}

.noeva-contact__privacy {
    max-width: 520px;
    margin: 16px auto 0;
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.82rem;
    line-height: 1.6;
    text-align: center;
}

/* =========================================================
   ANIMATIONS CONTACT
========================================================= */

@keyframes noevaContactOrb {
    from {
        transform: translate3d(0, 0, 0) scale(1);
    }

    to {
        transform: translate3d(24px, -24px, 0) scale(1.08);
    }
}

@keyframes noevaContactStar {
    from {
        transform: translateY(26px) scale(0.75);
        opacity: 0;
    }

    20% {
        opacity: 0.9;
    }

    to {
        transform: translateY(-125px) scale(1.18);
        opacity: 0;
    }
}

@keyframes noevaContactImageGlow {
    from {
        opacity: 0.62;
        transform: translateY(0) scale(1);
    }

    to {
        opacity: 0.92;
        transform: translateY(-8px) scale(1.025);
    }
}

@keyframes noevaContactShine {
    0%,
    46% {
        transform: translateX(-120%);
        opacity: 0;
    }

    58% {
        opacity: 0.75;
    }

    74%,
    100% {
        transform: translateX(120%);
        opacity: 0;
    }
}

/* =========================================================
   RESPONSIVE CONTACT
========================================================= */

@media (max-width: 1050px) {
    .noeva-contact__container {
        grid-template-columns: 1fr;
        gap: 54px;
    }

    .noeva-contact__visual {
        width: min(620px, 100%);
        margin: 0 auto;
    }

    .noeva-contact__image-frame {
        min-height: 320px;
        transform: none;
    }

    .noeva-contact__image {
        min-height: 320px;
    }

    .noeva-contact__image-frame--future {
        transform: none;
    }

    .noeva-contact__content {
        width: min(760px, 100%);
        margin: 0 auto;
    }

    .noeva-contact__title,
    .noeva-contact__subtitle {
        text-align: center;
    }

    .noeva-contact__eyebrow {
        left: 50%;
        position: relative;
        transform: translateX(-50%);
    }
}

@media (max-width: 680px) {
    .noeva-contact {
        padding: 92px 16px 98px;
    }

    .noeva-contact__image-frame {
        min-height: 290px;
        border-radius: 30px;
    }

    .noeva-contact__image {
        min-height: 290px;
    }

    .noeva-contact__quote {
        left: 16px;
        right: 16px;
        bottom: 16px;
        padding: 15px 16px;
        border-radius: 19px;
    }

    .noeva-contact__content {
        padding: 24px 18px;
        border-radius: 30px;
    }

    .noeva-contact__title {
        font-size: clamp(2.1rem, 12vw, 3.35rem);
    }

    .noeva-contact__subtitle {
        font-size: 0.96rem;
    }

    .noeva-contact__form-grid {
        grid-template-columns: 1fr;
    }

    .noeva-contact__field--full {
        grid-column: auto;
    }

    .noeva-contact__scarcity-head {
        flex-direction: column;
    }

    .noeva-contact__counter {
        grid-template-columns: 1fr;
    }

    .noeva-contact__counter-number {
        width: 100%;
        min-height: 74px;
    }

    .noeva-contact__journey-points {
        grid-template-columns: 1fr;
    }

    .noeva-contact__journey-points span {
        min-height: 62px;
    }
}

@media (max-width: 420px) {
    .noeva-contact__image-frame {
        min-height: 250px;
        border-radius: 26px;
    }

    .noeva-contact__image {
        min-height: 250px;
    }

    .noeva-contact__quote strong {
        font-size: 0.86rem;
    }

    .noeva-contact__submit {
        font-size: 0.86rem;
    }
}

/* =========================================================
   FORMULAIRE NOÃƒâ€°VA - ALERTES / ERREURS
========================================================= */

.noeva-contact__alert {
    width: 100%;
    margin-bottom: 22px;
    padding: 16px 18px;
    border-radius: 18px;
    font-size: 0.95rem;
    line-height: 1.5;
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(14px);
}

.noeva-contact__alert p {
    margin: 0;
}

.noeva-contact__alert p + p {
    margin-top: 6px;
}

.noeva-contact__alert.is-success {
    color: #dfffea;
    background: linear-gradient(135deg, rgba(0, 255, 170, .14), rgba(0, 180, 255, .10));
    border-color: rgba(0, 255, 170, .35);
    box-shadow: 0 0 30px rgba(0, 255, 170, .12);
}

.noeva-contact__alert.is-error {
    color: #ffe2ee;
    background: linear-gradient(135deg, rgba(255, 0, 107, .16), rgba(124, 58, 237, .10));
    border-color: rgba(255, 0, 107, .36);
    box-shadow: 0 0 30px rgba(255, 0, 107, .13);
}

.noeva-contact__field-error {
    display: none;
    margin-top: 7px;
    color: #ff7aa8;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.35;
}

.noeva-contact__field-error.is-visible {
    display: block;
}

.noeva-contact__field input.is-invalid,
.noeva-contact__field select.is-invalid,
.noeva-contact__message textarea.is-invalid {
    border-color: rgba(255, 0, 107, .75);
    box-shadow: 0 0 0 3px rgba(255, 0, 107, .15);
}

.noeva-contact__checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 22px 0 8px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.10);
}

.noeva-contact__checkbox input {
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin-top: 2px;
    accent-color: var(--noeva-cyan);
    cursor: pointer;
}

.noeva-contact__checkbox label {
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 0.88rem;
    line-height: 1.45;
    cursor: pointer;
}

.noeva-contact__hidden-field {
    position: absolute;
    left: -9999px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.noeva-contact__submit:disabled {
    cursor: not-allowed;
    opacity: .72;
}

.noeva-contact__submit.is-loading {
    filter: saturate(.8);
}
/* =========================================================
   PAGE LOGIN NOÃƒâ€°VA / BOOST
   Ãƒâ‚¬ coller Ãƒ  la fin de assets/css/main.css
========================================================= */

body.noeva-login-page {
    min-height: 100vh;
    overflow-x: hidden;
    color: var(--noeva-white);
    background: var(--noeva-black);
    font-family: var(--noeva-font-body);
}

.noeva-login {
    position: relative;
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr;
    padding: clamp(24px, 4vw, 46px) 20px clamp(26px, 4vw, 54px);
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 14% 18%, rgba(255, 0, 107, 0.24), transparent 30%),
        radial-gradient(circle at 86% 22%, rgba(8, 236, 239, 0.22), transparent 32%),
        radial-gradient(circle at 52% 88%, rgba(208, 11, 244, 0.18), transparent 35%),
        linear-gradient(135deg, var(--noeva-black), var(--noeva-deep) 48%, #17001d);
}

.noeva-login::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background:
        linear-gradient(to bottom, rgba(5, 0, 19, 0.08), rgba(5, 0, 19, 0.88)),
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: auto, 58px 58px, 58px 58px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.95), transparent 92%);
    opacity: 0.7;
    pointer-events: none;
}

.noeva-login::after {
    content: "";
    position: absolute;
    left: -12%;
    right: -12%;
    bottom: -130px;
    height: 320px;
    z-index: -2;
    background:
        radial-gradient(ellipse at center,
            rgba(8, 236, 239, 0.42) 0%,
            rgba(255, 0, 107, 0.24) 34%,
            rgba(208, 11, 244, 0.18) 58%,
            transparent 76%);
    filter: blur(22px);
    opacity: 0.84;
    pointer-events: none;
    animation: noevaLoginHalo 7s ease-in-out infinite alternate;
}

.noeva-login__sky,
.noeva-login__orb,
.noeva-login__star {
    position: absolute;
    pointer-events: none;
}

.noeva-login__sky {
    inset: 0;
    z-index: -1;
}

.noeva-login__orb {
    border-radius: 999px;
    filter: blur(42px);
    opacity: 0.78;
    animation: noevaLoginFloat 8s ease-in-out infinite alternate;
}

.noeva-login__orb--pink {
    width: 340px;
    height: 340px;
    left: -120px;
    top: 22%;
    background: rgba(255, 0, 107, 0.34);
}

.noeva-login__orb--cyan {
    width: 420px;
    height: 420px;
    right: -150px;
    top: 10%;
    background: rgba(8, 236, 239, 0.28);
    animation-delay: -2s;
}

.noeva-login__orb--purple {
    width: 360px;
    height: 360px;
    left: 46%;
    bottom: -155px;
    background: rgba(208, 11, 244, 0.28);
    animation-delay: -4s;
}

.noeva-login__star {
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: var(--noeva-cyan);
    box-shadow: 0 0 16px var(--noeva-cyan);
    animation: noevaLoginStar 8s linear infinite;
}

.noeva-login__star:nth-child(4) { left: 10%; top: 74%; animation-delay: -1s; }
.noeva-login__star:nth-child(5) { left: 26%; top: 26%; background: var(--noeva-pink); box-shadow: 0 0 16px var(--noeva-pink); animation-delay: -3s; }
.noeva-login__star:nth-child(6) { left: 52%; top: 18%; animation-delay: -5s; }
.noeva-login__star:nth-child(7) { left: 78%; top: 66%; background: var(--noeva-purple); box-shadow: 0 0 16px var(--noeva-purple); animation-delay: -2s; }
.noeva-login__star:nth-child(8) { left: 91%; top: 34%; animation-delay: -6s; }

.noeva-login__header {
    position: relative;
    z-index: 4;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: clamp(24px, 4vw, 46px);
}

.noeva-login__logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    padding: 14px 26px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.075);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow:
        0 20px 44px rgba(0, 0, 0, 0.30),
        0 0 34px rgba(8, 236, 239, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.noeva-login__logo:hover {
    transform: translateY(-2px);
    border-color: rgba(8, 236, 239, 0.42);
    box-shadow:
        0 24px 54px rgba(0, 0, 0, 0.38),
        0 0 42px rgba(8, 236, 239, 0.20),
        0 0 32px rgba(255, 0, 107, 0.14);
}

.noeva-login__logo img {
    display: block;
    width: min(210px, 48vw);
    height: auto;
    filter: drop-shadow(0 0 18px rgba(255, 255, 255, 0.12));
}

.noeva-login__layout {
    position: relative;
    z-index: 3;
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.82fr);
    gap: clamp(26px, 4vw, 56px);
    align-items: end;
}

.noeva-login__visual {
    position: relative;
    align-self: end;
    min-height: min(650px, calc(100vh - 180px));
    display: flex;
    align-items: flex-end;
}

.noeva-login__image-frame {
    position: relative;
    width: 100%;
    height: clamp(480px, 66vh, 670px);
    border-radius: 36px;
    overflow: hidden;
    border: 1px solid rgba(8, 236, 239, 0.28);
    background: rgba(255, 255, 255, 0.06);
    box-shadow:
        0 34px 90px rgba(0, 0, 0, 0.48),
        0 0 48px rgba(8, 236, 239, 0.16),
        0 0 58px rgba(255, 0, 107, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
    transform: perspective(1200px) rotateY(3deg) rotateX(1deg);
}

.noeva-login__image-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        radial-gradient(circle at 28% 18%, rgba(8, 236, 239, 0.22), transparent 26%),
        radial-gradient(circle at 72% 78%, rgba(255, 0, 107, 0.18), transparent 32%),
        linear-gradient(180deg, rgba(5, 0, 19, 0.04), rgba(5, 0, 19, 0.72));
    pointer-events: none;
}

.noeva-login__image-frame::after {
    content: "";
    position: absolute;
    inset: 1px;
    z-index: 3;
    border-radius: inherit;
    border: 1px solid rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

.noeva-login__image-frame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(1.08) contrast(1.05) brightness(0.92);
}

.noeva-login__image-glow {
    position: absolute;
    z-index: 4;
    width: 180px;
    height: 180px;
    border-radius: 999px;
    filter: blur(52px);
    opacity: 0.72;
    pointer-events: none;
}

.noeva-login__image-glow--one {
    left: -48px;
    bottom: 9%;
    background: rgba(8, 236, 239, 0.55);
}

.noeva-login__image-glow--two {
    right: -54px;
    top: 14%;
    background: rgba(255, 0, 107, 0.42);
}

.noeva-login__visual-caption {
    position: absolute;
    z-index: 6;
    left: clamp(18px, 4vw, 34px);
    right: clamp(18px, 4vw, 34px);
    bottom: clamp(18px, 4vw, 34px);
    padding: clamp(20px, 3vw, 28px);
    border-radius: 26px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.045)),
        rgba(5, 0, 19, 0.66);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow:
        0 24px 58px rgba(0, 0, 0, 0.42),
        0 0 30px rgba(8, 236, 239, 0.12);
}

.noeva-login__visual-caption span,
.noeva-login__card-head span,
.noeva-login__signup-head span {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--noeva-cyan);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.noeva-login__visual-caption h1 {
    max-width: 620px;
    margin: 0;
    color: var(--noeva-white);
    font-family: var(--noeva-font-title);
    font-size: clamp(1.7rem, 3.5vw, 3.05rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.noeva-login__visual-caption p {
    max-width: 620px;
    margin: 16px 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.98rem;
    line-height: 1.7;
}

.noeva-login__panel {
    align-self: end;
    display: grid;
    gap: 16px;
}

.noeva-login__card,
.noeva-login__signup-card,
.noeva-login__notice,
#nl-form-messages:not(.hidden) {
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 0, 107, 0.14), transparent 36%),
        radial-gradient(circle at 96% 10%, rgba(8, 236, 239, 0.13), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.045)),
        rgba(8, 3, 27, 0.78);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.44),
        0 0 36px rgba(8, 236, 239, 0.13),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.noeva-login__card::before,
.noeva-login__signup-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(255, 0, 107, 0.72), rgba(208, 11, 244, 0.45), rgba(8, 236, 239, 0.62));
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    opacity: 0.62;
}

.noeva-login__card {
    padding: clamp(26px, 4vw, 38px);
    border-radius: 34px;
}

.noeva-login__signup-card {
    padding: 24px;
    border-radius: 28px;
}

.noeva-login__card-head h2,
.noeva-login__signup-head h3 {
    margin: 0;
    color: var(--noeva-white);
    font-family: var(--noeva-font-title);
    line-height: 1;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.noeva-login__card-head h2 {
    font-size: clamp(2.15rem, 4vw, 3.45rem);
}

.noeva-login__signup-head h3 {
    font-size: clamp(1.35rem, 2.5vw, 2.05rem);
}

.noeva-login__card-head p,
.noeva-login__signup-head p {
    margin: 14px 0 0;
    color: rgba(255, 255, 255, 0.68);
    line-height: 1.65;
}

.noeva-login__form {
    display: grid;
    gap: 18px;
    margin-top: 28px;
}

.noeva-login__form .form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.noeva-login__form .form-group {
    display: grid;
    gap: 8px;
    margin: 0;
}

.noeva-login__form label {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.88rem;
    font-weight: 800;
}

.noeva-login__form .form-control,
.noeva-login__form select,
.noeva-login__form textarea {
    width: 100%;
    min-height: 54px;
    padding: 0 16px;
    border-radius: 17px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    outline: none;
    color: var(--noeva-white);
    background: rgba(255, 255, 255, 0.075);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.noeva-login__form .form-control::placeholder {
    color: rgba(255, 255, 255, 0.40);
}

.noeva-login__form .form-control:focus,
.noeva-login__form select:focus,
.noeva-login__form textarea:focus {
    border-color: rgba(8, 236, 239, 0.68);
    background: rgba(255, 255, 255, 0.10);
    box-shadow:
        0 0 0 4px rgba(8, 236, 239, 0.11),
        0 0 26px rgba(8, 236, 239, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.10);
}

.noeva-login__form select option {
    color: #120828;
    background: #ffffff;
}

.noeva-login__form .btn,
.noeva-login__submit {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 58px;
    width: 100%;
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    color: var(--noeva-white);
    font-family: var(--noeva-font-body);
    font-size: 0.96rem;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;
    background: linear-gradient(135deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    box-shadow:
        0 18px 42px rgba(255, 0, 107, 0.24),
        0 0 34px rgba(8, 236, 239, 0.17);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.noeva-login__form .btn::before,
.noeva-login__submit::before {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-110%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
    transition: transform 0.55s ease;
}

.noeva-login__form .btn:hover,
.noeva-login__submit:hover {
    transform: translateY(-3px);
    box-shadow:
        0 22px 52px rgba(255, 0, 107, 0.30),
        0 0 40px rgba(8, 236, 239, 0.24);
}

.noeva-login__form .btn:hover::before,
.noeva-login__submit:hover::before {
    transform: translateX(110%);
}

.noeva-login__submit span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
}

.noeva-login__forgot {
    justify-self: center;
    color: rgba(255, 255, 255, 0.70);
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none;
    transition: color 0.25s ease, text-shadow 0.25s ease;
}

.noeva-login__forgot:hover {
    color: var(--noeva-cyan);
    text-shadow: 0 0 16px rgba(8, 236, 239, 0.28);
}

.notice.noeva-login__notice,
#nl-form-messages:not(.hidden) {
    margin: 0;
    padding: 16px 18px;
    border-radius: 20px;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.55;
}

.notice.noeva-login__notice ul {
    margin: 0;
    padding-left: 18px;
}

.notice--warning.noeva-login__notice {
    border-color: rgba(250, 169, 64, 0.38);
    background:
        radial-gradient(circle at 0% 0%, rgba(250, 169, 64, 0.24), transparent 44%),
        rgba(250, 169, 64, 0.08);
}

.notice--success.noeva-login__notice,
#nl-form-messages.success:not(.hidden) {
    border-color: rgba(12, 246, 12, 0.35);
    background:
        radial-gradient(circle at 0% 0%, rgba(12, 246, 12, 0.18), transparent 42%),
        rgba(12, 246, 12, 0.075);
}

.notice--danger.noeva-login__notice,
#nl-form-messages.error:not(.hidden) {
    border-color: rgba(255, 0, 107, 0.38);
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 0, 107, 0.22), transparent 42%),
        rgba(255, 0, 107, 0.08);
}

.hidden {
    display: none !important;
}

.checkbox-wrapper {
    margin-top: 2px;
}

.checkbox-group {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 11px;
    align-items: start;
    padding: 14px;
    border-radius: 17px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background: rgba(255, 255, 255, 0.055);
}

.checkbox-group input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--noeva-cyan);
}

.checkbox-group label {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.82rem;
    line-height: 1.45;
}

@keyframes noevaLoginFloat {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to { transform: translate3d(24px, -20px, 0) scale(1.06); }
}

@keyframes noevaLoginStar {
    from { transform: translateY(26px) scale(0.75); opacity: 0; }
    20% { opacity: 0.9; }
    to { transform: translateY(-110px) scale(1.15); opacity: 0; }
}

@keyframes noevaLoginHalo {
    from { transform: translateY(0) scaleX(1); opacity: 0.62; }
    to { transform: translateY(-18px) scaleX(1.08); opacity: 0.96; }
}

@media (max-width: 980px) {
    .noeva-login {
        padding-inline: 16px;
    }

    .noeva-login__layout {
        grid-template-columns: 1fr;
        width: min(720px, 100%);
        align-items: start;
    }

    .noeva-login__visual {
        min-height: auto;
        order: 2;
    }

    .noeva-login__panel {
        order: 1;
    }

    .noeva-login__image-frame {
        height: min(680px, 82vh);
        transform: none;
    }
}

@media (max-width: 640px) {
    .noeva-login {
        padding-top: 18px;
    }

    .noeva-login__header {
        padding-bottom: 22px;
    }

    .noeva-login__logo {
        min-width: 0;
        padding: 12px 20px;
    }

    .noeva-login__logo img {
        width: min(185px, 58vw);
    }

    .noeva-login__card,
    .noeva-login__signup-card {
        border-radius: 26px;
        padding: 22px;
    }

    .noeva-login__form .form-row {
        grid-template-columns: 1fr;
    }

    .noeva-login__image-frame {
        height: 560px;
        border-radius: 28px;
    }

    .noeva-login__visual-caption {
        left: 14px;
        right: 14px;
        bottom: 14px;
        border-radius: 22px;
    }

    .noeva-login__visual-caption p {
        font-size: 0.9rem;
    }
}

@media (max-width: 420px) {
    .noeva-login__image-frame {
        height: 500px;
    }

    .noeva-login__visual-caption h1 {
        font-size: 1.45rem;
    }
}


/* =========================================================
   BOUTONS FLOTTANTS Ã¢â‚¬â€ WHATSAPP + RETOUR EN HAUT
========================================================= */

.noeva-floating-actions {
    position: fixed;
    right: max(18px, env(safe-area-inset-right));
    bottom: max(22px, env(safe-area-inset-bottom));
    z-index: 15000;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    pointer-events: none;
}

.noeva-floating-btn {
    position: relative;
    width: 62px;
    height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: var(--noeva-white);
    text-decoration: none;
    isolation: isolate;
    pointer-events: auto;
    transform: translateZ(0);
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        filter 0.28s ease;
}

.noeva-floating-btn:hover {
    transform: translateY(-4px) scale(1.04);
}

.noeva-floating-btn:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.72);
    outline-offset: 4px;
}

.noeva-floating-btn__icon {
    width: 30px;
    height: 30px;
    position: relative;
    z-index: 2;
}

.noeva-floating-btn__label {
    position: absolute;
    right: calc(100% + 12px);
    top: 50%;
    z-index: 4;
    min-width: max-content;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(5, 0, 19, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    box-shadow:
        0 14px 35px rgba(0, 0, 0, 0.34),
        0 0 22px rgba(8, 236, 239, 0.14);
    opacity: 0;
    pointer-events: none;
    transform: translate(10px, -50%);
    transition:
        opacity 0.22s ease,
        transform 0.22s ease;
}

.noeva-floating-btn:hover .noeva-floating-btn__label,
.noeva-floating-btn:focus-visible .noeva-floating-btn__label {
    opacity: 1;
    transform: translate(0, -50%);
}

.noeva-floating-btn--whatsapp {
    background:
        radial-gradient(circle at 28% 22%, rgba(255, 255, 255, 0.34), transparent 24%),
        linear-gradient(135deg, #10e878, #04b85d 52%, #008f48);
    border: 1px solid rgba(255, 255, 255, 0.20);
    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.38),
        0 0 26px rgba(16, 232, 120, 0.42),
        0 0 54px rgba(8, 236, 239, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.32);
    animation: noevaFloatAction 3.8s ease-in-out infinite;
}

.noeva-floating-btn--whatsapp::before {
    content: "";
    position: absolute;
    inset: -8px;
    z-index: -1;
    border-radius: inherit;
    background: radial-gradient(circle, rgba(16, 232, 120, 0.38), transparent 67%);
    opacity: 0.85;
    animation: noevaWhatsappPulse 2.4s ease-out infinite;
}

.noeva-floating-btn--whatsapp:hover {
    box-shadow:
        0 22px 52px rgba(0, 0, 0, 0.44),
        0 0 34px rgba(16, 232, 120, 0.62),
        0 0 64px rgba(8, 236, 239, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.noeva-floating-btn--top {
    overflow: hidden;
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.32), transparent 24%),
        linear-gradient(135deg, var(--noeva-cyan), #0796ff 50%, #0b001f 100%);
    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.38),
        0 0 28px rgba(8, 236, 239, 0.40),
        0 0 48px rgba(208, 11, 244, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.30);
}

.noeva-floating-btn--top::before {
    content: "";
    position: absolute;
    inset: -3px;
    z-index: -2;
    border-radius: inherit;
    background: conic-gradient(
        from 0deg,
        var(--noeva-cyan),
        var(--noeva-purple),
        rgba(255, 255, 255, 0.72),
        var(--noeva-cyan)
    );
    animation: noevaNeonBorderSpin 2.8s linear infinite;
}

.noeva-floating-btn--top::after {
    content: "";
    position: absolute;
    inset: 3px;
    z-index: -1;
    border-radius: inherit;
    background:
        radial-gradient(circle at 32% 20%, rgba(255, 255, 255, 0.24), transparent 24%),
        linear-gradient(135deg, var(--noeva-cyan), #078cff 52%, #15002d);
}

.noeva-floating-btn--top:hover {
    box-shadow:
        0 22px 52px rgba(0, 0, 0, 0.44),
        0 0 34px rgba(8, 236, 239, 0.62),
        0 0 72px rgba(208, 11, 244, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.34);
}

@keyframes noevaFloatAction {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

@keyframes noevaWhatsappPulse {
    0% {
        transform: scale(0.88);
        opacity: 0.72;
    }

    100% {
        transform: scale(1.35);
        opacity: 0;
    }
}

@keyframes noevaNeonBorderSpin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 640px) {
    .noeva-floating-actions {
        right: 14px;
        bottom: 16px;
        gap: 11px;
    }

    .noeva-floating-btn {
        width: 54px;
        height: 54px;
    }

    .noeva-floating-btn__icon {
        width: 26px;
        height: 26px;
    }

    .noeva-floating-btn__label {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .noeva-floating-btn--whatsapp,
    .noeva-floating-btn--whatsapp::before,
    .noeva-floating-btn--top::before {
        animation: none;
    }
}

/* =========================================================
   SECTION ACCOMPAGNEMENT Ã¢â‚¬â€ VERSION 3 COLONNES
   Image dÃƒÂ©corative : assets/img/accompagnement.png
========================================================= */

:root {
    --noeva-orange: #FAA940;
    --noeva-orange-dark: #f89310;
}

.noeva-accompagnement {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: clamp(84px, 8vw, 128px) 20px 0;
    color: var(--noeva-white);
    background:
        radial-gradient(circle at 14% 12%, rgba(250, 169, 64, 0.20), transparent 30%),
        radial-gradient(circle at 16% 10%, rgba(208, 11, 244, 0.26), transparent 34%),
        radial-gradient(circle at 82% 16%, rgba(8, 236, 239, 0.24), transparent 31%),
        radial-gradient(circle at 50% 100%, rgba(248, 147, 16, 0.16), transparent 38%),
        linear-gradient(135deg, #050013 0%, #0b001f 42%, #130020 100%);
}

.noeva-accompagnement::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background:
        linear-gradient(
            to bottom,
            rgba(5, 0, 19, 0.12) 0%,
            rgba(5, 0, 19, 0.28) 35%,
            rgba(5, 0, 19, 0.78) 100%
        ),
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.055), transparent 42%);
    pointer-events: none;
}

.noeva-accompagnement::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 0;
    z-index: 6;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--noeva-orange), var(--noeva-cyan), transparent);
    opacity: 0.75;
    pointer-events: none;
}

/* =========================================================
   FOND FX
========================================================= */

.noeva-accompagnement__background,
.noeva-accompagnement__grid,
.noeva-accompagnement__orb,
.noeva-accompagnement__particles {
    position: absolute;
    pointer-events: none;
}

.noeva-accompagnement__background {
    inset: 0;
    z-index: -2;
    overflow: hidden;
}

.noeva-accompagnement__background::before,
.noeva-accompagnement__background::after {
    content: none !important;
    display: none !important;
}

.noeva-accompagnement__grid {
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(circle at center, black 0%, transparent 78%);
    opacity: 0.30;
}

.noeva-accompagnement__orb {
    border-radius: 999px;
    filter: blur(42px);
    opacity: 0.78;
    animation: noevaAccompagnementOrb 9s ease-in-out infinite alternate;
}

.noeva-accompagnement__orb--purple {
    width: 360px;
    height: 360px;
    left: -120px;
    top: 18%;
    background: radial-gradient(circle, rgba(208, 11, 244, 0.46), transparent 68%);
}

.noeva-accompagnement__orb--blue {
    width: 420px;
    height: 420px;
    right: -130px;
    top: 12%;
    background: radial-gradient(circle, rgba(8, 236, 239, 0.34), transparent 70%);
    animation-delay: -3s;
}

.noeva-accompagnement__orb--pink {
    width: 320px;
    height: 320px;
    left: 38%;
    bottom: -120px;
    background: radial-gradient(circle, rgba(250, 169, 64, 0.34), rgba(248, 147, 16, 0.18), transparent 72%);
    animation-delay: -5s;
}

.noeva-accompagnement__particles {
    inset: 0;
    overflow: hidden;
}

.noeva-accompagnement__particles span {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: var(--noeva-cyan);
    box-shadow: 0 0 16px var(--noeva-cyan);
    opacity: 0;
    animation: noevaAccompagnementParticle 8s linear infinite;
}

/* =========================================================
   STRUCTURE
========================================================= */

.noeva-accompagnement__container {
    position: relative;
    z-index: 2;
    width: min(1180px, 100%);
    margin: 0 auto;
}

.noeva-accompagnement__header {
    position: relative;
    z-index: 5;
    max-width: 920px;
    margin: 0 auto clamp(42px, 5vw, 66px);
    text-align: center;
}

.noeva-accompagnement__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
    padding: 10px 18px;
    border-radius: 999px;
    border: 1px solid rgba(250, 169, 64, 0.36);
    background:
        linear-gradient(135deg, rgba(250, 169, 64, 0.14), rgba(8, 236, 239, 0.10)),
        rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    box-shadow:
        0 0 28px rgba(250, 169, 64, 0.18),
        0 0 26px rgba(8, 236, 239, 0.12);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.noeva-accompagnement__badge-icon {
    color: var(--noeva-orange);
    text-shadow: 0 0 14px var(--noeva-orange);
}

.noeva-accompagnement__title {
    margin: 0;
    color: rgba(255, 255, 255, 0.96);
    font-family: var(--noeva-font-title);
    font-size: clamp(2.25rem, 5vw, 5.1rem);
    line-height: 0.98;
    letter-spacing: -0.065em;
    text-transform: uppercase;
    text-shadow: 0 0 34px rgba(255, 255, 255, 0.10);
}

.noeva-accompagnement__title span {
    display: block;
    background: linear-gradient(90deg, #ffffff, var(--noeva-orange), var(--noeva-cyan));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.noeva-accompagnement__intro {
    max-width: 760px;
    margin: 24px auto 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(1rem, 1.25vw, 1.16rem);
    line-height: 1.82;
}

/* =========================================================
   CARDS EN 3 COLONNES
========================================================= */

.noeva-accompagnement__cards {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2.3vw, 28px);
    margin-bottom: 0;
}

.noeva-accompagnement-card {
    --card-accent: var(--noeva-purple);
    --card-accent-strong: var(--noeva-purple);
    --card-accent-soft: rgba(208, 11, 244, 0.18);

    position: relative;
    z-index: 5;
    min-height: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: start;
    padding: clamp(24px, 2.4vw, 34px);
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--card-accent), transparent 54%);
    background:
        radial-gradient(circle at 18% 28%, var(--card-accent-soft), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.135), rgba(255, 255, 255, 0.045)),
        rgba(5, 0, 19, 0.54);
    box-shadow:
        0 24px 70px rgba(0, 0, 0, 0.38),
        0 0 44px var(--card-accent-soft),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    transform:
        perspective(1000px)
        rotateX(var(--tilt-x, 0deg))
        rotateY(var(--tilt-y, 0deg))
        translateY(0);
    transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}

.noeva-accompagnement-card--team {
    --card-accent: var(--noeva-orange);
    --card-accent-strong: var(--noeva-orange-dark);
    --card-accent-soft: rgba(250, 169, 64, 0.20);
}

.noeva-accompagnement-card--coaching {
    --card-accent: var(--noeva-cyan);
    --card-accent-strong: var(--noeva-cyan);
    --card-accent-soft: rgba(8, 236, 239, 0.16);
}

.noeva-accompagnement-card:hover {
    transform:
        perspective(1000px)
        rotateX(var(--tilt-x, 0deg))
        rotateY(var(--tilt-y, 0deg))
        translateY(-6px);
    border-color: color-mix(in srgb, var(--card-accent), transparent 26%);
    box-shadow:
        0 30px 86px rgba(0, 0, 0, 0.46),
        0 0 58px var(--card-accent-soft),
        inset 0 1px 0 rgba(255, 255, 255, 0.19);
}

.noeva-accompagnement-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, transparent 10%, rgba(255, 255, 255, 0.12), transparent 32%),
        radial-gradient(circle at 85% 12%, rgba(255, 255, 255, 0.10), transparent 28%);
    opacity: 0;
    transform: translateX(-18%);
    transition: opacity 0.32s ease, transform 0.45s ease;
    pointer-events: none;
}

.noeva-accompagnement-card:hover::before {
    opacity: 1;
    transform: translateX(0);
}

.noeva-accompagnement-card__shine {
    position: absolute;
    inset: auto 24px 24px auto;
    width: 80px;
    height: 80px;
    border-radius: 999px;
    background: radial-gradient(circle, var(--card-accent), transparent 68%);
    filter: blur(28px);
    opacity: 0.34;
    pointer-events: none;
}

.noeva-accompagnement-card__icon {
    position: relative;
    width: 118px;
    height: 118px;
    display: grid;
    place-items: center;
    color: var(--card-accent);
    border-radius: 50%;
    background:
        radial-gradient(circle, var(--card-accent-soft), transparent 65%),
        rgba(255, 255, 255, 0.045);
    box-shadow:
        0 0 42px var(--card-accent-soft),
        inset 0 0 30px rgba(255, 255, 255, 0.06);
}

.noeva-accompagnement-card__icon::before {
    content: "";
    position: absolute;
    inset: -12px;
    border-radius: inherit;
    border: 1px solid color-mix(in srgb, var(--card-accent), transparent 45%);
    box-shadow: 0 0 28px var(--card-accent-soft);
    animation: noevaAccompagnementPulse 2.8s ease-in-out infinite;
}

.noeva-accompagnement-card__icon svg {
    width: 78px;
    height: 78px;
    filter: drop-shadow(0 0 16px var(--card-accent));
}

.noeva-accompagnement-card__kicker {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--card-accent);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.noeva-accompagnement-card h3 {
    margin: 0 0 14px;
    font-family: var(--noeva-font-title);
    font-size: clamp(1.7rem, 2.4vw, 2.45rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.noeva-accompagnement-card h3 span {
    display: block;
    width: fit-content;
    background: linear-gradient(90deg, var(--card-accent), var(--card-accent-strong));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: 0 0 20px var(--card-accent-soft);
}

.noeva-accompagnement-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.94rem;
    line-height: 1.65;
}

.noeva-accompagnement-card__list {
    display: grid;
    gap: 9px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.noeva-accompagnement-card__list li {
    position: relative;
    padding-left: 24px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.9rem;
    line-height: 1.45;
}

.noeva-accompagnement-card__list li::before {
    content: "\2726";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--card-accent);
    text-shadow: 0 0 12px var(--card-accent);
}

/* =========================================================
   IMAGE DÃƒâ€°CORATIVE ENTIÃƒË†RE
========================================================= */

.noeva-accompagnement__scene {
    --scene-width: 100vw;
    --scene-transparent-top: 50vw;

    position: relative;
    z-index: 1;
    width: var(--scene-width);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: calc(-1 * var(--scene-transparent-top));
    margin-bottom: 0;
    padding: 0;
    line-height: 0;
    pointer-events: none;
}

.noeva-accompagnement__scene-img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    opacity: 0.88;
    filter: saturate(1.12) contrast(1.06) brightness(0.82);
}

.noeva-accompagnement__scene::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(
            to bottom,
            rgba(5, 0, 19, 0) 0%,
            rgba(5, 0, 19, 0.06) 30%,
            rgba(5, 0, 19, 0.42) 78%,
            rgba(5, 0, 19, 0.78) 100%
        ),
        radial-gradient(circle at 24% 40%, rgba(250, 169, 64, 0.16), transparent 34%),
        radial-gradient(circle at 78% 46%, rgba(8, 236, 239, 0.14), transparent 36%);
}

/* =========================================================
   REVEAL JS
========================================================= */

[data-accompagnement-reveal] {
    opacity: 0;
    transform: translateY(34px);
    transition:
        opacity 0.75s ease,
        transform 0.75s ease;
}

[data-accompagnement-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

.noeva-accompagnement__cards [data-accompagnement-reveal]:nth-child(2) {
    transition-delay: 0.12s;
}

.noeva-accompagnement__cards [data-accompagnement-reveal]:nth-child(3) {
    transition-delay: 0.24s;
}

/* =========================================================
   ANIMATIONS ACCOMPAGNEMENT
========================================================= */

@keyframes noevaAccompagnementOrb {
    from {
        transform: translate3d(0, 0, 0) scale(1);
    }

    to {
        transform: translate3d(26px, -24px, 0) scale(1.08);
    }
}

@keyframes noevaAccompagnementParticle {
    from {
        transform: translateY(28px) scale(0.8);
        opacity: 0;
    }

    18% {
        opacity: 0.85;
    }

    to {
        transform: translateY(-120px) scale(1.15);
        opacity: 0;
    }
}

@keyframes noevaAccompagnementPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.65;
    }

    50% {
        transform: scale(1.08);
        opacity: 0.95;
    }
}

/* =========================================================
   RESPONSIVE ACCOMPAGNEMENT
========================================================= */

@media (max-width: 1020px) {
    .noeva-accompagnement__cards {
        grid-template-columns: 1fr;
    }

    .noeva-accompagnement-card {
        min-height: auto;
    }
}

@media (max-width: 760px) {
    .noeva-accompagnement {
        padding: 76px 16px 0;
    }

    .noeva-accompagnement__title {
        letter-spacing: -0.045em;
    }

    .noeva-accompagnement-card {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 24px;
        border-radius: 28px;
    }

    .noeva-accompagnement-card__icon {
        width: 118px;
        height: 118px;
    }

    .noeva-accompagnement-card__icon svg {
        width: 78px;
        height: 78px;
    }

    .noeva-accompagnement__scene {
        --scene-width: 140vw;
        --scene-transparent-top: 70vw;
        margin-left: calc(50% - (var(--scene-width) / 2));
        margin-right: calc(50% - (var(--scene-width) / 2));
    }

    .noeva-accompagnement__scene-img {
        opacity: 0.82;
    }
}

@media (max-width: 480px) {
    .noeva-accompagnement__badge {
        font-size: 0.68rem;
        letter-spacing: 0.11em;
    }

    .noeva-accompagnement__intro {
        font-size: 0.95rem;
    }

    .noeva-accompagnement__scene {
        --scene-width: 165vw;
        --scene-transparent-top: 82.5vw;
    }
}

@media (prefers-reduced-motion: reduce) {
    .noeva-accompagnement__orb,
    .noeva-accompagnement__particles span,
    .noeva-accompagnement-card__icon::before {
        animation: none;
    }

    [data-accompagnement-reveal] {
        transition: none;
    }
}

/* =========================================================
   PROGRAMME 90 JOURS
========================================================= */

.noeva-journey90 {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: clamp(96px, 9vw, 145px) 20px;
    color: var(--noeva-white);
    background:
        radial-gradient(circle at 16% 14%, rgba(255, 0, 107, 0.22), transparent 32%),
        radial-gradient(circle at 84% 18%, rgba(8, 236, 239, 0.24), transparent 34%),
        radial-gradient(circle at 50% 92%, rgba(208, 11, 244, 0.25), transparent 40%),
        linear-gradient(145deg, #050013 0%, #09001f 44%, #14002d 100%);
}

.noeva-journey90::before,
.noeva-journey90::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    height: 1px;
    z-index: 2;
    background: linear-gradient(90deg, transparent, var(--noeva-cyan), var(--noeva-pink), transparent);
    box-shadow:
        0 0 28px rgba(8, 236, 239, 0.34),
        0 0 44px rgba(255, 0, 107, 0.24);
    opacity: 0.78;
}

.noeva-journey90::before {
    top: 0;
}

.noeva-journey90::after {
    bottom: 0;
}

.noeva-journey90__background,
.noeva-journey90__grid,
.noeva-journey90__orb {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.noeva-journey90__grid {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        radial-gradient(circle, rgba(255, 255, 255, 0.30) 0 1px, transparent 2px);
    background-size: 66px 66px, 66px 66px, 118px 118px;
    mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 0.92), transparent 76%);
    opacity: 0.34;
}

.noeva-journey90__orb {
    width: 440px;
    height: 440px;
    border-radius: 999px;
    filter: blur(66px);
    opacity: 0.72;
    animation: noevaJourneyOrb 9s ease-in-out infinite alternate;
}

.noeva-journey90__orb--pink {
    left: -190px;
    top: 12%;
    background: rgba(255, 0, 107, 0.34);
}

.noeva-journey90__orb--cyan {
    right: -185px;
    top: 10%;
    background: rgba(8, 236, 239, 0.32);
    animation-delay: -2.5s;
}

.noeva-journey90__orb--purple {
    left: 42%;
    bottom: -250px;
    width: 560px;
    height: 560px;
    background: rgba(208, 11, 244, 0.26);
    animation-delay: -5s;
}

.noeva-journey90__container {
    position: relative;
    z-index: 3;
    width: min(1180px, 100%);
    margin: 0 auto;
}

.noeva-journey90__header {
    max-width: 900px;
    margin: 0 auto clamp(42px, 5vw, 70px);
    text-align: center;
}

.noeva-journey90__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 40px;
    padding: 9px 18px;
    margin-bottom: 22px;
    border-radius: 999px;
    border: 1px solid rgba(8, 236, 239, 0.34);
    background: rgba(255, 255, 255, 0.075);
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    box-shadow:
        0 0 24px rgba(8, 236, 239, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.noeva-journey90__eyebrow span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--noeva-cyan);
    box-shadow: 0 0 16px var(--noeva-cyan);
}

.noeva-journey90__title {
    margin: 0;
    color: #fff;
    font-family: var(--noeva-font-title);
    font-size: clamp(2.45rem, 5.35vw, 5.4rem);
    line-height: 0.95;
    letter-spacing: 0;
    text-transform: uppercase;
    text-shadow:
        0 0 28px rgba(255, 255, 255, 0.10),
        0 20px 48px rgba(0, 0, 0, 0.38);
}

.noeva-journey90__title strong {
    display: block;
    margin-top: 10px;
    background: linear-gradient(90deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 0 18px rgba(255, 0, 107, 0.22));
}

.noeva-journey90__intro {
    max-width: 790px;
    margin: 26px auto 0;
    color: rgba(255, 255, 255, 0.73);
    font-size: clamp(0.98rem, 1.25vw, 1.12rem);
    line-height: 1.84;
}

.noeva-journey90__timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2.3vw, 28px);
    padding: 52px 0 16px;
}

.noeva-journey90__timeline::before {
    content: "";
    position: absolute;
    top: 112px;
    left: 9%;
    right: 9%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(8, 236, 239, 0.86), rgba(255, 0, 107, 0.78), transparent);
    box-shadow:
        0 0 28px rgba(8, 236, 239, 0.32),
        0 0 36px rgba(255, 0, 107, 0.22);
}

.noeva-journey90__step {
    --step-accent: var(--noeva-cyan);
    --step-accent-2: var(--noeva-pink);

    position: relative;
    min-height: 430px;
    padding: 104px 24px 26px;
    border-radius: 32px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background:
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--step-accent) 24%, transparent), transparent 30%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04)),
        rgba(5, 0, 19, 0.64);
    box-shadow:
        0 28px 78px rgba(0, 0, 0, 0.38),
        0 0 38px color-mix(in srgb, var(--step-accent) 18%, transparent),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.noeva-journey90__step--mindset {
    --step-accent: var(--noeva-cyan);
    --step-accent-2: var(--noeva-pink);
}

.noeva-journey90__step--leadership {
    --step-accent: var(--noeva-orange);
    --step-accent-2: var(--noeva-pink);
}

.noeva-journey90__step--social {
    --step-accent: var(--noeva-purple);
    --step-accent-2: var(--noeva-cyan);
}

.noeva-journey90__icon {
    position: absolute;
    top: 0;
    left: 50%;
    width: 86px;
    height: 86px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #050013;
    font-family: var(--noeva-font-title);
    font-size: 1.35rem;
    font-weight: 950;
    background: linear-gradient(135deg, var(--step-accent), var(--step-accent-2));
    box-shadow:
        0 0 0 13px rgba(255, 255, 255, 0.045),
        0 0 0 28px color-mix(in srgb, var(--step-accent) 10%, transparent),
        0 0 42px color-mix(in srgb, var(--step-accent) 42%, transparent);
    transform: translate(-50%, -18%);
}

.noeva-journey90__dot {
    position: absolute;
    top: 111px;
    left: 50%;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: var(--step-accent);
    box-shadow:
        0 0 0 9px color-mix(in srgb, var(--step-accent) 14%, transparent),
        0 0 24px var(--step-accent);
    transform: translate(-50%, -50%);
}

.noeva-journey90__period {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 13px;
    border-radius: 999px;
    color: var(--step-accent);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    background: color-mix(in srgb, var(--step-accent) 10%, rgba(255, 255, 255, 0.06));
    border: 1px solid color-mix(in srgb, var(--step-accent) 28%, rgba(255, 255, 255, 0.12));
}

.noeva-journey90__step h3 {
    margin: 18px 0 0;
    color: #fff;
    font-family: var(--noeva-font-title);
    font-size: clamp(1.62rem, 2.35vw, 2.35rem);
    line-height: 1.02;
    letter-spacing: 0;
    text-transform: uppercase;
}

.noeva-journey90__step p {
    margin: 16px 0 0;
    color: rgba(255, 255, 255, 0.70);
    font-size: 0.94rem;
    line-height: 1.68;
}

.noeva-journey90__step ul,
.noeva-journey90__price-card ul {
    display: grid;
    gap: 9px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.noeva-journey90__step li,
.noeva-journey90__price-card li {
    position: relative;
    padding-left: 24px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.9rem;
    line-height: 1.5;
}

.noeva-journey90__step li::before,
.noeva-journey90__price-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.68em;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--step-accent, var(--noeva-cyan));
    box-shadow: 0 0 12px var(--step-accent, var(--noeva-cyan));
}

.noeva-journey90__pricing {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 3vw, 28px);
    margin-top: clamp(34px, 5vw, 58px);
}

.noeva-journey90__price-card {
    --step-accent: var(--noeva-cyan);

    position: relative;
    padding: clamp(24px, 3vw, 34px);
    border-radius: 32px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background:
        radial-gradient(circle at 12% 0%, rgba(8, 236, 239, 0.14), transparent 30%),
        radial-gradient(circle at 88% 0%, rgba(255, 0, 107, 0.12), transparent 32%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04)),
        rgba(5, 0, 19, 0.68);
    box-shadow:
        0 28px 78px rgba(0, 0, 0, 0.36),
        inset 0 1px 0 rgba(255, 255, 255, 0.13);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.noeva-journey90__price-card--featured {
    --step-accent: var(--noeva-orange);
    border-color: rgba(250, 169, 64, 0.36);
    box-shadow:
        0 30px 86px rgba(0, 0, 0, 0.42),
        0 0 48px rgba(250, 169, 64, 0.12),
        0 0 54px rgba(255, 0, 107, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.noeva-journey90__price-kicker {
    display: inline-flex;
    margin-bottom: 14px;
    color: var(--step-accent);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.noeva-journey90__price-card h3 {
    margin: 0;
    color: #fff;
    font-family: var(--noeva-font-title);
    font-size: clamp(2rem, 4vw, 3.75rem);
    line-height: 0.98;
    letter-spacing: 0;
    text-transform: uppercase;
}

.noeva-journey90__price-total {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid color-mix(in srgb, var(--step-accent) 30%, rgba(255, 255, 255, 0.12));
    background: color-mix(in srgb, var(--step-accent) 10%, rgba(255, 255, 255, 0.06));
}

.noeva-journey90__price-total strong {
    color: var(--step-accent);
    font-family: var(--noeva-font-title);
    font-size: clamp(2.4rem, 5vw, 4.15rem);
    line-height: 0.86;
    text-shadow: 0 0 24px color-mix(in srgb, var(--step-accent) 34%, transparent);
}

.noeva-journey90__price-total span {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.35;
}

.noeva-journey90__price-card p {
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.94rem;
    line-height: 1.7;
}

.noeva-journey90__commitment {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    margin-top: 28px;
    padding: clamp(20px, 2.4vw, 28px);
    border-radius: 28px;
    border: 1px solid rgba(8, 236, 239, 0.26);
    background:
        linear-gradient(135deg, rgba(8, 236, 239, 0.12), rgba(255, 0, 107, 0.08)),
        rgba(5, 0, 19, 0.62);
    box-shadow:
        0 24px 70px rgba(0, 0, 0, 0.30),
        0 0 38px rgba(8, 236, 239, 0.10);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.noeva-journey90__commitment strong {
    color: var(--noeva-orange);
    font-family: var(--noeva-font-title);
    font-size: 1.25rem;
    line-height: 1.05;
    text-transform: uppercase;
}

.noeva-journey90__commitment p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.96rem;
    line-height: 1.62;
}

.noeva-journey90__cta {
    position: relative;
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 22px;
    border-radius: 999px;
    overflow: hidden;
    color: #fff;
    font-size: 0.86rem;
    font-weight: 950;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    background: linear-gradient(135deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    box-shadow:
        0 18px 44px rgba(255, 0, 107, 0.24),
        0 0 34px rgba(8, 236, 239, 0.18);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.noeva-journey90__cta:hover {
    transform: translateY(-3px);
    box-shadow:
        0 24px 54px rgba(255, 0, 107, 0.31),
        0 0 46px rgba(8, 236, 239, 0.25);
}

@keyframes noevaJourneyOrb {
    from {
        transform: translate3d(0, 0, 0) scale(1);
    }

    to {
        transform: translate3d(24px, -24px, 0) scale(1.08);
    }
}

@media (max-width: 980px) {
    .noeva-journey90__timeline,
    .noeva-journey90__pricing {
        grid-template-columns: 1fr;
    }

    .noeva-journey90__timeline {
        padding-top: 0;
    }

    .noeva-journey90__timeline::before {
        top: 0;
        bottom: 0;
        left: 43px;
        right: auto;
        width: 2px;
        height: auto;
        background: linear-gradient(180deg, transparent, rgba(8, 236, 239, 0.86), rgba(255, 0, 107, 0.78), transparent);
    }

    .noeva-journey90__step {
        min-height: auto;
        padding: 28px 24px 26px 112px;
    }

    .noeva-journey90__icon {
        top: 32px;
        left: 43px;
        width: 70px;
        height: 70px;
        font-size: 1.05rem;
        transform: translate(-50%, 0);
    }

    .noeva-journey90__dot {
        top: 67px;
        left: 43px;
    }

    .noeva-journey90__commitment {
        grid-template-columns: 1fr;
    }

    .noeva-journey90__cta {
        width: 100%;
        white-space: normal;
        text-align: center;
    }
}

@media (max-width: 680px) {
    .noeva-journey90 {
        padding: 86px 16px;
    }

    .noeva-journey90__header {
        text-align: left;
    }

    .noeva-journey90__title {
        font-size: clamp(2.1rem, 12vw, 3.35rem);
        letter-spacing: 0;
    }

    .noeva-journey90__intro {
        font-size: 0.96rem;
    }

    .noeva-journey90__timeline::before {
        left: 33px;
    }

    .noeva-journey90__step {
        padding: 24px 18px 22px 86px;
        border-radius: 26px;
    }

    .noeva-journey90__icon {
        left: 33px;
        width: 58px;
        height: 58px;
        box-shadow:
            0 0 0 8px rgba(255, 255, 255, 0.045),
            0 0 28px color-mix(in srgb, var(--step-accent) 40%, transparent);
    }

    .noeva-journey90__dot {
        left: 33px;
    }

    .noeva-journey90__price-card,
    .noeva-journey90__commitment {
        border-radius: 26px;
    }
}

@media (max-width: 460px) {
    .noeva-journey90__timeline::before {
        display: none;
    }

    .noeva-journey90__step {
        padding: 92px 18px 22px;
    }

    .noeva-journey90__icon {
        top: 20px;
        left: 28px;
        transform: none;
    }

    .noeva-journey90__dot {
        display: none;
    }

    .noeva-journey90__price-total {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .noeva-journey90__orb {
        animation: none;
    }

    .noeva-journey90__cta {
        transition: none;
    }
}

.noeva-faq {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: clamp(92px, 9vw, 140px) 20px;
    color: var(--noeva-white);
    background:
        radial-gradient(circle at 12% 18%, rgba(255, 0, 107, 0.20), transparent 32%),
        radial-gradient(circle at 88% 12%, rgba(8, 236, 239, 0.20), transparent 34%),
        radial-gradient(circle at 52% 96%, rgba(208, 11, 244, 0.26), transparent 38%),
        linear-gradient(145deg, #050013 0%, #0b001f 44%, #16012d 100%);
}

.noeva-faq::before,
.noeva-faq::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--noeva-pink), var(--noeva-cyan), transparent);
    box-shadow: 0 0 28px rgba(255, 0, 107, 0.42), 0 0 42px rgba(8, 236, 239, 0.28);
    opacity: 0.78;
    z-index: 2;
}

.noeva-faq::before { top: 0; }
.noeva-faq::after { bottom: 0; }

.noeva-faq__background,
.noeva-faq__grid,
.noeva-faq__orb {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.noeva-faq__grid {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 62px 62px;
    mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 0.88), transparent 74%);
    opacity: 0.35;
}

.noeva-faq__orb {
    width: 420px;
    height: 420px;
    border-radius: 999px;
    filter: blur(64px);
    opacity: 0.72;
    animation: noevaFaqOrb 9s ease-in-out infinite alternate;
}

.noeva-faq__orb--pink {
    left: -170px;
    top: 16%;
    background: rgba(255, 0, 107, 0.36);
}

.noeva-faq__orb--cyan {
    right: -180px;
    top: 4%;
    background: rgba(8, 236, 239, 0.30);
    animation-delay: -3s;
}

.noeva-faq__orb--purple {
    left: 42%;
    bottom: -240px;
    width: 520px;
    height: 520px;
    background: rgba(208, 11, 244, 0.28);
    animation-delay: -5.4s;
}

.noeva-faq__container {
    position: relative;
    z-index: 3;
    width: min(1180px, 100%);
    margin: 0 auto;
}

.noeva-faq__header {
    max-width: 820px;
    margin: 0 auto clamp(38px, 5vw, 66px);
    text-align: center;
}

.noeva-faq__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 0 17px;
    margin-bottom: 22px;
    border-radius: 999px;
    border: 1px solid rgba(8, 236, 239, 0.32);
    background: rgba(255, 255, 255, 0.075);
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow: 0 0 24px rgba(8, 236, 239, 0.14);
}

.noeva-faq__eyebrow span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--noeva-cyan);
    box-shadow: 0 0 16px var(--noeva-cyan);
}

.noeva-faq__title {
    margin: 0;
    font-family: var(--noeva-font-title);
    font-size: clamp(2.3rem, 5.4vw, 5.15rem);
    line-height: 0.96;
    letter-spacing: -0.064em;
    text-transform: uppercase;
}

.noeva-faq__title strong {
    display: block;
    margin-top: 8px;
    background: linear-gradient(90deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 0 18px rgba(255, 0, 107, 0.24));
}

.noeva-faq__intro {
    max-width: 760px;
    margin: 24px auto 0;
    color: var(--noeva-muted);
    font-size: 1.02rem;
    line-height: 1.82;
}

.noeva-faq__layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.42fr) minmax(0, 0.58fr);
    align-items: start;
    gap: clamp(24px, 4vw, 48px);
}

.noeva-faq__aside {
    position: sticky;
    top: calc(var(--noeva-header-height) + 28px);
    padding: clamp(24px, 3vw, 34px);
    border-radius: 32px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background:
        radial-gradient(circle at 18% 16%, rgba(8, 236, 239, 0.16), transparent 34%),
        radial-gradient(circle at 82% 82%, rgba(255, 0, 107, 0.15), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.045)),
        rgba(5, 0, 19, 0.64);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.36), 0 0 44px rgba(8, 236, 239, 0.14);
}

.noeva-faq__aside-kicker {
    display: inline-flex;
    margin-bottom: 14px;
    color: var(--noeva-cyan);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.noeva-faq__aside h3 {
    margin: 0;
    font-family: var(--noeva-font-title);
    font-size: clamp(1.72rem, 2.6vw, 2.55rem);
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.noeva-faq__aside p {
    margin: 18px 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.95rem;
    line-height: 1.72;
}

.noeva-faq__cta {
    position: relative;
    width: 100%;
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 26px;
    padding: 14px 20px;
    border-radius: 999px;
    overflow: hidden;
    color: var(--noeva-white);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
    background: linear-gradient(135deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    box-shadow: 0 18px 44px rgba(255, 0, 107, 0.24), 0 0 34px rgba(8, 236, 239, 0.18);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.noeva-faq__cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 54px rgba(255, 0, 107, 0.31), 0 0 46px rgba(8, 236, 239, 0.25);
}

.noeva-faq__list {
    display: grid;
    gap: 16px;
}

.noeva-faq__item {
    position: relative;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.04)),
        rgba(5, 0, 19, 0.58);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    overflow: hidden;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.noeva-faq__item:hover,
.noeva-faq__item[open] {
    border-color: rgba(8, 236, 239, 0.34);
    box-shadow:
        0 22px 58px rgba(0, 0, 0, 0.34),
        0 0 34px rgba(8, 236, 239, 0.13),
        0 0 34px rgba(255, 0, 107, 0.10);
}

.noeva-faq__item:hover {
    transform: translateY(-2px);
}

.noeva-faq__item summary {
    position: relative;
    z-index: 2;
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    cursor: pointer;
    list-style: none;
}

.noeva-faq__item summary::-webkit-details-marker {
    display: none;
}

.noeva-faq__question {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    min-width: 0;
    color: var(--noeva-white);
    font-size: clamp(1rem, 1.35vw, 1.12rem);
    font-weight: 900;
    line-height: 1.35;
}

.noeva-faq__pill {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    color: var(--noeva-cyan);
    font-family: var(--noeva-font-title);
    font-size: 0.82rem;
    font-weight: 900;
    background: rgba(8, 236, 239, 0.12);
    border: 1px solid rgba(8, 236, 239, 0.28);
    box-shadow: 0 0 18px rgba(8, 236, 239, 0.16);
}

.noeva-faq__icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: var(--noeva-white);
    background: linear-gradient(135deg, rgba(255, 0, 107, 0.26), rgba(8, 236, 239, 0.18));
    border: 1px solid rgba(255, 255, 255, 0.16);
    transition: transform 0.25s ease, color 0.25s ease;
}

.noeva-faq__icon svg {
    width: 21px;
    height: 21px;
}

.noeva-faq__item[open] .noeva-faq__icon {
    color: var(--noeva-cyan);
    transform: rotate(45deg);
}

.noeva-faq__answer {
    position: relative;
    z-index: 2;
    padding: 0 24px 24px 81px;
    color: rgba(255, 255, 255, 0.73);
    font-size: 0.97rem;
    line-height: 1.78;
}

.noeva-faq__answer p {
    margin: 0;
}

.noeva-faq__answer p + p,
.noeva-faq__answer p + ul,
.noeva-faq__answer ul + p {
    margin-top: 14px;
}

.noeva-faq__answer ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.noeva-faq__answer li {
    position: relative;
    padding-left: 24px;
}

.noeva-faq__answer li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--noeva-cyan);
    box-shadow: 0 0 12px var(--noeva-cyan);
}

[data-noeva-faq-reveal] {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity 0.72s ease, transform 0.72s ease;
}

[data-noeva-faq-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes noevaFaqOrb {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to { transform: translate3d(24px, -24px, 0) scale(1.08); }
}

@media (max-width: 980px) {
    .noeva-faq__layout {
        grid-template-columns: 1fr;
    }

    .noeva-faq__aside {
        position: relative;
        top: auto;
        width: min(760px, 100%);
        margin: 0 auto;
    }
}

@media (max-width: 680px) {
    .noeva-faq {
        padding: 86px 16px;
    }

    .noeva-faq__header {
        text-align: left;
    }

    .noeva-faq__title {
        font-size: clamp(2.15rem, 12vw, 3.35rem);
        letter-spacing: -0.055em;
    }

    .noeva-faq__intro {
        font-size: 0.96rem;
    }

    .noeva-faq__aside {
        padding: 24px 20px;
        border-radius: 28px;
    }

    .noeva-faq__item {
        border-radius: 21px;
    }

    .noeva-faq__item summary {
        min-height: auto;
        align-items: flex-start;
        padding: 18px 16px;
    }

    .noeva-faq__question {
        align-items: flex-start;
        gap: 12px;
    }

    .noeva-faq__pill,
    .noeva-faq__icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .noeva-faq__answer {
        padding: 0 16px 20px 66px;
        font-size: 0.93rem;
    }
}

@media (max-width: 440px) {
    .noeva-faq__answer {
        padding-left: 16px;
    }

    .noeva-faq__question {
        font-size: 0.95rem;
    }

    .noeva-faq__cta {
        font-size: 0.78rem;
        padding-inline: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .noeva-faq__orb {
        animation: none;
    }

    [data-noeva-faq-reveal],
    .noeva-faq__item,
    .noeva-faq__cta,
    .noeva-faq__icon {
        transition: none;
    }
}

/* =========================================================
   FIX MOBILE Ã¢â‚¬â€ FORMATIONS SUR UNE COLONNE
========================================================= */

@media (max-width: 700px) {
    .boost-formations__selector {
        display: grid;
        grid-template-columns: 1fr;
        min-height: auto;
        gap: 16px;
        padding: 14px;
        border-radius: 28px;
    }

    .boost-formation-choice,
    .boost-formation-choice.is-active {
        width: 100%;
        flex: none;
        min-width: 0;
        min-height: 280px;
        border-radius: 24px;
    }

    .boost-formation-choice__content {
        max-width: 100%;
    }

    .boost-formation-choice__content strong,
    .boost-formation-choice__content em {
        max-width: 100%;
    }
}

/* =========================================================
   FIX MOBILE Ã¢â‚¬â€ CTA DANS MENU BURGER
========================================================= */

.noeva-header__nav .noeva-header__cta--mobile {
    display: none;
}

.noeva-header__cta--desktop {
    display: inline-flex;
}

@media (max-width: 820px) {
    .noeva-header__cta--desktop {
        display: none;
    }

    .noeva-header__nav .noeva-header__cta--mobile {
        display: inline-flex;
        width: 100%;
        margin: 8px 0 0;
        min-height: 52px;
        justify-content: center;
        color: var(--noeva-white);
    }

    .noeva-header__nav .noeva-header__cta--mobile {
        border: 0;
        background: linear-gradient(135deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
        box-shadow:
            0 14px 34px rgba(255, 0, 107, 0.24),
            0 0 28px rgba(8, 236, 239, 0.16);
    }
}

@media (max-width: 640px) {
    .noeva-header__cta {
        display: none;
    }

    .noeva-header__nav.is-open .noeva-header__cta--mobile {
        display: inline-flex;
    }
}

/* =========================================================
   OVERRIDE NOÃƒâ€°VA - PRIX DANS ACCOMPAGNEMENT
========================================================= */

.noeva-accompagnement-pricing {
    position: relative;
    z-index: 6;
    width: min(1050px, 100%);
    margin: clamp(42px, 6vw, 72px) auto 0;
}

.noeva-accompagnement-pricing__header {
    max-width: 760px;
    margin: 0 auto clamp(30px, 4vw, 48px);
    text-align: center;
}

.noeva-accompagnement-pricing__header span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 16px;
    margin-bottom: 16px;
    border-radius: 999px;
    color: var(--noeva-cyan);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
    background: rgba(8, 236, 239, 0.10);
    border: 1px solid rgba(8, 236, 239, 0.26);
}

.noeva-accompagnement-pricing__header h3 {
    margin: 0;
    color: #fff;
    font-family: var(--noeva-font-title);
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
}

.noeva-accompagnement-pricing__header p {
    max-width: 700px;
    margin: 18px auto 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.98rem;
    line-height: 1.74;
}

.noeva-price-deck {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: clamp(18px, 3vw, 34px);
}

.noeva-price-card {
    --plan-main: var(--noeva-cyan);
    --plan-second: #04909b;

    position: relative;
    flex: 1 1 0;
    max-width: 410px;
    min-height: 540px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 32px;
    background: #ffffff;
    color: #15151d;
    box-shadow:
        0 34px 90px rgba(0, 0, 0, 0.48),
        0 0 48px color-mix(in srgb, var(--plan-main) 24%, transparent);
    transform: translateY(0);
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease;
}

.noeva-price-card--essential {
    --plan-main: var(--noeva-cyan);
    --plan-second: #048f91;
}

.noeva-price-card--intensive {
    --plan-main: var(--noeva-orange);
    --plan-second: var(--noeva-purple);
    transform: translateY(-18px) scale(1.04);
}

.noeva-price-card:hover {
    transform: translateY(-8px);
    box-shadow:
        0 44px 110px rgba(0, 0, 0, 0.56),
        0 0 64px color-mix(in srgb, var(--plan-main) 32%, transparent);
}

.noeva-price-card--intensive:hover {
    transform: translateY(-26px) scale(1.04);
}

.noeva-price-card__top {
    position: relative;
    min-height: 190px;
    display: grid;
    place-items: center;
    gap: 10px;
    padding: 30px 26px 54px;
    color: #fff;
    text-align: center;
    background:
        radial-gradient(circle at 78% 24%, rgba(255, 255, 255, 0.22), transparent 26%),
        linear-gradient(135deg, var(--plan-main), var(--plan-second));
}

.noeva-price-card__top::before,
.noeva-price-card__top::after {
    content: "";
    position: absolute;
    left: -10%;
    right: -10%;
    bottom: -42px;
    height: 92px;
    border-radius: 50% 50% 0 0;
    background: #ffffff;
}

.noeva-price-card__top::after {
    left: 38%;
    bottom: -34px;
    height: 82px;
    background: color-mix(in srgb, var(--plan-second) 26%, #ffffff);
    opacity: 0.9;
}

.noeva-price-card__icon,
.noeva-price-card__top strong {
    position: relative;
    z-index: 2;
}

.noeva-price-card__icon {
    width: 76px;
    height: 76px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
    font-family: var(--noeva-font-title);
    font-size: 1.35rem;
    font-weight: 950;
    border: 2px solid rgba(255, 255, 255, 0.72);
    background: rgba(255, 255, 255, 0.13);
    box-shadow: 0 0 30px rgba(255, 255, 255, 0.18);
}

.noeva-price-card__top strong {
    font-family: var(--noeva-font-title);
    font-size: clamp(1.55rem, 2.6vw, 2.2rem);
    font-weight: 900;
    text-transform: uppercase;
}

.noeva-price-card__body {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 34px 30px 28px;
}

.noeva-price-card__price {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin: 0 0 22px;
}

.noeva-price-card__price span {
    color: #202027;
    font-family: var(--noeva-font-title);
    font-size: clamp(2.6rem, 5vw, 4.25rem);
    font-weight: 900;
    line-height: 0.9;
}

.noeva-price-card__price small {
    max-width: 86px;
    margin-bottom: 6px;
    color: #555564;
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.noeva-price-card ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.noeva-price-card li {
    position: relative;
    padding-left: 22px;
    color: #4b4b58;
    font-size: 0.94rem;
    line-height: 1.45;
}

.noeva-price-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--plan-main);
    box-shadow: 0 0 12px color-mix(in srgb, var(--plan-main) 55%, transparent);
}

.noeva-price-card__button {
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    padding: 13px 18px;
    border-radius: 12px;
    color: #fff;
    font-size: 0.88rem;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    background: #25252b;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.20);
    transition:
        transform 0.25s ease,
        background 0.25s ease;
}

.noeva-price-card__button:hover {
    transform: translateY(-2px);
    background: #111116;
}

@media (max-width: 860px) {
    .noeva-price-deck {
        display: grid;
        grid-template-columns: 1fr;
        width: min(430px, 100%);
        margin: 0 auto;
    }

    .noeva-price-card,
    .noeva-price-card--intensive,
    .noeva-price-card--intensive:hover {
        max-width: none;
        min-height: auto;
        transform: none;
    }
}

/* =========================================================
   OVERRIDE NOÃƒâ€°VA - TIMELINE HORIZONTALE 90 JOURS
========================================================= */

.noeva-journey90 {
    padding: clamp(96px, 9vw, 150px) 20px;
}

.noeva-journey90__header {
    margin-bottom: clamp(34px, 5vw, 58px);
}

.noeva-journey90__phases {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 22px);
    margin-bottom: clamp(26px, 4vw, 42px);
}

.noeva-journey90__phase-card {
    --phase-accent: var(--noeva-cyan);

    position: relative;
    overflow: hidden;
    padding: 22px;
    border-radius: 26px;
    border: 1px solid color-mix(in srgb, var(--phase-accent) 32%, rgba(255, 255, 255, 0.14));
    background:
        radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--phase-accent) 22%, transparent), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.04)),
        rgba(5, 0, 19, 0.58);
    box-shadow:
        0 22px 58px rgba(0, 0, 0, 0.30),
        0 0 34px color-mix(in srgb, var(--phase-accent) 18%, transparent);
}

.noeva-journey90__phase-card--mindset {
    --phase-accent: var(--noeva-cyan);
}

.noeva-journey90__phase-card--leadership {
    --phase-accent: var(--noeva-orange);
}

.noeva-journey90__phase-card--social {
    --phase-accent: var(--noeva-purple);
}

.noeva-journey90__phase-card span {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--phase-accent);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.noeva-journey90__phase-card strong {
    display: block;
    color: #fff;
    font-family: var(--noeva-font-title);
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.02;
    text-transform: uppercase;
}

.noeva-journey90__phase-card p {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.92rem;
    line-height: 1.6;
}

.noeva-journey90__scroll-hint {
    width: fit-content;
    margin: 0 auto 18px;
    padding: 10px 16px;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.86rem;
    font-weight: 800;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.noeva-journey90__timeline {
    position: relative;
    display: block;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    border-radius: 36px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background:
        radial-gradient(circle at 12% 30%, rgba(8, 236, 239, 0.13), transparent 34%),
        radial-gradient(circle at 86% 26%, rgba(255, 0, 107, 0.12), transparent 32%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.035)),
        rgba(5, 0, 19, 0.58);
    box-shadow:
        0 34px 92px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.13);
    scroll-snap-type: x proximity;
    scrollbar-color: var(--noeva-cyan) rgba(255, 255, 255, 0.08);
}

.noeva-journey90__timeline::before {
    display: none;
}

.noeva-journey90__timeline::-webkit-scrollbar {
    height: 12px;
}

.noeva-journey90__timeline::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 999px;
}

.noeva-journey90__timeline::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: linear-gradient(90deg, var(--noeva-cyan), var(--noeva-pink), var(--noeva-purple));
}

.noeva-journey90__rail {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 34px;
    width: max-content;
    min-width: 100%;
    padding: 128px 34px 34px;
}

.noeva-journey90__rail::before {
    content: "";
    position: absolute;
    top: 95px;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--noeva-cyan), var(--noeva-pink), var(--noeva-purple), transparent);
    box-shadow:
        0 0 22px rgba(8, 236, 239, 0.38),
        0 0 32px rgba(255, 0, 107, 0.24);
}

.noeva-journey90__item {
    --item-accent: var(--noeva-cyan);

    position: relative;
    flex: 0 0 265px;
    min-height: 255px;
    padding: 48px 18px 18px;
    border-radius: 24px;
    border: 1px solid color-mix(in srgb, var(--item-accent) 26%, rgba(255, 255, 255, 0.13));
    background:
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--item-accent) 20%, transparent), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.115), rgba(255, 255, 255, 0.04)),
        rgba(6, 0, 21, 0.74);
    box-shadow:
        0 20px 54px rgba(0, 0, 0, 0.34),
        0 0 34px color-mix(in srgb, var(--item-accent) 15%, transparent),
        inset 0 1px 0 rgba(255, 255, 255, 0.13);
    scroll-snap-align: start;
}

.noeva-journey90__item--mindset {
    --item-accent: var(--noeva-cyan);
}

.noeva-journey90__item--leadership {
    --item-accent: var(--noeva-orange);
}

.noeva-journey90__item--social {
    --item-accent: var(--noeva-purple);
}

.noeva-journey90__marker {
    position: absolute;
    top: -60px;
    left: 50%;
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #050013;
    font-family: var(--noeva-font-title);
    font-size: 0.96rem;
    font-weight: 950;
    background: linear-gradient(135deg, var(--item-accent), #ffffff);
    box-shadow:
        0 0 0 11px color-mix(in srgb, var(--item-accent) 12%, transparent),
        0 0 0 27px color-mix(in srgb, var(--item-accent) 6%, transparent),
        0 0 34px color-mix(in srgb, var(--item-accent) 48%, transparent);
    transform: translateX(-50%);
}

.noeva-journey90__phase,
.noeva-journey90__duration {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    margin: 0 6px 12px 0;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.noeva-journey90__phase {
    color: var(--item-accent);
    background: color-mix(in srgb, var(--item-accent) 11%, rgba(255, 255, 255, 0.06));
}

.noeva-journey90__duration {
    color: rgba(255, 255, 255, 0.78);
    background: rgba(255, 255, 255, 0.08);
}

.noeva-journey90__item h3 {
    margin: 0;
    color: #fff;
    font-family: var(--noeva-font-title);
    font-size: 1.08rem;
    line-height: 1.18;
    text-transform: uppercase;
}

.noeva-journey90__item p {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.88rem;
    line-height: 1.58;
}

@media (max-width: 900px) {
    .noeva-journey90__phases {
        grid-template-columns: 1fr;
    }

    .noeva-journey90__timeline {
        border-radius: 28px;
    }

    .noeva-journey90__item {
        flex-basis: 245px;
    }
}

@media (max-width: 560px) {
    .noeva-accompagnement-pricing__header,
    .noeva-journey90__header {
        text-align: left;
    }

    .noeva-journey90__scroll-hint {
        width: 100%;
        text-align: center;
    }

    .noeva-journey90__rail {
        gap: 22px;
        padding-inline: 22px;
    }

    .noeva-journey90__item {
        flex-basis: min(78vw, 275px);
    }
}

/* =========================================================
   OVERRIDE NOÃƒâ€°VA - OFFRES ACCOMPAGNEMENT 3 FORMULES
========================================================= */

.noeva-accompagnement-pricing {
    width: min(1210px, 100%);
    margin-bottom: 15px;
}

.noeva-accompagnement__scene {
    display: none !important;
}

.noeva-price-deck {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(16px, 2vw, 26px);
}

.noeva-price-card {
    width: 100%;
    max-width: none;
    min-height: 570px;
}

.noeva-price-card--essential {
    --plan-main: var(--noeva-cyan);
    --plan-second: #049092;
}

.noeva-price-card--standard {
    --plan-main: var(--noeva-orange);
    --plan-second: var(--noeva-pink);
    transform: translateY(-18px) scale(1.035);
}

.noeva-price-card--privilege {
    --plan-main: var(--noeva-purple);
    --plan-second: var(--noeva-cyan);
}

.noeva-price-card--standard:hover {
    transform: translateY(-26px) scale(1.035);
}

.noeva-price-card__top {
    min-height: 168px;
    padding: 28px 24px 30px;
    border-bottom: 7px solid color-mix(in srgb, var(--plan-second) 42%, #ffffff);
}

.noeva-price-card__top::before,
.noeva-price-card__top::after {
    content: none !important;
    display: none !important;
}

.noeva-price-card__body {
    padding: 30px 26px 26px;
}

.noeva-price-card__price {
    flex-wrap: wrap;
    align-items: baseline;
    row-gap: 4px;
}

.noeva-price-card__price span {
    font-size: clamp(2.2rem, 3.6vw, 3.7rem);
}

.noeva-price-card__price small {
    max-width: 80px;
}

@media (max-width: 1120px) {
    .noeva-price-deck {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .noeva-price-deck {
        grid-template-columns: 1fr;
        width: min(430px, 100%);
        margin: 0 auto;
    }

    .noeva-price-card,
    .noeva-price-card--standard,
    .noeva-price-card--standard:hover {
        min-height: auto;
        transform: none;
    }
}

/* =========================================================
   OVERRIDE NOÃƒâ€°VA - TIMELINE NAVIGATION SOURIS
========================================================= */

.noeva-journey90__timeline {
    cursor: ew-resize;
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
    overscroll-behavior-x: contain;
}

.noeva-journey90__item {
    scroll-snap-align: none !important;
}

.noeva-journey90__timeline.is-edge-scrolling-left {
    box-shadow:
        0 34px 92px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.13);
}

.noeva-journey90__timeline.is-edge-scrolling-right {
    box-shadow:
        0 34px 92px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.13);
}

/* =========================================================
   OVERRIDE NOÃƒâ€°VA - COACHING D'Ãƒâ€°QUIPE 90 JOURS
========================================================= */

.noeva-teamcoaching {
    position: relative;
    margin-top: clamp(46px, 6vw, 82px);
}

.noeva-teamcoaching__shell {
    position: relative;
    overflow: hidden;
    padding: clamp(24px, 4vw, 42px);
    border-radius: 34px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background:
        radial-gradient(circle at 16% 14%, rgba(8, 236, 239, 0.22), transparent 34%),
        radial-gradient(circle at 82% 18%, rgba(255, 0, 107, 0.20), transparent 32%),
        radial-gradient(circle at 70% 86%, rgba(117, 80, 255, 0.20), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035)),
        rgba(5, 0, 19, 0.78);
    box-shadow:
        0 34px 110px rgba(0, 0, 0, 0.46),
        inset 0 1px 0 rgba(255, 255, 255, 0.13);
}

.noeva-teamcoaching__shell::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(115deg, transparent 0 28%, rgba(255, 255, 255, 0.08) 44%, transparent 62%),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 120px);
    opacity: 0.55;
}

.noeva-teamcoaching__header,
.noeva-teamcoaching__slots,
.noeva-teamcoaching__hint,
.noeva-teamcoaching__weeks,
.noeva-teamcoaching__details {
    position: relative;
    z-index: 2;
}

.noeva-teamcoaching__header {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    gap: clamp(18px, 4vw, 54px);
    align-items: end;
}

.noeva-teamcoaching__eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 34px;
    padding: 0 14px;
    margin-bottom: 14px;
    border-radius: 999px;
    color: var(--noeva-cyan);
    font-size: 0.74rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: rgba(8, 236, 239, 0.11);
    border: 1px solid rgba(8, 236, 239, 0.26);
}

.noeva-teamcoaching__header h3 {
    max-width: 780px;
    margin: 0;
    color: #fff;
    font-family: var(--noeva-font-title);
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1.02;
    text-transform: uppercase;
}

.noeva-teamcoaching__header p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.98rem;
    line-height: 1.72;
}

.noeva-teamcoaching__slots {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.noeva-teamcoaching__slots span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 15px;
    border-radius: 999px;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
    background:
        linear-gradient(135deg, rgba(8, 236, 239, 0.18), rgba(255, 0, 107, 0.16)),
        rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.noeva-teamcoaching__hint {
    margin: 26px 0 14px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.86rem;
    font-weight: 800;
}

.noeva-teamcoaching__weeks {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 8px 4px 22px;
    scroll-snap-type: x proximity;
    scrollbar-color: var(--noeva-cyan) rgba(255, 255, 255, 0.08);
}

.noeva-teamcoaching__weeks::-webkit-scrollbar {
    height: 12px;
}

.noeva-teamcoaching__weeks::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 999px;
}

.noeva-teamcoaching__weeks::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: linear-gradient(90deg, var(--noeva-cyan), var(--noeva-pink), var(--noeva-purple));
}

.noeva-teamcoaching__week {
    --coach-accent: var(--noeva-cyan);
    --coach-accent-2: var(--noeva-pink);

    position: relative;
    flex: 0 0 calc((100% - 48px) / 3);
    min-width: 280px;
    min-height: 285px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 22px;
    border: 1px solid color-mix(in srgb, var(--coach-accent) 28%, rgba(255, 255, 255, 0.14));
    border-radius: 26px;
    color: #fff;
    text-align: left;
    cursor: pointer;
    background:
        radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--coach-accent) 24%, transparent), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04)),
        rgba(6, 0, 23, 0.80);
    box-shadow:
        0 18px 54px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.13);
    scroll-snap-align: start;
    transition:
        transform 0.24s ease,
        border-color 0.24s ease,
        box-shadow 0.24s ease,
        background 0.24s ease;
}

.noeva-teamcoaching__week::after {
    content: "";
    position: absolute;
    inset: auto 18px 18px 18px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--coach-accent), var(--coach-accent-2));
    opacity: 0.42;
}

.noeva-teamcoaching__week--mindset {
    --coach-accent: var(--noeva-cyan);
    --coach-accent-2: var(--noeva-pink);
}

.noeva-teamcoaching__week--leadership {
    --coach-accent: var(--noeva-orange);
    --coach-accent-2: var(--noeva-pink);
}

.noeva-teamcoaching__week--social {
    --coach-accent: var(--noeva-purple);
    --coach-accent-2: var(--noeva-cyan);
}

.noeva-teamcoaching__week:hover,
.noeva-teamcoaching__week.is-active {
    transform: translateY(-6px);
    border-color: color-mix(in srgb, var(--coach-accent) 70%, rgba(255, 255, 255, 0.20));
    box-shadow:
        0 26px 72px rgba(0, 0, 0, 0.36),
        0 0 40px color-mix(in srgb, var(--coach-accent) 25%, transparent),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.noeva-teamcoaching__week.is-active {
    background:
        radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--coach-accent) 36%, transparent), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.17), rgba(255, 255, 255, 0.055)),
        rgba(6, 0, 23, 0.88);
}

.noeva-teamcoaching__number {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    color: #050013;
    font-family: var(--noeva-font-title);
    font-size: 0.94rem;
    font-weight: 950;
    background: linear-gradient(135deg, var(--coach-accent), #fff);
    box-shadow: 0 0 26px color-mix(in srgb, var(--coach-accent) 44%, transparent);
}

.noeva-teamcoaching__slot,
.noeva-teamcoaching__week small {
    color: color-mix(in srgb, var(--coach-accent) 76%, #ffffff);
    font-size: 0.72rem;
    font-weight: 950;
    text-transform: uppercase;
}

.noeva-teamcoaching__week strong {
    margin-top: 6px;
    font-family: var(--noeva-font-title);
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    line-height: 1;
    text-transform: uppercase;
}

.noeva-teamcoaching__week p {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.9rem;
    line-height: 1.58;
}

.noeva-teamcoaching__details {
    margin-top: 18px;
}

.noeva-teamcoaching__detail {
    display: none;
    grid-template-columns: minmax(0, 0.85fr) minmax(260px, 1fr);
    gap: clamp(18px, 4vw, 44px);
    align-items: center;
    padding: clamp(22px, 3vw, 32px);
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background:
        radial-gradient(circle at 12% 16%, rgba(8, 236, 239, 0.12), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.045)),
        rgba(4, 0, 17, 0.70);
    box-shadow:
        0 22px 64px rgba(0, 0, 0, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.noeva-teamcoaching__detail.is-active {
    display: grid;
}

.noeva-teamcoaching__detail span {
    grid-column: 1;
    display: inline-flex;
    width: fit-content;
    min-height: 30px;
    align-items: center;
    padding: 0 12px;
    border-radius: 999px;
    color: var(--noeva-cyan);
    font-size: 0.72rem;
    font-weight: 950;
    text-transform: uppercase;
    background: rgba(8, 236, 239, 0.10);
    border: 1px solid rgba(8, 236, 239, 0.22);
}

.noeva-teamcoaching__detail h4 {
    grid-column: 1;
    margin: 14px 0 0;
    color: #fff;
    font-family: var(--noeva-font-title);
    font-size: clamp(1.7rem, 3vw, 2.8rem);
    line-height: 1.02;
    text-transform: uppercase;
}

.noeva-teamcoaching__detail p {
    grid-column: 1;
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.98rem;
    line-height: 1.75;
}

.noeva-teamcoaching__detail ul {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.noeva-teamcoaching__detail li {
    position: relative;
    padding-left: 24px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.95rem;
    line-height: 1.55;
}

.noeva-teamcoaching__detail li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.68em;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--noeva-cyan), var(--noeva-pink));
    box-shadow: 0 0 14px rgba(8, 236, 239, 0.42);
}

@media (max-width: 980px) {
    .noeva-teamcoaching__header,
    .noeva-teamcoaching__detail {
        grid-template-columns: 1fr;
    }

    .noeva-teamcoaching__detail span,
    .noeva-teamcoaching__detail h4,
    .noeva-teamcoaching__detail p,
    .noeva-teamcoaching__detail ul {
        grid-column: auto;
        grid-row: auto;
    }

    .noeva-teamcoaching__week {
        flex-basis: min(72vw, 330px);
    }
}

@media (max-width: 560px) {
    .noeva-teamcoaching__shell {
        padding: 22px 16px;
        border-radius: 26px;
    }

    .noeva-teamcoaching__header h3 {
        font-size: clamp(1.75rem, 10vw, 2.45rem);
    }

    .noeva-teamcoaching__week {
        flex-basis: min(84vw, 310px);
    }

    .noeva-teamcoaching__detail {
        padding: 20px;
    }
}

/* =========================================================
   OVERRIDE NOÃƒâ€°VA - INTERFACE COACHING STYLE GALERIE
========================================================= */

.noeva-teamcoaching {
    --team-orange: #FAA940;
    --team-orange-dark: #f89310;
    --team-pink: #FF006B;
    --team-pink-dark: #dc0b63;
    --team-red: #da0a0e;
    --team-red-dark: #971012;
    --team-purple: #d00bf4;
    --team-purple-dark: #9f07bb;
    --team-yellow: #fef00e;
    --team-yellow-dark: #d6cc25;
    --team-cyan: #08ecef;
    --team-cyan-dark: #0fc4c6;
    --team-green: #0cf60c;
    --team-green-dark: #07b806;
}

.noeva-teamcoaching__shell {
    display: flex;
    flex-direction: column;
    padding: clamp(18px, 3vw, 30px);
    border-radius: 28px;
    isolation: isolate;
    background:
        radial-gradient(circle at 18% 8%, rgba(8, 236, 239, 0.36), transparent 24%),
        radial-gradient(circle at 86% 18%, rgba(208, 11, 244, 0.30), transparent 28%),
        radial-gradient(circle at 50% 104%, rgba(255, 0, 107, 0.22), transparent 34%),
        linear-gradient(145deg, #070421 0%, #100526 42%, #040014 100%);
    box-shadow:
        0 38px 120px rgba(0, 0, 0, 0.58),
        0 0 0 1px rgba(255, 255, 255, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.noeva-teamcoaching__shell::before {
    background:
        radial-gradient(circle at 72% 18%, rgba(255, 255, 255, 0.24), transparent 8%),
        linear-gradient(115deg, transparent 0 36%, rgba(255, 255, 255, 0.11) 47%, transparent 62%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 42%);
    opacity: 0.78;
    mix-blend-mode: screen;
    animation: noevaTeamAurora 9s ease-in-out infinite alternate;
}

.noeva-teamcoaching__shell::after {
    content: "";
    position: absolute;
    right: -14%;
    top: -28%;
    z-index: 1;
    width: 44%;
    aspect-ratio: 1;
    pointer-events: none;
    border-radius: 999px;
    background:
        radial-gradient(circle, rgba(8, 236, 239, 0.32), rgba(208, 11, 244, 0.22) 42%, transparent 68%);
    filter: blur(18px);
    opacity: 0.78;
    animation: noevaTeamPulse 5.8s ease-in-out infinite;
}

.noeva-teamcoaching__header {
    order: 1;
    grid-template-columns: minmax(0, 0.92fr) minmax(280px, 0.72fr);
    padding: 6px clamp(2px, 1vw, 10px) 0;
}

.noeva-teamcoaching__slots {
    order: 2;
    margin-top: 18px;
}

.noeva-teamcoaching__details {
    order: 3;
    margin-top: clamp(22px, 3vw, 34px);
}

.noeva-teamcoaching__hint {
    order: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: clamp(24px, 3vw, 34px) 0 14px;
    color: rgba(255, 255, 255, 0.86);
    font-family: var(--noeva-font-title);
    font-size: clamp(1rem, 1.4vw, 1.24rem);
    line-height: 1.24;
    text-transform: uppercase;
}

.noeva-teamcoaching__hint::after {
    content: "12 semaines";
    flex: 0 0 auto;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 999px;
    color: #050013;
    font-size: 0.7rem;
    font-weight: 950;
    background: linear-gradient(135deg, var(--team-yellow), var(--team-orange));
    box-shadow: 0 0 22px rgba(250, 169, 64, 0.32);
}

.noeva-teamcoaching__weeks {
    order: 5;
    gap: 18px;
    padding: 4px 4px 20px;
}

.noeva-teamcoaching__detail {
    --detail-main: var(--team-cyan);
    --detail-dark: var(--team-cyan-dark);
    --detail-hot: var(--team-pink);

    position: relative;
    min-height: clamp(390px, 39vw, 510px);
    overflow: hidden;
    grid-template-columns: minmax(0, 0.94fr) minmax(250px, 0.76fr);
    align-content: end;
    gap: clamp(18px, 4vw, 54px);
    padding: clamp(26px, 5vw, 58px);
    border-radius: 26px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background:
        linear-gradient(90deg, rgba(4, 0, 20, 0.93) 0%, rgba(4, 0, 20, 0.76) 42%, rgba(4, 0, 20, 0.14) 100%),
        radial-gradient(circle at 82% 22%, color-mix(in srgb, var(--detail-main) 38%, transparent), transparent 24%),
        radial-gradient(circle at 92% 74%, color-mix(in srgb, var(--detail-hot) 32%, transparent), transparent 30%),
        linear-gradient(135deg, color-mix(in srgb, var(--detail-dark) 26%, #070421), #150226 52%, #02000b);
    box-shadow:
        0 28px 86px rgba(0, 0, 0, 0.52),
        0 0 54px color-mix(in srgb, var(--detail-main) 22%, transparent),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.noeva-teamcoaching__detail::before {
    content: "";
    position: absolute;
    right: clamp(18px, 5vw, 74px);
    top: clamp(26px, 5vw, 72px);
    width: min(36vw, 360px);
    aspect-ratio: 1.18;
    border-radius: 44% 56% 42% 58%;
    background:
        radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.82), transparent 0 12%, color-mix(in srgb, var(--detail-main) 72%, transparent) 13% 38%, transparent 62%),
        radial-gradient(circle at 70% 62%, color-mix(in srgb, var(--detail-hot) 68%, transparent), transparent 42%),
        linear-gradient(135deg, color-mix(in srgb, var(--detail-main) 78%, #fff), color-mix(in srgb, var(--detail-hot) 72%, #050013));
    filter: blur(0.2px);
    opacity: 0.80;
    transform: rotate(-10deg);
    box-shadow:
        0 0 80px color-mix(in srgb, var(--detail-main) 45%, transparent),
        0 0 120px color-mix(in srgb, var(--detail-hot) 28%, transparent);
    animation: noevaTeamFloat 6.8s ease-in-out infinite;
}

.noeva-teamcoaching__detail::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(115deg, transparent 0 48%, rgba(255, 255, 255, 0.20) 52%, transparent 58%),
        radial-gradient(circle at 78% 18%, rgba(255, 255, 255, 0.28), transparent 5%),
        radial-gradient(circle at 62% 32%, color-mix(in srgb, var(--detail-main) 42%, transparent), transparent 4%),
        radial-gradient(circle at 90% 52%, color-mix(in srgb, var(--detail-hot) 36%, transparent), transparent 5%);
    mix-blend-mode: screen;
    opacity: 0.82;
}

.noeva-teamcoaching__detail[data-team-detail="1"],
.noeva-teamcoaching__detail[data-team-detail="9"] {
    --detail-main: var(--team-cyan);
    --detail-dark: var(--team-cyan-dark);
    --detail-hot: var(--team-pink);
}

.noeva-teamcoaching__detail[data-team-detail="2"],
.noeva-teamcoaching__detail[data-team-detail="8"] {
    --detail-main: var(--team-yellow);
    --detail-dark: var(--team-yellow-dark);
    --detail-hot: var(--team-orange);
}

.noeva-teamcoaching__detail[data-team-detail="3"],
.noeva-teamcoaching__detail[data-team-detail="10"] {
    --detail-main: var(--team-purple);
    --detail-dark: var(--team-purple-dark);
    --detail-hot: var(--team-cyan);
}

.noeva-teamcoaching__detail[data-team-detail="4"],
.noeva-teamcoaching__detail[data-team-detail="12"] {
    --detail-main: var(--team-green);
    --detail-dark: var(--team-green-dark);
    --detail-hot: var(--team-purple);
}

.noeva-teamcoaching__detail[data-team-detail="5"],
.noeva-teamcoaching__detail[data-team-detail="11"] {
    --detail-main: var(--team-orange);
    --detail-dark: var(--team-orange-dark);
    --detail-hot: var(--team-red);
}

.noeva-teamcoaching__detail[data-team-detail="6"],
.noeva-teamcoaching__detail[data-team-detail="7"] {
    --detail-main: var(--team-pink);
    --detail-dark: var(--team-pink-dark);
    --detail-hot: var(--team-purple);
}

.noeva-teamcoaching__detail.is-active {
    display: grid;
    animation: noevaTeamDetailIn 0.46s ease both;
}

.noeva-teamcoaching__detail > * {
    position: relative;
    z-index: 2;
}

.noeva-teamcoaching__detail span {
    grid-column: 1;
    width: fit-content;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid color-mix(in srgb, var(--detail-main) 42%, rgba(255, 255, 255, 0.18));
    box-shadow: 0 0 20px color-mix(in srgb, var(--detail-main) 20%, transparent);
}

.noeva-teamcoaching__detail h4 {
    grid-column: 1;
    max-width: 650px;
    margin-top: 16px;
    font-size: clamp(2.35rem, 5vw, 5rem);
    letter-spacing: 0;
    text-shadow:
        0 0 28px color-mix(in srgb, var(--detail-main) 34%, transparent),
        0 10px 30px rgba(0, 0, 0, 0.46);
}

.noeva-teamcoaching__detail p {
    grid-column: 1;
    max-width: 680px;
    margin-top: 14px;
    color: rgba(255, 255, 255, 0.76);
    text-shadow: 0 10px 28px rgba(0, 0, 0, 0.44);
}

.noeva-teamcoaching__detail ul {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: end;
    padding: 20px;
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.055)),
        rgba(4, 0, 18, 0.58);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow:
        0 18px 44px rgba(0, 0, 0, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.noeva-teamcoaching__detail li::before {
    background: linear-gradient(135deg, var(--detail-main), var(--detail-hot));
    box-shadow: 0 0 16px color-mix(in srgb, var(--detail-main) 56%, transparent);
}

.noeva-teamcoaching__week {
    --coach-accent: var(--team-cyan);
    --coach-accent-2: var(--team-pink);

    flex: 0 0 calc((100% - 36px) / 3);
    min-height: 210px;
    padding: 18px;
    justify-content: flex-end;
    overflow: hidden;
    border-radius: 22px;
    background:
        linear-gradient(180deg, transparent 0%, rgba(4, 0, 18, 0.68) 64%, rgba(4, 0, 18, 0.95) 100%),
        radial-gradient(circle at 28% 20%, color-mix(in srgb, var(--coach-accent) 50%, transparent), transparent 34%),
        radial-gradient(circle at 80% 18%, color-mix(in srgb, var(--coach-accent-2) 42%, transparent), transparent 30%),
        linear-gradient(135deg, color-mix(in srgb, var(--coach-accent) 18%, #08051f), #130320);
}

.noeva-teamcoaching__week::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 72% 18%, rgba(255, 255, 255, 0.44), transparent 4%),
        linear-gradient(125deg, transparent 0 44%, rgba(255, 255, 255, 0.17) 50%, transparent 58%);
    mix-blend-mode: screen;
    opacity: 0.58;
    transition: opacity 0.24s ease, transform 0.24s ease;
}

.noeva-teamcoaching__week::after {
    inset: auto 16px 14px auto;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background:
        linear-gradient(135deg, var(--coach-accent), var(--coach-accent-2));
    opacity: 1;
    box-shadow: 0 0 24px color-mix(in srgb, var(--coach-accent) 44%, transparent);
}

.noeva-teamcoaching__week:nth-child(1),
.noeva-teamcoaching__week:nth-child(9) {
    --coach-accent: var(--team-cyan);
    --coach-accent-2: var(--team-pink);
}

.noeva-teamcoaching__week:nth-child(2),
.noeva-teamcoaching__week:nth-child(8) {
    --coach-accent: var(--team-yellow);
    --coach-accent-2: var(--team-orange);
}

.noeva-teamcoaching__week:nth-child(3),
.noeva-teamcoaching__week:nth-child(10) {
    --coach-accent: var(--team-purple);
    --coach-accent-2: var(--team-cyan);
}

.noeva-teamcoaching__week:nth-child(4),
.noeva-teamcoaching__week:nth-child(12) {
    --coach-accent: var(--team-green);
    --coach-accent-2: var(--team-purple);
}

.noeva-teamcoaching__week:nth-child(5),
.noeva-teamcoaching__week:nth-child(11) {
    --coach-accent: var(--team-orange);
    --coach-accent-2: var(--team-red);
}

.noeva-teamcoaching__week:nth-child(6),
.noeva-teamcoaching__week:nth-child(7) {
    --coach-accent: var(--team-pink);
    --coach-accent-2: var(--team-purple);
}

.noeva-teamcoaching__number {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    color: #fff;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow: 0 0 22px color-mix(in srgb, var(--coach-accent) 34%, transparent);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.noeva-teamcoaching__slot {
    position: relative;
    z-index: 2;
    width: fit-content;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    padding: 0 9px;
    border-radius: 999px;
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.16);
}

.noeva-teamcoaching__week small,
.noeva-teamcoaching__week strong,
.noeva-teamcoaching__week p {
    position: relative;
    z-index: 2;
}

.noeva-teamcoaching__week small {
    color: color-mix(in srgb, var(--coach-accent) 74%, #ffffff);
}

.noeva-teamcoaching__week strong {
    margin-top: 2px;
    font-size: clamp(1.2rem, 1.7vw, 1.55rem);
    text-shadow: 0 10px 26px rgba(0, 0, 0, 0.48);
}

.noeva-teamcoaching__week p {
    display: -webkit-box;
    min-height: 4.65em;
    margin-bottom: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.78);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.noeva-teamcoaching__week:hover::before,
.noeva-teamcoaching__week.is-active::before {
    opacity: 0.92;
    transform: translateX(8px);
}

.noeva-teamcoaching__week.is-active {
    animation: noevaTeamCardActive 1.9s ease-in-out infinite alternate;
}

@keyframes noevaTeamDetailIn {
    from {
        opacity: 0;
        transform: translateY(18px) scale(0.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes noevaTeamAurora {
    from {
        transform: translate3d(-2%, -1%, 0) scale(1);
        opacity: 0.58;
    }

    to {
        transform: translate3d(2%, 1%, 0) scale(1.04);
        opacity: 0.86;
    }
}

@keyframes noevaTeamPulse {
    0%,
    100% {
        transform: scale(0.94);
        opacity: 0.58;
    }

    50% {
        transform: scale(1.06);
        opacity: 0.90;
    }
}

@keyframes noevaTeamFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(-10deg);
    }

    50% {
        transform: translate3d(-10px, 14px, 0) rotate(-4deg);
    }
}

@keyframes noevaTeamCardActive {
    from {
        box-shadow:
            0 26px 72px rgba(0, 0, 0, 0.36),
            0 0 34px color-mix(in srgb, var(--coach-accent) 28%, transparent),
            inset 0 1px 0 rgba(255, 255, 255, 0.16);
    }

    to {
        box-shadow:
            0 30px 86px rgba(0, 0, 0, 0.44),
            0 0 58px color-mix(in srgb, var(--coach-accent) 44%, transparent),
            inset 0 1px 0 rgba(255, 255, 255, 0.18);
    }
}

@media (max-width: 980px) {
    .noeva-teamcoaching__detail {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .noeva-teamcoaching__detail::before {
        right: -70px;
        top: 20px;
        width: 280px;
        opacity: 0.38;
    }

    .noeva-teamcoaching__detail ul {
        grid-column: auto;
        grid-row: auto;
        align-self: auto;
    }

    .noeva-teamcoaching__week {
        flex-basis: min(74vw, 340px);
    }
}

@media (max-width: 560px) {
    .noeva-teamcoaching__hint {
        align-items: flex-start;
        flex-direction: column;
    }

    .noeva-teamcoaching__detail {
        padding: 24px 18px;
    }

    .noeva-teamcoaching__detail h4 {
        font-size: clamp(2rem, 12vw, 3.05rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .noeva-teamcoaching__shell::before,
    .noeva-teamcoaching__shell::after,
    .noeva-teamcoaching__detail::before,
    .noeva-teamcoaching__detail.is-active,
    .noeva-teamcoaching__week.is-active {
        animation: none;
    }
}

/* =========================================================
   OVERRIDE NOÃƒâ€°VA - COACHING PLEINE LARGEUR + IMAGES
========================================================= */

.noeva-teamcoaching {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding:
        clamp(64px, 7vw, 112px)
        max(20px, calc((100vw - 1210px) / 2))
        clamp(70px, 7vw, 118px);
    background:
        radial-gradient(circle at 8% 16%, rgba(8, 236, 239, 0.26), transparent 30%),
        radial-gradient(circle at 92% 12%, rgba(208, 11, 244, 0.26), transparent 30%),
        radial-gradient(circle at 50% 110%, rgba(255, 0, 107, 0.22), transparent 38%),
        linear-gradient(180deg, rgba(4, 0, 18, 0), rgba(7, 1, 28, 0.96) 12%, rgba(9, 0, 25, 0.98) 88%, rgba(4, 0, 18, 0));
}

.noeva-teamcoaching::before,
.noeva-teamcoaching::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

.noeva-teamcoaching::before {
    inset: 28px 0 auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(8, 236, 239, 0.70), rgba(255, 0, 107, 0.72), transparent);
    box-shadow:
        0 0 34px rgba(8, 236, 239, 0.30),
        0 0 48px rgba(255, 0, 107, 0.22);
}

.noeva-teamcoaching::after {
    right: -120px;
    top: 18%;
    width: min(48vw, 520px);
    aspect-ratio: 1;
    border-radius: 999px;
    background:
        radial-gradient(circle, rgba(8, 236, 239, 0.22), rgba(208, 11, 244, 0.18) 42%, transparent 68%);
    filter: blur(24px);
    opacity: 0.74;
    animation: noevaTeamPulse 6s ease-in-out infinite;
}

.noeva-teamcoaching__shell {
    max-width: 1210px;
    margin: 0 auto;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.noeva-teamcoaching__shell::before,
.noeva-teamcoaching__shell::after {
    display: none;
}

.noeva-teamcoaching__header {
    grid-template-columns: minmax(0, 0.96fr) minmax(320px, 0.72fr);
    gap: clamp(24px, 5vw, 72px);
    align-items: center;
    padding: 0;
}

.noeva-teamcoaching__intro {
    display: grid;
    gap: 18px;
}

.noeva-teamcoaching__intro-media {
    position: relative;
    aspect-ratio: 16 / 9;
    min-height: 190px;
    margin: 0;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background:
        linear-gradient(135deg, rgba(8, 236, 239, 0.26), rgba(208, 11, 244, 0.20), rgba(255, 0, 107, 0.22)),
        radial-gradient(circle at 68% 22%, rgba(255, 255, 255, 0.32), transparent 18%),
        rgba(7, 1, 28, 0.72);
    box-shadow:
        0 24px 72px rgba(0, 0, 0, 0.36),
        0 0 48px rgba(8, 236, 239, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.noeva-teamcoaching__intro-media::before,
.noeva-teamcoaching__visual::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(120deg, transparent 0 36%, rgba(255, 255, 255, 0.18) 48%, transparent 58%),
        radial-gradient(circle at 76% 18%, rgba(255, 255, 255, 0.34), transparent 6%);
    mix-blend-mode: screen;
    opacity: 0.78;
}

.noeva-teamcoaching__intro-media::after,
.noeva-teamcoaching__visual::after {
    content: attr(data-image-label);
    position: absolute;
    left: 16px;
    bottom: 14px;
    z-index: 3;
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0 12px;
    border-radius: 999px;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 950;
    text-transform: uppercase;
    background: rgba(5, 0, 19, 0.62);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.noeva-teamcoaching__intro-media img,
.noeva-teamcoaching__visual img {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.noeva-teamcoaching__intro-media img {
    aspect-ratio: 16 / 9;
}

.noeva-teamcoaching__intro-media.is-placeholder {
    display: grid;
    place-items: center;
}

.noeva-teamcoaching__intro-media.is-placeholder::after {
    content: "Image coaching live";
}

.noeva-teamcoaching__slots {
    gap: 14px;
    margin-top: clamp(26px, 3vw, 38px);
}

.noeva-teamcoaching__slots span {
    min-height: 48px;
    padding: 0 22px;
    color: #050013;
    font-size: 0.84rem;
    border: 0;
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.28),
        0 0 28px rgba(255, 255, 255, 0.14);
}

.noeva-teamcoaching__slots span:nth-child(1) {
    background: linear-gradient(135deg, #08ecef, #0fc4c6);
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.28),
        0 0 34px rgba(8, 236, 239, 0.36);
}

.noeva-teamcoaching__slots span:nth-child(2) {
    background: linear-gradient(135deg, #FAA940, #f89310);
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.28),
        0 0 34px rgba(250, 169, 64, 0.34);
}

.noeva-teamcoaching__slots span:nth-child(3) {
    color: #fff;
    background: linear-gradient(135deg, #d00bf4, #9f07bb, #FF006B);
    box-shadow:
        0 16px 34px rgba(0, 0, 0, 0.28),
        0 0 34px rgba(208, 11, 244, 0.34);
}

.noeva-teamcoaching__detail {
    grid-template-columns: minmax(0, 0.9fr) minmax(220px, 310px);
    align-items: center;
    min-height: clamp(420px, 44vw, 560px);
}

.noeva-teamcoaching__detail::before {
    display: none;
}

.noeva-teamcoaching__visual {
    position: relative;
    z-index: 2;
    grid-column: 2;
    grid-row: 1 / span 4;
    align-self: center;
    justify-self: end;
    width: min(100%, 300px);
    aspect-ratio: 9 / 16;
    margin: 0;
    overflow: hidden;
    border-radius: 30px;
    border: 1px solid color-mix(in srgb, var(--detail-main) 48%, rgba(255, 255, 255, 0.18));
    background:
        radial-gradient(circle at 28% 14%, color-mix(in srgb, var(--detail-main) 52%, transparent), transparent 35%),
        radial-gradient(circle at 78% 74%, color-mix(in srgb, var(--detail-hot) 40%, transparent), transparent 38%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.04)),
        rgba(5, 0, 19, 0.82);
    box-shadow:
        0 26px 70px rgba(0, 0, 0, 0.44),
        0 0 58px color-mix(in srgb, var(--detail-main) 32%, transparent),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
    transform: rotate(2deg);
    animation: noevaTeamVisualFloat 6s ease-in-out infinite;
}

.noeva-teamcoaching__visual.is-placeholder::after {
    content: attr(data-image-label) " - image 9/16";
}

.noeva-teamcoaching__detail ul {
    grid-column: 1;
    grid-row: auto;
    align-self: auto;
    margin-top: 16px;
}

@keyframes noevaTeamVisualFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(2deg);
    }

    50% {
        transform: translate3d(0, -10px, 0) rotate(-1deg);
    }
}

@media (max-width: 980px) {
    .noeva-teamcoaching {
        padding-inline: 20px;
    }

    .noeva-teamcoaching__header,
    .noeva-teamcoaching__detail {
        grid-template-columns: 1fr;
    }

    .noeva-teamcoaching__visual {
        grid-column: auto;
        grid-row: auto;
        justify-self: start;
        width: min(68vw, 260px);
        margin-top: 20px;
    }

    .noeva-teamcoaching__detail ul {
        grid-column: auto;
    }
}

@media (max-width: 560px) {
    .noeva-teamcoaching {
        padding-inline: 16px;
    }

    .noeva-teamcoaching__slots span {
        width: 100%;
        justify-content: center;
    }

    .noeva-teamcoaching__visual {
        width: min(78vw, 240px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .noeva-teamcoaching::after,
    .noeva-teamcoaching__visual {
        animation: none;
    }
}

/* =========================================================
   AJUSTEMENT NOÃƒâ€°VA - SEMAINES AU-DESSUS + CARTES IMAGE
========================================================= */

.noeva-teamcoaching__weeks {
    order: 3;
    margin-top: clamp(24px, 3vw, 38px);
}

.noeva-teamcoaching__details {
    order: 4;
    margin-top: clamp(26px, 3.4vw, 44px);
}

.noeva-teamcoaching__hint {
    order: 5;
}

.noeva-teamcoaching__week {
    background-color: #08051f;
    background-image:
        linear-gradient(180deg, rgba(4, 0, 18, 0.10) 0%, rgba(4, 0, 18, 0.34) 42%, rgba(4, 0, 18, 0.96) 100%),
        radial-gradient(circle at 24% 18%, color-mix(in srgb, var(--coach-accent) 46%, transparent), transparent 36%),
        radial-gradient(circle at 84% 20%, color-mix(in srgb, var(--coach-accent-2) 40%, transparent), transparent 32%),
        var(--team-week-image),
        linear-gradient(135deg, color-mix(in srgb, var(--coach-accent) 18%, #08051f), #130320);
    background-position: center;
    background-size: cover, auto, auto, cover, auto;
}

.noeva-teamcoaching__week::after {
    display: none;
    content: none;
}

.noeva-teamcoaching__week:nth-child(1) {
    --team-week-image: url("../img/coaching/semaine-01.jpg");
}

.noeva-teamcoaching__week:nth-child(2) {
    --team-week-image: url("../img/coaching/semaine-02.jpg");
}

.noeva-teamcoaching__week:nth-child(3) {
    --team-week-image: url("../img/coaching/semaine-03.jpg");
}

.noeva-teamcoaching__week:nth-child(4) {
    --team-week-image: url("../img/coaching/semaine-04.jpg");
}

.noeva-teamcoaching__week:nth-child(5) {
    --team-week-image: url("../img/coaching/semaine-05.jpg");
}

.noeva-teamcoaching__week:nth-child(6) {
    --team-week-image: url("../img/coaching/semaine-06.jpg");
}

.noeva-teamcoaching__week:nth-child(7) {
    --team-week-image: url("../img/coaching/semaine-07.jpg");
}

.noeva-teamcoaching__week:nth-child(8) {
    --team-week-image: url("../img/coaching/semaine-08.jpg");
}

.noeva-teamcoaching__week:nth-child(9) {
    --team-week-image: url("../img/coaching/semaine-09.jpg");
}

.noeva-teamcoaching__week:nth-child(10) {
    --team-week-image: url("../img/coaching/semaine-10.jpg");
}

.noeva-teamcoaching__week:nth-child(11) {
    --team-week-image: url("../img/coaching/semaine-11.jpg");
}

.noeva-teamcoaching__week:nth-child(12) {
    --team-week-image: url("../img/coaching/semaine-12.jpg");
}

/* PATCH NOEVA - semaines + accompagnement + FAQ */

.noeva-teamcoaching__weeks {
    order: 3 !important;
    margin-top: clamp(24px, 3vw, 38px) !important;
}

.noeva-teamcoaching__details {
    order: 4 !important;
    margin-top: clamp(26px, 3.4vw, 44px) !important;
}

.noeva-teamcoaching__hint {
    order: 5 !important;
}

.noeva-teamcoaching__week {
    background-color: #08051f;
    background-image:
        linear-gradient(180deg, rgba(4, 0, 18, 0.10) 0%, rgba(4, 0, 18, 0.34) 42%, rgba(4, 0, 18, 0.96) 100%),
        radial-gradient(circle at 24% 18%, color-mix(in srgb, var(--coach-accent, #08ecef) 46%, transparent), transparent 36%),
        radial-gradient(circle at 84% 20%, color-mix(in srgb, var(--coach-accent-2, #ff006b) 40%, transparent), transparent 32%),
        var(--team-week-image),
        linear-gradient(135deg, #08051f, #130320) !important;
    background-position: center !important;
    background-size: cover, auto, auto, cover, auto !important;
}

.noeva-teamcoaching__week::after {
    display: none !important;
    content: none !important;
}

.noeva-teamcoaching__week:nth-child(1) { --team-week-image: url("../img/coaching/semaine-01.jpg"); }
.noeva-teamcoaching__week:nth-child(2) { --team-week-image: url("../img/coaching/semaine-02.jpg"); }
.noeva-teamcoaching__week:nth-child(3) { --team-week-image: url("../img/coaching/semaine-03.jpg"); }
.noeva-teamcoaching__week:nth-child(4) { --team-week-image: url("../img/coaching/semaine-04.jpg"); }
.noeva-teamcoaching__week:nth-child(5) { --team-week-image: url("../img/coaching/semaine-05.jpg"); }
.noeva-teamcoaching__week:nth-child(6) { --team-week-image: url("../img/coaching/semaine-06.jpg"); }
.noeva-teamcoaching__week:nth-child(7) { --team-week-image: url("../img/coaching/semaine-07.jpg"); }
.noeva-teamcoaching__week:nth-child(8) { --team-week-image: url("../img/coaching/semaine-08.jpg"); }
.noeva-teamcoaching__week:nth-child(9) { --team-week-image: url("../img/coaching/semaine-09.jpg"); }
.noeva-teamcoaching__week:nth-child(10) { --team-week-image: url("../img/coaching/semaine-10.jpg"); }
.noeva-teamcoaching__week:nth-child(11) { --team-week-image: url("../img/coaching/semaine-11.jpg"); }
.noeva-teamcoaching__week:nth-child(12) { --team-week-image: url("../img/coaching/semaine-12.jpg"); }

.noeva-teamcoaching__detail[hidden] {
    display: none !important;
}

.noeva-teamcoaching__detail.is-active:not([hidden]) {
    display: grid !important;
}

.noeva-accompagnement [data-accompagnement-reveal],
.noeva-faq [data-noeva-faq-reveal],
body.noeva-js-ready .noeva-accompagnement [data-accompagnement-reveal],
body.noeva-js-ready .noeva-faq [data-noeva-faq-reveal],
body.noeva-js-ready .noeva-accompagnement [data-accompagnement-reveal].is-visible,
body.noeva-js-ready .noeva-faq [data-noeva-faq-reveal].is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* =========================================================
   PATCH NOEVA - footer legal, popup confidentialite, page RGPD
========================================================= */

.noeva-footer {
    position: relative;
    z-index: 2;
    padding: 34px 20px 120px;
    color: rgba(255, 255, 255, 0.76);
    background:
        radial-gradient(circle at 10% 0%, rgba(255, 0, 107, 0.13), transparent 28%),
        radial-gradient(circle at 90% 0%, rgba(8, 236, 239, 0.12), transparent 30%),
        linear-gradient(180deg, rgba(5, 0, 19, 0.96), #050013);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.noeva-footer__inner {
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto minmax(220px, 1fr) auto;
    gap: 24px;
    align-items: center;
}

.noeva-footer__brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--noeva-white);
    font-weight: 900;
    text-decoration: none;
}

.noeva-footer p {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.7;
}

.noeva-footer__links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 12px;
}

.noeva-footer__links a,
.noeva-footer__links button,
.noeva-contact__privacy a {
    color: var(--noeva-cyan);
    font: inherit;
    font-weight: 800;
    text-decoration: none;
}

.noeva-footer__links button {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.noeva-footer__links a:hover,
.noeva-footer__links button:hover,
.noeva-contact__privacy a:hover {
    color: var(--noeva-white);
    text-decoration: underline;
}

.noeva-contact__checkbox--optional {
    margin-top: 10px;
    background: rgba(8, 236, 239, 0.055);
    border-color: rgba(8, 236, 239, 0.18);
}

.noeva-privacy-popup[hidden] {
    display: none !important;
}

.noeva-privacy-popup {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 20px;
}

.noeva-privacy-popup__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(5, 0, 19, 0.62);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    cursor: pointer;
}

.noeva-privacy-popup__dialog {
    position: relative;
    width: min(760px, 100%);
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 26px;
    color: var(--noeva-white);
    background:
        radial-gradient(circle at 10% 0%, rgba(255, 0, 107, 0.24), transparent 36%),
        radial-gradient(circle at 95% 0%, rgba(8, 236, 239, 0.20), transparent 34%),
        linear-gradient(135deg, rgba(14, 4, 40, 0.98), rgba(5, 0, 19, 0.98));
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.54),
        0 0 40px rgba(8, 236, 239, 0.16);
}

.noeva-privacy-popup__eyebrow {
    margin: 0 0 10px;
    color: var(--noeva-cyan);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.noeva-privacy-popup__dialog h2 {
    margin: 0 0 12px;
    font-family: var(--noeva-font-title);
    font-size: clamp(1.55rem, 3vw, 2.35rem);
    line-height: 1.1;
}

.noeva-privacy-popup__dialog p:not(.noeva-privacy-popup__eyebrow) {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.95rem;
    line-height: 1.7;
}

.noeva-privacy-popup__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.noeva-privacy-popup__link,
.noeva-privacy-popup__button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 999px;
    font-size: 0.86rem;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.noeva-privacy-popup__link {
    color: var(--noeva-cyan);
}

.noeva-privacy-popup__button {
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: var(--noeva-white);
}

.noeva-privacy-popup__button--ghost {
    background: rgba(255, 255, 255, 0.07);
}

.noeva-privacy-popup__button--primary {
    border-color: transparent;
    background: linear-gradient(135deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    box-shadow: 0 12px 28px rgba(8, 236, 239, 0.18);
}

.noeva-privacy-page {
    min-height: 100vh;
    color: var(--noeva-white);
    background:
        radial-gradient(circle at 16% 6%, rgba(255, 0, 107, 0.24), transparent 30%),
        radial-gradient(circle at 86% 12%, rgba(8, 236, 239, 0.20), transparent 32%),
        linear-gradient(135deg, var(--noeva-black), var(--noeva-deep) 52%, #17001d);
}

.noeva-privacy-header {
    width: min(1180px, calc(100% - 40px));
    min-height: 84px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.noeva-privacy {
    width: min(1040px, calc(100% - 40px));
    margin: 0 auto;
    padding: clamp(44px, 7vw, 86px) 0 100px;
}

.noeva-privacy__hero {
    margin-bottom: clamp(34px, 5vw, 60px);
}

.noeva-privacy__eyebrow {
    margin: 0 0 14px;
    color: var(--noeva-cyan);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.noeva-privacy__hero h1 {
    max-width: 820px;
    margin: 0 0 18px;
    font-family: var(--noeva-font-title);
    font-size: clamp(2.5rem, 7vw, 5.4rem);
    line-height: 0.98;
}

.noeva-privacy__hero p {
    max-width: 820px;
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.78);
    font-size: clamp(1rem, 2vw, 1.18rem);
    line-height: 1.75;
}

.noeva-privacy__hero small {
    color: rgba(255, 255, 255, 0.56);
    font-weight: 800;
}

.noeva-privacy__content {
    display: grid;
    gap: 18px;
}

.noeva-privacy__block {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.24);
}

.noeva-privacy__block h2 {
    margin: 0 0 14px;
    font-family: var(--noeva-font-title);
    font-size: clamp(1.25rem, 2.6vw, 1.75rem);
}

.noeva-privacy__block p,
.noeva-privacy__block li {
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.75;
}

.noeva-privacy__block p {
    margin: 0 0 14px;
}

.noeva-privacy__block p:last-child {
    margin-bottom: 0;
}

.noeva-privacy__block a {
    color: var(--noeva-cyan);
    font-weight: 800;
}

.noeva-privacy__block ul {
    margin: 0;
    padding-left: 20px;
}

.noeva-privacy__table-wrap {
    overflow-x: auto;
}

.noeva-privacy__block table {
    width: 100%;
    min-width: 640px;
    border-collapse: collapse;
    overflow: hidden;
    border-radius: 18px;
}

.noeva-privacy__block th,
.noeva-privacy__block td {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    text-align: left;
    vertical-align: top;
}

.noeva-privacy__block th {
    color: var(--noeva-white);
    background: rgba(8, 236, 239, 0.10);
}

.noeva-privacy__block td {
    color: rgba(255, 255, 255, 0.76);
    background: rgba(255, 255, 255, 0.045);
}

.noeva-privacy__choice-button {
    min-height: 44px;
    margin-top: 8px;
    padding: 11px 18px;
    border: 0;
    border-radius: 999px;
    color: var(--noeva-white);
    font: inherit;
    font-weight: 900;
    background: linear-gradient(135deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    cursor: pointer;
}

@media (max-width: 820px) {
    .noeva-footer__inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .noeva-footer__brand,
    .noeva-footer__links {
        justify-content: center;
    }

    .noeva-privacy-popup__actions {
        justify-content: stretch;
    }

    .noeva-privacy-popup__link,
    .noeva-privacy-popup__button {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .noeva-privacy-header {
        width: min(100% - 28px, 1180px);
        flex-direction: column;
        align-items: flex-start;
        padding: 18px 0;
    }

    .noeva-privacy {
        width: min(100% - 28px, 1040px);
    }

    .noeva-privacy-popup {
        padding: 12px;
    }

    .noeva-privacy-popup__dialog {
        border-radius: 22px;
    }
}

/* =========================================================
   OBJECTIF Ãƒâ€°QUILIBRE 2026 + MON HISTOIRE
   Bloc repris de histoire_jck.php et intÃƒÂ©grÃƒÂ© Ãƒ  l'univers NoÃƒÂ©va
========================================================= */
.noeva-story {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 118px 20px 128px;
    color: var(--noeva-white);
    background:
        radial-gradient(circle at 12% 10%, rgba(255, 0, 107, 0.14), transparent 30%),
        radial-gradient(circle at 90% 38%, rgba(8, 236, 239, 0.12), transparent 32%),
        radial-gradient(circle at 34% 92%, rgba(208, 11, 244, 0.12), transparent 34%),
        linear-gradient(180deg, #080015 0%, #100023 45%, #050013 100%);
}

.noeva-story::before,
.noeva-story::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
}

.noeva-story::before {
    inset: 0;
    opacity: 0.24;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent);
}

.noeva-story::after {
    right: -18%;
    bottom: 30%;
    width: 58%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--noeva-purple), var(--noeva-cyan), transparent);
    box-shadow: 0 0 34px rgba(8, 236, 239, 0.66);
    transform: rotate(-12deg);
}

.noeva-story__fx,
.noeva-story__grid {
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
}

.noeva-story__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(18px);
    opacity: 0.72;
    animation: noevaStoryFloat 12s ease-in-out infinite alternate;
}

.noeva-story__orb--pink {
    top: 5%;
    left: -110px;
    width: 330px;
    height: 330px;
    background: radial-gradient(circle, rgba(255, 0, 107, 0.30), transparent 68%);
}

.noeva-story__orb--cyan {
    top: 38%;
    right: -140px;
    width: 390px;
    height: 390px;
    background: radial-gradient(circle, rgba(8, 236, 239, 0.24), transparent 69%);
    animation-delay: -4s;
}

.noeva-story__orb--orange {
    bottom: -120px;
    left: 26%;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(250, 169, 64, 0.18), transparent 68%);
    animation-delay: -8s;
}

.noeva-story__container {
    position: relative;
    z-index: 2;
    width: min(1220px, 100%);
    margin: 0 auto;
}

.noeva-story__balance {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, 0.88fr) minmax(380px, 1.12fr) 76px;
    grid-template-areas: "visual content timeline";
    gap: clamp(26px, 4vw, 58px);
    align-items: center;
    min-height: 650px;
}

.noeva-story__background-title {
    position: absolute;
    top: -72px;
    left: -4%;
    z-index: -1;
    color: transparent;
    font-family: var(--noeva-font-title);
    font-size: clamp(5rem, 11vw, 10rem);
    font-weight: 900;
    line-height: 0.78;
    letter-spacing: -0.07em;
    text-transform: uppercase;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.055);
    opacity: 0.8;
    user-select: none;
}

.noeva-story__balance-visual {
    position: relative;
    grid-area: visual;
    width: 100%;
    margin: 0;
}

.noeva-story__image-frame {
    position: relative;
    overflow: hidden;
    aspect-ratio: 0.78;
    min-height: 520px;
    border: 1px solid rgba(8, 236, 239, 0.36);
    border-radius: 34px 108px 34px 34px;
    background: rgba(255, 255, 255, 0.04);
    box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.52),
        0 0 55px rgba(8, 236, 239, 0.12),
        inset 0 0 40px rgba(255, 255, 255, 0.04);
}

.noeva-story__image-frame::before,
.noeva-story__image-frame::after {
    content: "";
    position: absolute;
    z-index: 2;
    pointer-events: none;
}

.noeva-story__image-frame::before {
    inset: 0;
    background:
        linear-gradient(180deg, transparent 48%, rgba(5, 0, 19, 0.92) 100%),
        linear-gradient(125deg, rgba(255, 0, 107, 0.16), transparent 36%, rgba(8, 236, 239, 0.16));
}

.noeva-story__image-frame::after {
    inset: 14px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 24px 92px 24px 24px;
}

.noeva-story__balance-img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.92) contrast(1.04);
    transition: opacity 0.28s ease, transform 0.7s ease;
}

.noeva-story__balance-visual:hover .noeva-story__balance-img {
    transform: scale(1.025);
}

.noeva-story__balance-img.is-changing,
.noeva-story__history-img.is-changing {
    opacity: 0;
}

.noeva-story__image-glow,
.noeva-story__history-glow {
    position: absolute;
    inset: 9% -7% -6% 10%;
    z-index: -1;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(255, 0, 107, 0.58), rgba(208, 11, 244, 0.48), rgba(8, 236, 239, 0.52));
    filter: blur(45px);
    opacity: 0.46;
}

.noeva-story__balance-panel {
    position: relative;
    grid-area: content;
    min-height: 470px;
    padding: clamp(32px, 5vw, 62px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 30px;
    background:
        radial-gradient(circle at 90% 12%, rgba(208, 11, 244, 0.13), transparent 32%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.035));
    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.38),
        0 0 45px rgba(208, 11, 244, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(20px);
}

.noeva-story__balance-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 10%;
    width: 80%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--noeva-pink), var(--noeva-cyan), transparent);
    box-shadow: 0 0 22px rgba(8, 236, 239, 0.72);
}

.noeva-story__content-pane {
    animation: noevaStoryPaneIn 0.5s ease both;
}

.noeva-story__content-pane:not(.is-active) {
    display: none;
}

.noeva-story__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--noeva-cyan);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.noeva-story__eyebrow::before {
    content: "";
    width: 26px;
    height: 2px;
    background: linear-gradient(90deg, var(--noeva-pink), var(--noeva-cyan));
    box-shadow: 0 0 12px var(--noeva-cyan);
}

.noeva-story__title,
.noeva-story__history-title {
    margin: 0;
    color: var(--noeva-white);
    font-family: var(--noeva-font-title);
    font-size: clamp(2.7rem, 6vw, 5.3rem);
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.noeva-story__title strong,
.noeva-story__history-title strong {
    color: transparent;
    font: inherit;
    background: linear-gradient(90deg, var(--noeva-pink), var(--noeva-purple), var(--noeva-cyan));
    -webkit-background-clip: text;
    background-clip: text;
    filter: drop-shadow(0 0 18px rgba(208, 11, 244, 0.24));
}

.noeva-story__description,
.noeva-story__history-intro {
    margin: 28px 0 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: clamp(1rem, 1.4vw, 1.08rem);
    line-height: 1.85;
}

.noeva-story__stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px;
    margin-top: 34px;
}

.noeva-story__stat {
    display: grid;
    gap: 2px;
    min-width: 74px;
}

.noeva-story__stat-value {
    color: var(--noeva-white);
    font-family: var(--noeva-font-title);
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
}

.noeva-story__stat-label {
    color: var(--noeva-cyan);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.16em;
}

.noeva-story__timeline {
    position: relative;
    grid-area: timeline;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 30px;
    min-height: 390px;
}

.noeva-story__timeline-line {
    position: absolute;
    top: 8%;
    bottom: 8%;
    left: 50%;
    width: 1px;
    background: repeating-linear-gradient(to bottom, rgba(8, 236, 239, 0.46) 0 9px, transparent 9px 18px);
    transform: translateX(-50%);
}

.noeva-story__timeline-item {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    color: var(--noeva-white);
    background: rgba(10, 3, 30, 0.86);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.34);
    cursor: pointer;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.noeva-story__timeline-item:hover,
.noeva-story__timeline-item:focus-visible,
.noeva-story__timeline-item.is-active {
    border-color: var(--noeva-cyan);
    background: linear-gradient(135deg, rgba(255, 0, 107, 0.30), rgba(8, 236, 239, 0.22));
    box-shadow: 0 0 26px rgba(8, 236, 239, 0.38), 0 0 46px rgba(208, 11, 244, 0.20);
    transform: scale(1.09);
    outline: none;
}

.noeva-story__timeline-icon {
    font-size: 1.45rem;
    line-height: 1;
}

.noeva-story__timeline-label {
    position: absolute;
    top: 50%;
    right: calc(100% + 12px);
    width: max-content;
    max-width: 150px;
    padding: 7px 10px;
    border: 1px solid rgba(8, 236, 239, 0.26);
    border-radius: 9px;
    color: var(--noeva-white);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    background: rgba(5, 0, 19, 0.94);
    opacity: 0;
    pointer-events: none;
    transform: translate(7px, -50%);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.noeva-story__timeline-item:hover .noeva-story__timeline-label,
.noeva-story__timeline-item:focus-visible .noeva-story__timeline-label,
.noeva-story__timeline-item.is-active .noeva-story__timeline-label {
    opacity: 1;
    transform: translate(0, -50%);
}

.noeva-story__separator {
    position: relative;
    display: grid;
    place-items: center;
    height: 180px;
}

.noeva-story__separator::before {
    content: "";
    width: min(840px, 88%);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 0, 107, 0.75), rgba(8, 236, 239, 0.75), transparent);
    box-shadow: 0 0 26px rgba(208, 11, 244, 0.58);
}

.noeva-story__separator span {
    position: absolute;
    width: 13px;
    height: 13px;
    border: 2px solid var(--noeva-cyan);
    background: var(--noeva-deep);
    box-shadow: 0 0 18px var(--noeva-cyan), 0 0 32px var(--noeva-purple);
    transform: rotate(45deg);
}

.noeva-story__history {
    display: grid;
    grid-template-columns: minmax(0, 1.24fr) minmax(300px, 0.76fr);
    gap: clamp(42px, 6vw, 82px);
    align-items: start;
}

.noeva-story__history-title {
    max-width: 760px;
    font-size: clamp(2.5rem, 5.2vw, 4.8rem);
}

.noeva-story__history-intro {
    max-width: 790px;
}

.noeva-story__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 36px 0 28px;
}

.noeva-story__tab {
    min-height: 44px;
    padding: 11px 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.68);
    font: inherit;
    font-size: 0.78rem;
    font-weight: 850;
    background: rgba(255, 255, 255, 0.05);
    cursor: pointer;
    transition: color 0.23s ease, border-color 0.23s ease, background 0.23s ease, box-shadow 0.23s ease, transform 0.23s ease;
}

.noeva-story__tab:hover,
.noeva-story__tab:focus-visible,
.noeva-story__tab.is-active {
    border-color: rgba(8, 236, 239, 0.60);
    color: var(--noeva-white);
    background: linear-gradient(135deg, rgba(255, 0, 107, 0.20), rgba(208, 11, 244, 0.18), rgba(8, 236, 239, 0.14));
    box-shadow: 0 0 22px rgba(8, 236, 239, 0.16);
    transform: translateY(-2px);
    outline: none;
}

.noeva-story__tab-pane {
    padding: clamp(24px, 3vw, 34px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 24px;
    background:
        radial-gradient(circle at 100% 0, rgba(8, 236, 239, 0.08), transparent 34%),
        rgba(255, 255, 255, 0.045);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 24px 60px rgba(0, 0, 0, 0.24);
    animation: noevaStoryPaneIn 0.45s ease both;
}

.noeva-story__tab-pane:not(.is-active) {
    display: none;
}

.noeva-story__tab-pane p,
.noeva-story__tab-pane li {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.98rem;
    line-height: 1.82;
}

.noeva-story__tab-pane p + p,
.noeva-story__tab-pane p + ul,
.noeva-story__tab-pane ul + p {
    margin-top: 16px;
}

.noeva-story__tab-pane ul {
    display: grid;
    gap: 8px;
    margin: 16px 0 0;
    padding-left: 22px;
}

.noeva-story__tab-pane li::marker {
    color: var(--noeva-cyan);
}

.noeva-story__tab-pane strong {
    color: var(--noeva-white);
}

.noeva-story__tab-title {
    margin: 0 0 20px;
    font-family: var(--noeva-font-title);
    font-size: clamp(1.35rem, 2.6vw, 2rem);
    font-weight: 900;
    line-height: 1.15;
}

.noeva-story__tab-title--orange {
    color: var(--noeva-orange);
}

.noeva-story__tab-title--pink {
    color: var(--noeva-pink);
}

.noeva-story__tab-title--purple {
    color: var(--noeva-purple);
}

.noeva-story__tab-title--green {
    color: var(--noeva-green);
}

.noeva-story__hidden-content {
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-8px);
    transition: max-height 0.75s ease, margin-top 0.3s ease, opacity 0.35s ease, transform 0.35s ease;
}

.noeva-story__hidden-content.is-expanded {
    max-height: 2300px;
    margin-top: 16px;
    opacity: 1;
    transform: translateY(0);
}

.noeva-story__read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 22px;
    padding: 10px 18px;
    border: 1px solid rgba(8, 236, 239, 0.42);
    border-radius: 999px;
    color: var(--noeva-white);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 900;
    background: rgba(8, 236, 239, 0.08);
    cursor: pointer;
    transition: transform 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
}

.noeva-story__read-more::after {
    content: "Ã¢â€ â€œ";
    margin-left: 9px;
    color: var(--noeva-cyan);
}

.noeva-story__read-more[aria-expanded="true"]::after {
    content: "Ã¢â€ â€˜";
}

.noeva-story__read-more:hover,
.noeva-story__read-more:focus-visible {
    background: rgba(8, 236, 239, 0.16);
    box-shadow: 0 0 22px rgba(8, 236, 239, 0.18);
    transform: translateY(-2px);
    outline: none;
}

.noeva-story__quote {
    position: relative;
    margin: 24px 0 0;
    padding: 24px 24px 22px 64px;
    border: 1px solid rgba(250, 169, 64, 0.26);
    border-left: 3px solid var(--noeva-orange);
    border-radius: 4px 18px 18px 4px;
    background: rgba(250, 169, 64, 0.07);
}

.noeva-story__quote::before {
    content: "Ã¢â‚¬Å“";
    position: absolute;
    top: 10px;
    left: 20px;
    color: var(--noeva-orange);
    font-family: Georgia, serif;
    font-size: 4.2rem;
    line-height: 1;
    opacity: 0.76;
}

.noeva-story__quote p {
    color: rgba(255, 255, 255, 0.90);
    font-style: italic;
}

.noeva-story__quote footer {
    margin-top: 12px;
    color: var(--noeva-orange);
    font-size: 0.84rem;
    font-weight: 850;
}

.noeva-story__history-visual {
    position: sticky;
    top: calc(var(--noeva-header-height) + 30px);
    margin: 86px 0 0;
}

.noeva-story__history-frame {
    position: relative;
    overflow: hidden;
    aspect-ratio: 0.78;
    border: 1px solid rgba(208, 11, 244, 0.44);
    border-radius: 110px 34px 34px 34px;
    background: rgba(255, 255, 255, 0.04);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.46),
        0 0 52px rgba(208, 11, 244, 0.14);
}

.noeva-story__history-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 55%, rgba(5, 0, 19, 0.92) 100%),
        linear-gradient(135deg, rgba(255, 0, 107, 0.12), transparent 45%, rgba(8, 236, 239, 0.12));
    pointer-events: none;
}

.noeva-story__history-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: opacity 0.34s ease, transform 0.7s ease;
}

.noeva-story__history-visual:hover .noeva-story__history-img {
    transform: scale(1.025);
}

.noeva-story__history-visual figcaption {
    position: relative;
    z-index: 3;
    display: grid;
    gap: 4px;
    width: calc(100% - 34px);
    margin: -66px auto 0;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    background: rgba(5, 0, 19, 0.84);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(16px);
}

.noeva-story__history-visual figcaption span {
    color: var(--noeva-cyan);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.noeva-story__history-visual figcaption strong {
    color: var(--noeva-white);
    font-size: 0.91rem;
    line-height: 1.4;
}

@keyframes noevaStoryPaneIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes noevaStoryFloat {
    from {
        transform: translate3d(-10px, -10px, 0) scale(0.96);
    }
    to {
        transform: translate3d(18px, 20px, 0) scale(1.06);
    }
}

@media (max-width: 1080px) {
    .noeva-story {
        padding: 98px 18px 108px;
    }

    .noeva-story__balance {
        grid-template-columns: minmax(260px, 0.82fr) minmax(360px, 1.18fr);
        grid-template-areas:
            "timeline timeline"
            "visual content";
        gap: 30px;
        min-height: 0;
    }

    .noeva-story__timeline {
        flex-direction: row;
        gap: clamp(32px, 8vw, 72px);
        min-height: 70px;
    }

    .noeva-story__timeline-line {
        inset: 50% 12% auto;
        width: auto;
        height: 1px;
        background: repeating-linear-gradient(to right, rgba(8, 236, 239, 0.46) 0 9px, transparent 9px 18px);
        transform: none;
    }

    .noeva-story__timeline-label {
        top: calc(100% + 9px);
        right: auto;
        left: 50%;
        transform: translate(-50%, -5px);
    }

    .noeva-story__timeline-item:hover .noeva-story__timeline-label,
    .noeva-story__timeline-item:focus-visible .noeva-story__timeline-label,
    .noeva-story__timeline-item.is-active .noeva-story__timeline-label {
        transform: translate(-50%, 0);
    }

    .noeva-story__image-frame,
    .noeva-story__balance-img {
        min-height: 500px;
    }

    .noeva-story__history {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 0.62fr);
        gap: 38px;
    }
}

@media (max-width: 820px) {
    .noeva-story {
        padding: 82px 16px 90px;
    }

    .noeva-story__balance {
        grid-template-columns: 1fr;
        grid-template-areas:
            "timeline"
            "visual"
            "content";
    }

    .noeva-story__background-title {
        top: -44px;
        font-size: clamp(4.2rem, 17vw, 7rem);
    }

    .noeva-story__balance-visual {
        width: min(560px, 100%);
        margin: 22px auto 0;
    }

    .noeva-story__image-frame {
        aspect-ratio: 1.2;
        min-height: 380px;
        border-radius: 28px 86px 28px 28px;
    }

    .noeva-story__balance-img {
        min-height: 380px;
    }

    .noeva-story__balance-panel {
        min-height: 0;
    }

    .noeva-story__separator {
        height: 140px;
    }

    .noeva-story__history {
        grid-template-columns: 1fr;
    }

    .noeva-story__history-visual {
        position: relative;
        top: auto;
        grid-row: 1;
        width: min(520px, 100%);
        margin: 0 auto;
    }

    .noeva-story__history-content {
        grid-row: 2;
    }

    .noeva-story__history-frame {
        aspect-ratio: 1.12;
        border-radius: 86px 28px 28px;
    }
}

@media (max-width: 560px) {
    .noeva-story {
        padding-inline: 14px;
    }

    .noeva-story__timeline {
        justify-content: space-around;
        gap: 10px;
    }

    .noeva-story__timeline-item {
        width: 54px;
        height: 54px;
    }

    .noeva-story__timeline-label {
        display: none;
    }

    .noeva-story__image-frame,
    .noeva-story__balance-img {
        min-height: 320px;
    }

    .noeva-story__balance-panel {
        padding: 28px 20px;
        border-radius: 24px;
    }

    .noeva-story__title {
        font-size: clamp(2.35rem, 13vw, 3.6rem);
    }

    .noeva-story__history-title {
        font-size: clamp(2.2rem, 12vw, 3.4rem);
    }

    .noeva-story__description,
    .noeva-story__history-intro,
    .noeva-story__tab-pane p,
    .noeva-story__tab-pane li {
        font-size: 0.94rem;
        line-height: 1.72;
    }

    .noeva-story__stats {
        gap: 16px;
    }

    .noeva-story__stats .noeva-btn {
        width: 100%;
    }

    .noeva-story__tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .noeva-story__tab {
        width: 100%;
        padding-inline: 10px;
        border-radius: 14px;
        font-size: 0.72rem;
    }

    .noeva-story__tab-pane {
        padding: 22px 18px;
        border-radius: 20px;
    }

    .noeva-story__history-frame {
        min-height: 340px;
    }

    .noeva-story__quote {
        padding: 58px 18px 20px;
    }

    .noeva-story__quote::before {
        top: 10px;
        left: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .noeva-story__orb {
        animation: none;
    }

    .noeva-story__content-pane,
    .noeva-story__tab-pane {
        animation: none;
    }

    .noeva-story__balance-img,
    .noeva-story__history-img,
    .noeva-story__hidden-content {
        transition: none;
    }
}

.noeva-story__read-more::after {
    content: "\2193"; /* FlÃ¨che vers le bas â†“ */
    margin-left: 9px;
    color: var(--noeva-cyan);
    font-family: Arial, sans-serif;
}

.noeva-story__read-more[aria-expanded="true"]::after {
    content: "\2191"; /* FlÃ¨che vers le haut â†‘ */
}

.noeva-story__quote::before {
    content: "\201C"; /* Guillemets ouvrants â€œ */
    position: absolute;
    top: 10px;
    left: 20px;
    color: var(--noeva-orange);
    font-family: Georgia, serif;
    font-size: 4.2rem;
    line-height: 1;
    opacity: 0.76;
}