.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#4B5563;--e-global-color-accent:#1FA8FF;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */:root {
        --indigo: #282075;
        --indigo-deep: #16123f;
        --royal: #3d65ad;
        --sky: #1fa8ff;
        --sky-soft: #e6f4ff;
        --sky-ink: #0e86d4;
        --gold: #c8a96e;
        --gold-deep: #b4924f;
        --ink: #111827;
        --grey: #4b5563;
        --mist: #6b7280;
        --bg: #ffffff;
        --bg-alt: #f5f7fb;
        --line: #e5eaf2;
      }
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        font-family: "Inter", sans-serif;
        color: var(--ink);
        background: var(--bg);
        -webkit-font-smoothing: antialiased;
        overflow-x: hidden;
      }
      h1,
      h2,
      h3 {
        font-family: "Montserrat", sans-serif;
        color: var(--indigo);
      }
      img {
        display: block;
        max-width: 100%;
      }
      .wrap {
        max-width: 1080px;
        margin: 0 auto;
        padding: 0 28px;
      }
      .eyebrow {
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        color: var(--sky-ink);
        margin-bottom: 14px;
      }
      /* Le contenu est visible par defaut. On anime via la propriete translate,
   jamais transform, pour ne jamais entrer en conflit avec une mise en forme existante. */
      .reveal {
        opacity: 1;
        translate: none;
      }
      @property --n {
        syntax: "<integer>";
        initial-value: 0;
        inherits: false;
      }
      @keyframes cntUp {
        from {
          --n: 0;
        }
        to {
          --n: var(--to);
        }
      }
      /* Comptage temporel, jamais liee au scroll : la valeur finale est toujours atteinte.
   Le bloc est conditionne au support de animation-timeline, qui garantit un moteur
   recent disposant de @property. Sinon, la valeur litterale reste affichee. */
      @supports (animation-timeline: view()) {
        .cnt .lit {
          display: none;
        }
        .cnt {
          counter-reset: n var(--n);
          animation: cntUp 1.4s cubic-bezier(0.2, 0.8, 0.3, 1) 2.9s both;
        }
        .cnt::after {
          content: counter(n);
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .cnt {
          animation: none !important;
          counter-reset: none !important;
        }
        .cnt .lit {
          display: inline !important;
        }
        .cnt::after {
          content: none !important;
        }
      }
      @media print {
        .cnt {
          animation: none !important;
        }
        .cnt .lit {
          display: inline !important;
        }
        .cnt::after {
          content: none !important;
        }
      }
      @keyframes revealUp {
        from {
          opacity: 0;
          translate: 0 26px;
        }
        to {
          opacity: 1;
          translate: none;
        }
      }
      /* Voie 1 : pilotee par le scroll, CSS pur, fonctionne sans JavaScript */
      @supports (animation-timeline: view()) {
        .reveal {
          opacity: 0;
          animation: revealUp 0.8s cubic-bezier(0.22, 0.7, 0.3, 1) both;
          animation-timeline: view();
          animation-range: entry 0% cover 25%;
        }
      }
      /* Voie 2 : repli JavaScript, uniquement si la voie 1 n'existe pas. Le script pose lui-meme .pre */
      .reveal.pre {
        opacity: 0;
        translate: 0 26px;
        animation: none;
        transition:
          opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1),
          translate 0.7s cubic-bezier(0.22, 0.7, 0.3, 1);
      }
      .reveal.pre.in {
        opacity: 1;
        translate: none;
      }
      @media (prefers-reduced-motion: reduce) {
        .reveal {
          opacity: 1 !important;
          translate: none !important;
          animation: none !important;
        }
        .reveal.pre {
          opacity: 1;
          translate: none;
          transition: none;
        }
        * {
          animation: none !important;
          transition: none !important;
        }
      }
      @media print {
        .reveal {
          opacity: 1 !important;
          translate: none !important;
          animation: none !important;
        }
      }

      /* ---------- NAV ---------- */
      .nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 60;
        transition: all 0.35s ease;
      }
      .nav-inner {
        max-width: 1080px;
        margin: 14px auto 0;
        padding: 12px 22px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.55);
        backdrop-filter: blur(18px) saturate(1.6);
        -webkit-backdrop-filter: blur(18px) saturate(1.6);
        border: 1px solid rgba(255, 255, 255, 0.65);
        box-shadow: 0 8px 32px rgba(22, 18, 63, 0.08);
      }
      .nav.scrolled .nav-inner {
        background: rgba(255, 255, 255, 0.82);
        box-shadow: 0 10px 34px rgba(22, 18, 63, 0.13);
      }
      .nav img {
        height: 22px;
        width: auto;
      }
      .nav-links {
        display: flex;
        gap: 26px;
        font-size: 13.5px;
        font-weight: 500;
        color: var(--grey);
      }
      .nav-links a {
        color: inherit;
        text-decoration: none;
        transition: color 0.2s;
      }
      .nav-links a:hover {
        color: var(--sky-ink);
      }
      .btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        text-decoration: none;
        border-radius: 12px;
        cursor: pointer;
        border: none;
        transition:
          transform 0.25s cubic-bezier(0.22, 0.7, 0.3, 1),
          box-shadow 0.25s;
      }
      .btn-gold {
        background: linear-gradient(
          135deg,
          #d9bc82 0%,
          var(--gold) 45%,
          var(--gold-deep) 100%
        );
        color: #231a05!important;
        padding: 14px 26px;
        font-size: 15px;
        box-shadow: 0 8px 24px rgba(200, 169, 110, 0.38);
        position: relative;
        overflow: hidden;
      }
      .btn-gold::after {
        content: "";
        position: absolute;
        top: 0;
        left: -80%;
        width: 55%;
        height: 100%;
        background: linear-gradient(
          105deg,
          transparent,
          rgba(255, 255, 255, 0.55),
          transparent
        );
        transform: skewX(-20deg);
        transition: left 0.55s ease;
      }
      .btn-gold:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 32px rgba(200, 169, 110, 0.5);
      }
      .btn-gold:hover::after {
        left: 130%;
      }
      .btn-sky {
        background: transparent;
        border: 1.5px solid var(--sky);
        color: var(--sky-ink)!important;
        padding: 13px 24px;
        font-size: 15px;
      }
      .btn-sky:hover {
        background: var(--sky-soft)!important;
        transform: translateY(-2px);
      }
      .btn-sm {
        padding: 10px 18px;
        font-size: 13.5px;
        border-radius: 10px;
      }

      /* ---------- HERO ---------- */
      .hero {
        position: relative;
        padding: 168px 0 96px;
        overflow: hidden;
      }
      .blob {
        position: absolute;
        border-radius: 50%;
        filter: blur(90px);
        opacity: 0.5;
        animation: drift 16s ease-in-out infinite alternate;
      }
      .blob.b1 {
        width: 560px;
        height: 560px;
        background: radial-gradient(circle, #8fd5ff 0%, transparent 70%);
        top: -180px;
        right: -120px;
      }
      .blob.b2 {
        width: 460px;
        height: 460px;
        background: radial-gradient(circle, #c6c0f5 0%, transparent 70%);
        bottom: -200px;
        left: -140px;
        animation-delay: -8s;
      }
      @keyframes drift {
        from {
          transform: translate(0, 0) scale(1);
        }
        to {
          transform: translate(46px, 30px) scale(1.08);
        }
      }
      .badge {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        background: #fff;
        border: 1px solid #b3e0ff;
        color: var(--sky-ink);
        border-radius: 999px;
        padding: 8px 18px 8px 12px;
        font-size: 13px;
        font-weight: 600;
        letter-spacing: 1.4px;
        text-transform: uppercase;
        box-shadow: 0 8px 24px rgba(31, 168, 255, 0.18);
      }
      .badge .seal {
        width: 20px;
        height: 20px;
        flex: 0 0 auto;
        animation: sealPulse 2.6s ease-in-out infinite;
      }
      @keyframes sealPulse {
        0%,
        100% {
          filter: drop-shadow(0 0 2px rgba(31, 168, 255, 0.3));
        }
        50% {
          filter: drop-shadow(0 0 8px rgba(31, 168, 255, 0.8));
        }
      }
      .in1,
      .in2,
      .in3,
      .in4 {
        opacity: 0;
      }
      .in1 {
        animation: introUp 0.7s cubic-bezier(0.22, 0.9, 0.3, 1) 0.15s forwards;
      }
      .in2 {
        animation: introUp 0.7s cubic-bezier(0.22, 0.9, 0.3, 1) 0.95s forwards;
      }
      .in3 {
        animation: badgePop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 1.85s
          forwards;
      }
      .in4 {
        animation: introUp 0.7s ease 2.3s forwards;
      }
      @keyframes introUp {
        from {
          opacity: 0;
          transform: translateY(26px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }
      @keyframes badgePop {
        0% {
          opacity: 0;
          transform: translateY(-16px) scale(0.55);
        }
        70% {
          opacity: 1;
          transform: translateY(0) scale(1.08);
        }
        100% {
          opacity: 1;
          transform: translateY(0) scale(1);
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .in1,
        .in2,
        .in3,
        .in4 {
          opacity: 1;
          animation: none;
        }
        .badge .seal {
          animation: none;
        }
      }
      @keyframes pulse {
        0% {
          box-shadow: 0 0 0 0 rgba(31, 168, 255, 0.45);
        }
        70% {
          box-shadow: 0 0 0 11px rgba(31, 168, 255, 0);
        }
        100% {
          box-shadow: 0 0 0 0 rgba(31, 168, 255, 0);
        }
      }
      .hero h1 {
        font-size: clamp(38px, 5.6vw, 62px);
        font-weight: 700;
        line-height: 1.1;
        margin: 26px 0 20px;
        letter-spacing: -0.5px;
      }
      .hero h1 .sky {
        color: var(--sky-ink);
      }
      .hero p.lead {
        font-size: 18px;
        line-height: 1.65;
        color: var(--grey);
        max-width: 640px;
      }
      .hero-ctas {
        display: flex;
        gap: 16px;
        margin-top: 34px;
        flex-wrap: wrap;
      }
      .hero-note {
        margin-top: 22px;
        font-size: 13px;
        color: var(--mist);
      }

      /* ---------- PROOF ---------- */
      .proof {
        background: var(--bg-alt);
        border-top: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
      }
      .proof-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
      }
      .proof-cell {
        padding: 44px 20px 38px;
        text-align: center;
        border-right: 1px solid var(--line);
      }
      .proof-cell:last-child {
        border-right: none;
      }
      .proof-cell .n {
        font-family: "Montserrat", sans-serif;
        font-weight: 700;
        font-size: 40px;
        color: var(--indigo);
        line-height: 1;
      }
      .proof-cell .n sup {
        font-size: 15px;
        color: var(--sky-ink);
      }
      .proof-cell .l {
        font-size: 13.5px;
        color: var(--mist);
        margin-top: 10px;
        line-height: 1.45;
      }
      .proof-src {
        padding: 0 28px 22px;
        font-size: 11.5px;
        color: #9aa3b2;
        text-align: center;
        line-height: 1.6;
      }

      /* ---------- MICA / TIMELINE ---------- */
      .section {
        padding: 104px 0;
      }
      .section h2 {
        font-size: clamp(28px, 3.6vw, 40px);
        font-weight: 600;
        letter-spacing: -0.3px;
        margin-bottom: 16px;
      }
      .section p.intro {
        font-size: 16.5px;
        color: var(--grey);
        line-height: 1.65;
        max-width: 620px;
      }
      .steps {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 22px;
        margin-top: 52px;
      }
      .step {
        background: #fafbfd;
        border: 1px solid var(--line);
        border-radius: 18px;
        padding: 30px 26px;
        position: relative;
        transition:
          transform 0.3s,
          box-shadow 0.3s;
      }
      .step:hover {
        transform: translateY(-6px);
        box-shadow: 0 18px 44px rgba(22, 18, 63, 0.1);
      }
      .step.s1 h3 {
        color: #5a6376;
      }
      .step.s1 p {
        color: #8a93a6;
      }
      .step.s1 .num {
        color: #9aa3b2;
      }
      .step.s2 {
        background: #fff;
        border: 1.5px solid var(--sky);
        box-shadow: 0 14px 34px rgba(31, 168, 255, 0.16);
      }
      .step.s3 {
        background: linear-gradient(
          150deg,
          var(--indigo-deep),
          var(--indigo) 62%,
          var(--royal)
        );
        border: none;
        transform: scale(1.045);
        box-shadow: 0 22px 54px rgba(22, 18, 63, 0.35);
      }
      .step.s3::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 18px;
        pointer-events: none;
        animation: nowGlow 3.2s ease-in-out infinite;
      }
      .step.s3 h3 {
        color: #fff;
      }
      .step.s3 p {
        color: #c9d4f2;
      }
      .step.s3 .num {
        color: #8fd5ff;
      }
      .step.s3:hover {
        transform: scale(1.045) translateY(-6px);
      }
      .step.s3 .seal-corner {
        position: absolute;
        top: 24px;
        right: 24px;
        width: 26px;
        height: 26px;
      }
      @keyframes nowGlow {
        0%,
        100% {
          box-shadow: 0 0 0 0 rgba(31, 168, 255, 0);
        }
        50% {
          box-shadow: 0 0 36px 3px rgba(31, 168, 255, 0.45);
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .step.s3::after {
          animation: none;
        }
      }
      .step .num {
        font-family: "Montserrat", sans-serif;
        font-weight: 700;
        font-size: 13px;
        color: var(--sky-ink);
        letter-spacing: 2px;
      }
      .step h3 {
        font-size: 18px;
        margin: 12px 0 10px;
        font-weight: 600;
      }
      .step p {
        font-size: 14.5px;
        color: var(--grey);
        line-height: 1.6;
      }

      /* ---------- DOERS ---------- */
      .doers {
        background:
          radial-gradient(
            1100px 500px at 78% -10%,
            rgba(31, 168, 255, 0.22),
            transparent 60%
          ),
          linear-gradient(160deg, var(--indigo-deep) 0%, var(--indigo) 75%);
        color: #fff;
        padding: 120px 0;
        position: relative;
        overflow: hidden;
      }
      .doers .eyebrow {
        color: #8fd5ff;
      }
      .doers h2 {
        color: #fff;
        font-size: clamp(32px, 4.6vw, 52px);
        font-weight: 700;
        line-height: 1.18;
        max-width: 820px;
        letter-spacing: -0.4px;
      }
      .doers h2 em {
        font-style: normal;
        color: var(--gold);
      }
      .doers p.tag {
        margin-top: 26px;
        font-size: 17px;
        color: #c9d4f2;
        max-width: 620px;
        line-height: 1.65;
      }
      .doers .sig {
        margin-top: 40px;
        font-family: "Montserrat", sans-serif;
        font-size: 14px;
        font-weight: 600;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: #8fd5ff;
      }

      /* ---------- PILLARS ---------- */
      .pillars {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        margin-top: 52px;
      }
      .pillar {
        background: var(--bg-alt);
        border: 1px solid var(--line);
        border-radius: 18px;
        padding: 28px 24px;
        transition: all 0.3s;
      }
      .pillar:hover {
        background: #fff;
        border-color: #b3e0ff;
        box-shadow: 0 16px 40px rgba(31, 168, 255, 0.14);
        transform: translateY(-5px);
      }
      .pillar .ic {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        background: linear-gradient(135deg, var(--sky) 0%, var(--royal) 100%);
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 18px;
      }
      .pillar .ic svg {
        width: 22px;
        height: 22px;
        stroke: #fff;
        fill: none;
        stroke-width: 1.8;
      }
      .pillar h3 {
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 8px;
      }
      .pillar p {
        font-size: 13.5px;
        color: var(--grey);
        line-height: 1.55;
      }

      /* ---------- AUDIENCES CAROUSEL ---------- */
      .aud {
        background: var(--bg-alt);
        border-top: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
      }
      .aud-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 24px;
        flex-wrap: wrap;
      }
      .aud-nav {
        display: flex;
        gap: 10px;
      }
      .aud-btn {
        width: 46px;
        height: 46px;
        border-radius: 50%;
        border: 1px solid var(--line);
        background: #fff;
        color: var(--indigo);
        font-size: 18px;
        cursor: pointer;
        transition: all 0.25s;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .aud-btn:hover {
        background: var(--indigo);
        color: #fff;
        border-color: var(--indigo);
      }
      .carousel {
        display: flex;
        gap: 22px;
        margin-top: 44px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 14px;
        scrollbar-width: none;
      }
      .carousel::-webkit-scrollbar {
        display: none;
      }
      .card {
        flex: 0 0 340px;
        scroll-snap-align: start;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 20px;
        padding: 32px 28px;
        transition:
          transform 0.3s,
          box-shadow 0.3s;
      }
      .card:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 48px rgba(22, 18, 63, 0.1);
      }
      .card .who {
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--sky-ink);
      }
      .card h3 {
        font-size: 19px;
        font-weight: 600;
        margin: 12px 0 10px;
        line-height: 1.35;
      }
      .card p {
        font-size: 14.5px;
        color: var(--grey);
        line-height: 1.6;
      }
      .card .ans {
        margin-top: 16px;
        padding-top: 16px;
        border-top: 1px solid var(--line);
        font-size: 14.5px;
        color: var(--ink);
        line-height: 1.6;
      }
      .card .ans strong {
        color: var(--indigo);
      }
      .dots {
        display: flex;
        gap: 8px;
        margin-top: 20px;
      }
      .dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #cbd5e4;
        transition: all 0.3s;
        cursor: pointer;
      }
      .dot.on {
        width: 26px;
        border-radius: 99px;
        background: var(--sky);
      }

      /* ---------- LEADERSHIP ---------- */
      .leads {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 26px;
        margin-top: 52px;
        max-width: 820px;
      }
      .lead-card {
        display: flex;
        gap: 22px;
        align-items: center;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 20px;
        padding: 26px;
        transition: all 0.3s;
      }
      .lead-card:hover {
        box-shadow: 0 18px 44px rgba(22, 18, 63, 0.1);
        transform: translateY(-4px);
      }
      .lead-card img {
        width: 104px;
        height: 104px;
        border-radius: 18px;
        object-fit: cover;
      }
      .lead-card h3 {
        font-size: 17.5px;
        font-weight: 600;
      }
      .lead-card .role {
        font-size: 13.5px;
        color: var(--sky-ink);
        font-weight: 500;
        margin: 5px 0 8px;
      }
      .lead-card p {
        font-size: 13.5px;
        color: var(--grey);
        line-height: 1.55;
      }

      /* ---------- TEASER ---------- */
      .teaser {
        background:
          radial-gradient(
            900px 400px at 15% 120%,
            rgba(31, 168, 255, 0.35),
            transparent 60%
          ),
          linear-gradient(120deg, var(--indigo) 0%, var(--royal) 100%);
        border-radius: 28px;
        padding: 66px 60px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 44px;
        flex-wrap: wrap;
        position: relative;
        overflow: hidden;
      }
      .mail-wrap {
        display: flex;
        flex-direction: column;
        gap: 10px;
      }
      .optin {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        font-size: 12px;
        color: #a9b8e6;
        line-height: 1.5;
        cursor: pointer;
        max-width: 340px;
      }
      .optin input {
        width: 14px;
        height: 14px;
        margin-top: 1px;
        accent-color: var(--sky);
        flex: 0 0 auto;
      }
      .teaser .ey {
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 2.6px;
        text-transform: uppercase;
        color: #8fd5ff;
      }
      .teaser h2 {
        color: #fff;
        font-size: clamp(24px, 3vw, 34px);
        font-weight: 600;
        margin-top: 12px;
        max-width: 480px;
        line-height: 1.3;
      }
      .teaser p {
        color: #c9d4f2;
        font-size: 14px;
        margin-top: 12px;
      }
      .mail {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
      }
      .mail input {
        background: rgba(255, 255, 255, 0.14);
        border: 1px solid rgba(255, 255, 255, 0.35);
        border-radius: 12px;
        padding: 14px 18px;
        font-family: "Inter", sans-serif;
        font-size: 14.5px;
        color: #fff;
        min-width: 250px;
        outline: none;
        backdrop-filter: blur(8px);
      }
      .mail input::placeholder {
        color: #b9c5e8;
      }

      /* ---------- FAQ ---------- */
      .faq-list {
        max-width: 760px;
        margin-top: 44px;
      }
      .faq-item {
        border-bottom: 1px solid var(--line);
      }
      .faq-q {
        width: 100%;
        background: none;
        border: none;
        text-align: left;
        padding: 24px 8px;
        font-family: "Inter", sans-serif;
        font-size: 17px;
        font-weight: 600;
        color: var(--ink);
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 18px;
      }
      .faq-q .pl {
        width: 30px;
        height: 30px;
        border-radius: 50%;
        background: var(--sky-soft);
        color: var(--sky-ink);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        font-weight: 500;
        flex-shrink: 0;
        transition:
          transform 0.35s,
          background 0.35s;
      }
      .faq-item.open .pl {
        transform: rotate(45deg);
        background: var(--indigo);
        color: #fff;
      }
      .faq-a {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.45s cubic-bezier(0.22, 0.7, 0.3, 1);
      }
      .faq-a p {
        padding: 0 8px 26px;
        font-size: 15px;
        color: var(--grey);
        line-height: 1.68;
        max-width: 660px;
      }

      /* ---------- CONTACT / FOOTER ---------- */
      .final {
        padding: 110px 0 90px;
        text-align: center;
      }
      .final h2 {
        font-size: clamp(28px, 3.8vw, 42px);
        font-weight: 700;
      }
      .final p {
        color: var(--grey);
        font-size: 16.5px;
        margin: 16px auto 34px;
        max-width: 520px;
        line-height: 1.6;
      }
      footer {
        border-top: 1px solid var(--line);
        padding: 38px 0;
        background: var(--bg-alt);
      }
      .foot-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
        flex-wrap: wrap;
        font-size: 12.5px;
        color: var(--mist);
      }
      .foot-inner img {
        height: 16px;
        opacity: 0.85;
      }
      .foot-links {
        display: flex;
        gap: 22px;
      }
      .foot-links a {
        color: var(--mist);
        text-decoration: none;
      }
      .foot-links a:hover {
        color: var(--sky-ink);
      }

      /* ---------- LIQUID GLASS MODAL ---------- */
      .modal-veil {
        position: fixed;
        inset: 0;
        z-index: 90;
        background: rgba(20, 17, 58, 0.34);
        backdrop-filter: blur(18px) saturate(1.25);
        -webkit-backdrop-filter: blur(18px) saturate(1.25);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.4s ease;
      }
      @supports not (
        (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))
      ) {
        .modal-veil {
          background: rgba(20, 17, 58, 0.82);
        }
      }
      .modal-veil.on {
        opacity: 1;
        pointer-events: auto;
      }
      .glass {
        position: fixed;
        z-index: 95;
        top: 50%;
        left: 50%;
        width: min(560px, calc(100vw - 36px));
        max-height: 88vh;
        overflow-y: auto;
        opacity: 0;
        pointer-events: none;
        border-radius: 30px;
        padding: 42px 42px 36px;
        background: linear-gradient(
          150deg,
          rgba(255, 255, 255, 0.7) 0%,
          rgba(252, 253, 255, 0.6) 48%,
          rgba(232, 242, 255, 0.66) 100%
        );
        backdrop-filter: blur(52px) saturate(2.2) brightness(1.22);
        -webkit-backdrop-filter: blur(52px) saturate(2.2) brightness(1.22);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transform: translate(-50%, -46%) scale(0.92) translateZ(0);
        border: 1px solid rgba(255, 255, 255, 0.7);
        box-shadow:
          0 34px 90px rgba(22, 18, 63, 0.34),
          inset 0 1px 0 rgba(255, 255, 255, 1),
          inset 0 0 0 0.5px rgba(255, 255, 255, 0.45),
          inset 0 -1px 0 rgba(255, 255, 255, 0.35);
        transition:
          transform 0.5s cubic-bezier(0.2, 1.1, 0.3, 1),
          opacity 0.4s ease;
      }
      .glass.on {
        transform: translate(-50%, -50%) scale(1) translateZ(0);
        opacity: 1;
        pointer-events: auto;
      }
      @supports not (
        (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))
      ) {
        .glass {
          background: linear-gradient(
            150deg,
            #fff 0%,
            #fcfdff 50%,
            #eef6ff 100%
          );
        }
      }
      .glass::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 30px;
        pointer-events: none;
        background: linear-gradient(
          160deg,
          rgba(255, 255, 255, 0.5) 0%,
          transparent 22%,
          transparent 78%,
          rgba(255, 255, 255, 0.28) 100%
        );
        mix-blend-mode: overlay;
      }
      .glass::before {
        content: "";
        position: absolute;
        top: -45%;
        left: -25%;
        width: 75%;
        height: 90%;
        background: radial-gradient(
          circle,
          rgba(255, 255, 255, 0.55),
          transparent 65%
        );
        pointer-events: none;
      }
      .glass h3 {
        font-size: 23px;
        font-weight: 600;
      }
      .glass .sub {
        font-size: 14px;
        color: var(--grey);
        margin: 8px 0 26px;
        line-height: 1.55;
      }
      .glass .x {
        position: absolute;
        top: 20px;
        right: 20px;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: none;
        background: rgba(255, 255, 255, 0.65);
        color: var(--indigo);
        font-size: 17px;
        cursor: pointer;
        backdrop-filter: blur(8px);
        transition: all 0.25s;
      }
      .glass .x:hover {
        background: var(--indigo);
        color: #fff;
      }
      .field {
        margin-bottom: 16px;
      }
      .field label {
        display: block;
        font-size: 12.5px;
        font-weight: 600;
        color: var(--indigo);
        margin-bottom: 7px;
        letter-spacing: 0.3px;
      }
      .field input,
      .field select,
      .field textarea {
        width: 100%;
        border: 1px solid rgba(40, 32, 117, 0.16);
        background: rgba(255, 255, 255, 0.82);
        border-radius: 13px;
        padding: 13px 16px;
        font-family: "Inter", sans-serif;
        font-size: 14.5px;
        color: var(--ink);
        outline: none;
        transition: all 0.25s;
        backdrop-filter: blur(6px);
      }
      .field input:focus,
      .field select:focus,
      .field textarea:focus {
        border-color: var(--sky);
        box-shadow: 0 0 0 4px rgba(31, 168, 255, 0.16);
        background: #fff;
      }
      .field textarea {
        resize: vertical;
        min-height: 76px;
      }
      .frow {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
      }
      .check {
        display: flex;
        gap: 11px;
        align-items: flex-start;
        font-size: 12.8px;
        color: var(--grey);
        line-height: 1.5;
        margin-bottom: 12px;
      }
      .check input {
        margin-top: 2px;
        accent-color: var(--indigo);
        width: 16px;
        height: 16px;
      }
      .glass .btn-gold {
        width: 100%;
        justify-content: center;
        margin-top: 10px;
      }
      .glass .note {
        font-size: 11.5px;
        color: var(--mist);
        text-align: center;
        margin-top: 14px;
      }

      @media (max-width: 900px) {
        .nav-links {
          display: none;
        }
        .proof-grid {
          grid-template-columns: 1fr 1fr;
        }
        .proof-cell:nth-child(2) {
          border-right: none;
        }
        .steps,
        .pillars {
          grid-template-columns: 1fr;
        }
        .leads {
          grid-template-columns: 1fr;
        }
        .teaser {
          padding: 44px 30px;
        }
        .card {
          flex: 0 0 84%;
        }
        .frow {
          grid-template-columns: 1fr;
        }
        .section {
          padding: 72px 0;
        }
      }/* End custom CSS */