:root{--pink:#f50086;--violet:#6d35f4;--coral:#ff746c;--ink:#111321;--muted:#73738b;--edge:clamp(24px,5vw,68px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;overflow-x:clip;color:#fff;font-family:"Archivo",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(58% 64% at -10% 16%,rgba(96,42,246,.95) 0 43%,transparent 43.5%),radial-gradient(44% 62% at 110% 10%,rgba(255,139,111,.6) 0 47%,transparent 47.5%),linear-gradient(135deg,#7439ef 0%,#b536d4 29%,#ed3c98 61%,#ff746c 100%)}button,input,textarea{font:inherit}
h1,h2,.eyebrow,.section-kicker,.footer-title-row p,.dialog-kicker{
  font-family:"Big Shoulders Display","Arial Narrow",sans-serif;
  font-weight:900;
  text-transform:uppercase;
}
.button,.lead,.lead-secondary,.card-heading p,.privacy-note,.dialog-top p,.form-grid,.consent{
  font-family:"Archivo",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}main{width:100%}.hero{position:relative;min-height:930px;padding:72px var(--edge) 80px;overflow:visible}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.hero:before{width:640px;height:640px;left:-300px;top:20px;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 90px rgba(255,255,255,.025)}.hero:after{width:760px;height:760px;right:-470px;top:-100px;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 120px rgba(255,255,255,.02)}.hero-copy{position:relative;z-index:4;max-width:780px}.eyebrow{display:flex;align-items:center;gap:16px;margin:0;font-weight:800;font-size:.93rem;letter-spacing:.23em}.eyebrow span{display:block;width:64px;height:1px;background:rgba(255,255,255,.9)}.context{margin:8px 0 30px;font-size:1.35rem}h1{margin:0;font-size:clamp(5rem,7vw,7.8rem);line-height:.84;letter-spacing:-.025em;font-weight:900;text-shadow:0 10px 34px rgba(69,16,77,.14)}h1 span{display:block}.lead{max-width:660px;margin:34px 0 0;font-size:clamp(1.4rem,2.1vw,2rem);font-weight:800;line-height:1.15}.lead-secondary{margin:14px 0 0;font-size:1.05rem;font-weight:700;letter-spacing:.02em;color:rgba(255,255,255,.82)}.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.button{appearance:none;border:0;min-height:58px;border-radius:18px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:14px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover{transform:translateY(-1px)}.button-white{background:#fff;color:#b32978;box-shadow:0 15px 35px rgba(70,20,65,.18)}.button-glass{color:#fff;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.11);backdrop-filter:blur(10px)}.hero-actions .button-glass{min-width:190px}.button-primary{width:100%;color:#fff;background:linear-gradient(90deg,#f40086,#c636c3 48%,#7c3ff2);box-shadow:0 14px 30px rgba(180,40,130,.22)}.button-soft-dark{color:#3f3b58;background:#f1eef6}.button-arrow{margin-left:auto;font-size:1.9rem;line-height:1}.candidate-visual{position:absolute;z-index:2;right:-20px;top:52px;width:min(47vw,650px);pointer-events:none}.candidate-visual img{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 30px rgba(52,22,63,.16))}.contact-card{position:relative;z-index:7;width:min(760px,calc(100% - (var(--edge) * 2)));margin:36px auto 22px;padding:28px;border-radius:30px;background:rgba(255,255,255,.985);color:var(--ink);box-shadow:0 24px 60px rgba(73,23,75,.18)}.card-heading{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:start}.card-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffe2f0,#efe7ff);color:#d51670}.card-icon svg{width:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.card-heading h2{margin:2px 0 8px;font-size:2rem;line-height:.95;letter-spacing:.01em}.card-heading p{margin:0;color:var(--muted);font-size:1rem;line-height:1.5}.contact-card .button{margin-top:22px}.privacy-note{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding-top:18px;border-top:1px solid #ece8f0;color:#706d85}.privacy-note svg{width:24px;min-width:24px;fill:none;stroke:#363247;stroke-width:1.8}.privacy-note p{margin:0;line-height:1.45}
.letter-section{
  position:relative;
  z-index:8;
  width:min(1180px,calc(100% - (var(--edge) * 2)));
  margin:-190px auto 42px;
  padding:clamp(24px,4vw,46px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:34px;
  background:rgba(26,21,18,.16);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 28px 70px rgba(56,18,61,.14);
}
.letter-heading{max-width:780px;margin:0 auto 30px;text-align:center}
.section-kicker{
  margin:0 0 6px;
  color:#fff;
  font-size:.95rem;
  letter-spacing:.16em;
}
.letter-heading h2{
  margin:0;
  color:#fff;
  font-size:clamp(2.6rem,5vw,4.6rem);
  line-height:.88;
  letter-spacing:-.025em;
}
.letter-heading p:last-child{
  max-width:720px;
  margin:16px auto 0;
  color:rgba(255,255,255,.82);
  font-size:1rem;
  line-height:1.55;
}
.letter-pages{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,3vw,34px);
  align-items:start;
  perspective:1200px;
}
.letter-page{
  position:relative;
  margin:0;
  padding:10px;
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(237,224,200,.28));
  box-shadow:
    0 34px 54px rgba(29,12,35,.28),
    0 12px 18px rgba(29,12,35,.16),
    inset 1px 1px 0 rgba(255,255,255,.78),
    inset -1px -1px 0 rgba(26,21,18,.12);
}
.letter-page::after{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:12px;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(26,21,18,.08);
}
.letter-page img{
  display:block;
  width:100%;
  height:auto;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 8px rgba(26,21,18,.12);
}
.letter-actions{
  display:flex;
  justify-content:center;
  margin-top:26px;
}
.letter-download{min-width:min(100%,260px)}

.site-footer{position:relative;z-index:5;padding:12px var(--edge) max(28px,env(safe-area-inset-bottom))}.footer-inner{max-width:900px;margin:0 auto;text-align:center}.footer-title-row{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center}.footer-title-row span{height:1px;background:rgba(255,255,255,.8)}.footer-title-row p{margin:0;font-size:.83rem;font-weight:800;letter-spacing:.27em}.social-links{display:flex;justify-content:center;gap:16px;margin:18px 0}.social-button{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);transition:transform .18s ease,background .18s ease}.social-button:hover{transform:translateY(-2px);background:rgba(255,255,255,.23)}.social-button svg{width:25px;height:25px;fill:#fff;stroke:#fff}.social-button:nth-child(2) svg{fill:none;stroke-width:1.6}.legal-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:.82rem}.legal-links a{text-decoration:none;color:rgba(255,255,255,.88)}.footer-note{margin:10px 0 0;color:rgba(255,255,255,.62);font-size:.78rem}.contact-dialog{width:min(720px,calc(100% - 30px));max-height:min(92dvh,900px);padding:0;border:0;border-radius:30px;background:transparent;overflow:visible}.contact-dialog::backdrop{background:rgba(22,8,31,.62);backdrop-filter:blur(8px)}.contact-form{position:relative;max-height:min(92dvh,900px);overflow:auto;padding:28px;border-radius:30px;background:#fff;color:var(--ink);box-shadow:0 30px 100px rgba(25,8,30,.35)}.dialog-top{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.dialog-kicker{margin:0 0 7px;font-size:.77rem;color:#bd267a;font-weight:850;letter-spacing:.18em}.dialog-top h2{margin:0;font-size:2.2rem;line-height:.95}.dialog-top p:last-child{margin:10px 0 0;color:#777389;line-height:1.45}.dialog-close{width:42px;height:42px;border:0;border-radius:50%;background:#f2eef5;color:#352f40;font-size:1.7rem;line-height:1;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.form-grid label{display:grid;gap:7px;color:#454154;font-size:.9rem;font-weight:750}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid textarea{width:100%;border:1px solid #ddd7e5;border-radius:14px;padding:13px 14px;color:#17141d;background:#fff;outline:none;transition:border .15s ease,box-shadow .15s ease}.form-grid input:focus,.form-grid textarea:focus{border-color:#c53bab;box-shadow:0 0 0 4px rgba(197,59,171,.1)}.form-grid textarea{resize:vertical;min-height:150px}.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important}.consent{display:flex;align-items:flex-start;gap:10px;margin-top:18px;color:#696579;font-size:.85rem;line-height:1.4}.consent input{margin-top:3px;accent-color:#ce2e9f}.form-actions{display:grid;grid-template-columns:150px 1fr;gap:12px;margin-top:20px}.form-feedback{margin:15px 0 0;padding:12px 14px;border-radius:12px;background:#f5f0f6;color:#4a4050}.form-feedback.error{background:#fff0f1;color:#a52339}@media(max-width:900px){.hero{min-height:980px}.candidate-visual{width:58vw;right:-13vw;top:110px}}@media(max-width:700px){:root{--edge:28px}.hero{min-height:720px;padding:max(32px,calc(env(safe-area-inset-top) + 20px)) var(--edge) 28px;overflow:clip}.hero-copy{max-width:none}.eyebrow{font-size:.78rem;letter-spacing:.17em;gap:10px;white-space:nowrap}.eyebrow span{width:42px}.context{font-size:1.02rem;margin:8px 0 25px}h1{width:63vw;font-size:clamp(3.4rem,15.4vw,5.2rem);line-height:.88;letter-spacing:-.05em}.lead{position:relative;z-index:6;width:100%;margin-top:38px;padding-right:20vw;font-size:clamp(1.07rem,4.4vw,1.28rem);line-height:1.2;text-shadow:0 2px 3px rgba(35,10,45,.28),0 5px 14px rgba(35,10,45,.18)}.lead-secondary{position:relative;z-index:6;font-size:.92rem}.hero-actions{position:relative;z-index:7;display:grid;grid-template-columns:1fr;width:100%;margin-top:24px;padding-right:0}.candidate-visual{top:150px;right:-17vw;width:72vw;z-index:2}.contact-card{position:relative;left:auto;bottom:auto;width:calc(100% - 28px);margin:10px auto 0;padding:22px 20px;border-radius:28px}.card-heading{grid-template-columns:50px 1fr;gap:14px}.card-icon{width:50px;height:50px}.card-heading h2{font-size:1.7rem;line-height:.95}.card-heading p{font-size:.92rem}.site-footer{padding-inline:20px}.footer-title-row{gap:12px}.footer-title-row p{font-size:.74rem;letter-spacing:.2em}.legal-links{gap:8px;font-size:.72rem}.contact-dialog{width:calc(100% - 20px);max-height:94dvh}.contact-form{padding:22px 18px;border-radius:24px;max-height:94dvh}.dialog-top h2{font-size:1.8rem;line-height:.95}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.form-actions{grid-template-columns:1fr}.form-actions .button:first-child{order:2}}@media(max-width:390px){:root{--edge:22px}.hero{min-height:690px}h1{width:66vw;font-size:14.8vw}.candidate-visual{right:-20vw;width:77vw}.contact-card{margin-top:10px}}

@media(max-width:700px){
  .letter-section{
    width:calc(100% - 28px);
    margin:-105px auto 12px;
    padding:20px 14px 22px;
    border-radius:28px;
  }
  .letter-heading{margin-bottom:20px;padding:0 6px}
  .letter-heading h2{font-size:2.55rem;line-height:.9}
  .letter-heading p:last-child{font-size:.9rem;line-height:1.45}
  .letter-pages{grid-template-columns:1fr;gap:20px}
  .letter-page{
    padding:7px;
    border-radius:14px;
    box-shadow:
      0 24px 38px rgba(29,12,35,.25),
      0 8px 14px rgba(29,12,35,.14),
      inset 1px 1px 0 rgba(255,255,255,.72),
      inset -1px -1px 0 rgba(26,21,18,.1);
  }
  .letter-page img{border-radius:8px}
  .letter-actions{margin-top:20px}
  .letter-download{width:100%}
}


/* V6 — logo title update */
.hero-logo-title{width:min(520px,44vw);max-width:100%;font-size:0;line-height:1}.hero-logo{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 32px rgba(69,16,77,.16))}@media(max-width:700px){.hero-logo-title{width:min(62vw,380px);transform:translateX(-12px)}}@media(max-width:390px){.hero-logo-title{width:min(66vw,360px);transform:translateX(-10px)}}

/* V9 — carte de demande de rappel */
.callback-card{
  background:linear-gradient(145deg,rgba(255,255,255,.995),rgba(255,247,252,.985));
  box-shadow:0 24px 60px rgba(73,23,75,.2);
}
.callback-card .callback-icon{
  background:linear-gradient(135deg,#ffe6ef,#f5e8ff);
  color:#d51670;
}
.callback-card .callback-icon svg{
  width:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.callback-card + .contact-card{
  margin-top:16px;
}
@media(max-width:700px){
  .callback-card + .contact-card{
    margin-top:10px;
  }
}

/* V12 — information RGPD en couche courte dans les formulaires */
.form-legal-note{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:#f8f4fa;color:#6e6879;font-size:.78rem;line-height:1.45}.form-legal-note a{color:#b52b78;font-weight:700}


/* V14 — accroche sur une seule ligne en desktop large */
@media (min-width: 1360px) {
  .hero .lead {
    max-width: none;
    width: max-content;
    white-space: nowrap;
  }
}
