
    /* Correctifs critiques mobile — embarqués pour ne pas dépendre
       de la mise en cache de style.css. */
    :root{
      /* Dégradé de marque : rose → violet → bleu → cyan (plus de jaune) */
      --grad-iris:linear-gradient(135deg,#EC4899,#A855F7 38%,#3B82F6 72%,#06B6D4);
      --accent-3:#06B6D4;--accent-3-rgb:6,182,212;
    }
    .hero-line{display:block;overflow:hidden}
    .hero-line>span{display:block}
    @media (max-width:820px){
      .hero-section{justify-content:center;padding-top:100px;padding-bottom:30px}
      .hero-title{font-size:clamp(2.5rem,11vw,3.6rem)}
      .subtitle{font-size:1.02rem;margin-top:1.2rem}
      /* Le repère passe DANS le flux : plus aucun recouvrement possible */
      .hero-scroll{position:static;transform:none;margin-top:34px;bottom:auto;left:auto}
    }
    @media (max-width:520px){
      .hero-title{font-size:clamp(2.2rem,12vw,3rem)}
      .hero-brandmark{width:clamp(104px,26vw,130px)}
    }
    

    /* Styles critiques : bannière Essential + carte "offre Studio".
       Embarqués volontairement (comme la modale) pour ne pas dépendre
       de la mise en cache de style.css. */
    .essential-banner{display:flex;align-items:center;gap:36px;max-width:1000px;margin:56px auto 0;padding:34px 44px;text-align:left;border-radius:24px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(ellipse 55% 120% at 0% 50%,rgba(236,72,153,.09),transparent 60%),radial-gradient(ellipse 55% 120% at 100% 50%,rgba(6,182,212,.08),transparent 60%),#0c0c12;transition:transform .4s cubic-bezier(.25,1,.5,1),border-color .4s ease,box-shadow .4s ease}
    .essential-banner:hover{transform:translateY(-4px);border-color:rgba(168,85,247,.35);box-shadow:0 24px 50px -20px rgba(168,85,247,.3)}
    .essential-banner-visual{position:relative;flex-shrink:0;line-height:0}
    .essential-banner-logo{width:110px;max-width:110px;height:auto;position:relative;z-index:1;filter:drop-shadow(0 8px 24px rgba(236,72,153,.3))}
    .essential-banner-copy{flex:1}
    .essential-banner-copy h3{font-family:'Urbanist',sans-serif;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0 0 8px;color:#F5F5F7}
    .essential-banner-copy p{margin:0;color:#86868B;line-height:1.6;font-size:.98rem}
    .essential-banner-copy strong{color:#F5F5F7;font-weight:600}
    .essential-banner-arrow{flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.1);color:#86868B;font-size:1rem;transition:background .4s ease,color .4s ease,transform .4s ease}
    .essential-banner:hover .essential-banner-arrow{background:linear-gradient(135deg,#A855F7,#3B82F6);border-color:transparent;color:#fff;transform:translateX(4px)}
    .bridge-section{padding:60px 20px;max-width:1100px;margin:0 auto}
    .bridge-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:70px 40px;border-radius:24px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(ellipse 70% 100% at 50% 0%,rgba(168,85,247,.1),transparent 60%),radial-gradient(ellipse 70% 100% at 50% 100%,rgba(6,182,212,.08),transparent 60%),#0c0c12;overflow:hidden}
    .bridge-copy{max-width:680px;margin:0 auto}
    .bridge-copy .section-title{font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 16px}
    .bridge-copy p{color:#86868B;line-height:1.7;margin:0 auto 34px}
    @media (max-width:860px){.bridge-card{padding:52px 24px}}
    @media (max-width:720px){
      .essential-banner{flex-direction:column;text-align:center;gap:20px;padding:36px 24px}
      .essential-banner-arrow{display:none}
    }
    

    .modal-overlay{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:24px}
    .modal-overlay.is-visible{display:flex}
    .modal-backdrop{position:absolute;inset:0;background:rgba(3,3,6,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;transition:opacity .4s ease}
    .modal-dialog{position:relative;width:100%;max-width:620px;max-height:calc(100vh - 48px);overflow-y:auto;padding:46px;border-radius:24px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(168,85,247,.13),transparent 60%),#0b0b11;box-shadow:0 40px 90px -30px rgba(0,0,0,.9);opacity:0;transform:translateY(24px) scale(.97);transition:opacity .45s cubic-bezier(.25,1,.5,1),transform .45s cubic-bezier(.25,1,.5,1)}
    .modal-overlay.is-open .modal-backdrop{opacity:1}
    .modal-overlay.is-open .modal-dialog{opacity:1;transform:translateY(0) scale(1)}
    .modal-close{position:absolute;top:18px;right:18px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid rgba(255,255,255,.1);border-radius:50%;cursor:pointer;padding:0;transition:transform .3s ease,border-color .3s ease}
    .modal-close:hover{transform:rotate(90deg);border-color:rgba(168,85,247,.5)}
    .modal-close span,.modal-close span::after{content:'';display:block;width:15px;height:1.5px;border-radius:2px;background:#86868B}
    .modal-close span{transform:rotate(45deg)}
    .modal-close span::after{transform:rotate(-90deg)}
    .modal-head{text-align:center;margin-bottom:34px}
    .modal-eyebrow{display:inline-block;font-family:'Urbanist',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;background:linear-gradient(135deg,#EC4899,#A855F7 38%,#3B82F6 72%,#06B6D4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px}
    .modal-title{font-family:'Urbanist',sans-serif;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:700;letter-spacing:-.03em;color:#F5F5F7;margin:0 0 10px}
    .modal-sub{margin:0;color:#86868B;font-size:.95rem;line-height:1.6}
    .contact-form{text-align:left}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
    .form-field{display:flex;flex-direction:column;margin-bottom:20px}
    .form-row .form-field{margin-bottom:0}
    .form-field label{font-family:'Urbanist',sans-serif;font-size:.82rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#86868B;margin-bottom:10px}
    .form-field label span{color:#ec4899;margin-left:3px}
    .form-field input,.form-field select,.form-field textarea{width:100%;padding:15px 18px;font-family:'Inter',sans-serif;font-size:1rem;color:#F5F5F7;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:12px;-webkit-appearance:none;appearance:none;transition:border-color .3s ease,box-shadow .3s ease}
    .form-field textarea{resize:vertical;min-height:120px;line-height:1.6;font-family:'Inter',sans-serif}
    .form-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2386868B' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;padding-right:44px;cursor:pointer}
    .form-field select option{background:#0c0c12;color:#F5F5F7}
    .form-field input::placeholder,.form-field textarea::placeholder{color:#6a6a70}
    .form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:rgba(168,85,247,.6);box-shadow:0 0 0 3px rgba(168,85,247,.12)}
    .form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:rgba(236,72,153,.7)}
    .form-error{margin-top:7px;font-size:.8rem;color:#f472b6}
    .form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
    .form-submit{width:100%;margin-top:6px;border:none;cursor:pointer;font-family:'Urbanist',sans-serif}
    .form-consent{margin:18px 0 0;text-align:center;font-size:.78rem;line-height:1.6;color:#8e8e93}
    .form-status{margin:20px 0 0;font-size:.92rem;line-height:1.6}
    .form-status.is-success{padding:16px 20px;border-radius:12px;background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.3);color:#F5F5F7}
    .form-status.is-error{padding:16px 20px;border-radius:12px;background:rgba(236,72,153,.1);border:1px solid rgba(236,72,153,.3);color:#F5F5F7}
    @media (max-width:620px){
      .modal-overlay{padding:0;align-items:flex-end}
      .modal-dialog{max-width:none;max-height:94vh;padding:40px 22px 30px;border-radius:24px 24px 0 0;transform:translateY(100%)}
      .modal-overlay.is-open .modal-dialog{transform:translateY(0)}
      .form-row{grid-template-columns:1fr;gap:18px;margin-bottom:18px}
      .form-row .form-field:first-child{margin-bottom:0}
    }
    