/* reply-me · page d'accueil et pages de connexion (charte : Nunito, anthracite, turquoise, bleu profond). */
@font-face{font-family:"Nunito";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/nunito-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/nunito-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/nunito-latin-800-normal.woff2) format("woff2")}

:root{--rm-ink:#111827;--rm-turq:#00B7C7;--rm-deep:#0B6B7D;--rm-sky:#E6F9FB;--rm-mist:#F5F7F9}
.pt-body{background:var(--rm-mist);font-family:"Nunito",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px}
.pt-body h1,.pt-body h2,.pt-body h3{font-family:"Nunito",system-ui,sans-serif;font-stretch:normal;font-weight:800;letter-spacing:-.01em}
.pt{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}

/* Panneau de marque */
.pt-brand{position:relative;overflow:hidden;color:#fff;display:flex;align-items:center;padding:56px clamp(32px,6vw,96px);
  background:radial-gradient(70% 55% at 85% 100%,rgba(0,183,199,.55),transparent 70%),radial-gradient(60% 50% at 0% 0%,rgba(11,107,125,.55),transparent 70%),linear-gradient(160deg,#111827 0%,#0d2232 55%,#0B4F5E 100%)}
.pt-brand-in{position:relative;z-index:1;max-width:540px;display:flex;flex-direction:column;gap:22px}
.pt-logo-link{display:inline-block;width:min(380px,80%)}
.pt-logo{display:block;width:100%;height:auto}
.pt-bar{width:56px;height:5px;border-radius:5px;background:var(--rm-turq)}
.pt-promise{margin:0;font-size:clamp(1.9rem,3.2vw,2.9rem);line-height:1.12;font-weight:800;letter-spacing:-.015em;text-wrap:balance}
.pt-promise em{font-style:normal;color:var(--rm-turq)}
.pt-lead{margin:0;font-size:1.06rem;line-height:1.55;color:rgba(255,255,255,.78);max-width:46ch}
.pt-steps{list-style:none;margin:10px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pt-steps li{display:flex;flex-direction:column;gap:10px;font-weight:600;font-size:.95rem;line-height:1.3;color:rgba(255,255,255,.92)}
.pt-steps svg{width:40px;height:40px;padding:8px;border-radius:12px;background:rgba(0,183,199,.16);border:1px solid rgba(0,183,199,.35);fill:none;stroke:var(--rm-turq);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* Formes de la charte : feuille arrondie, quart de cercle, trame de points */
.pt-shape{position:absolute;pointer-events:none}
.pt-shape-a{width:340px;height:340px;right:-90px;top:-110px;border-radius:0 0 0 70%;background:linear-gradient(200deg,rgba(0,183,199,.5),rgba(0,183,199,.08))}
.pt-shape-b{width:220px;height:220px;left:-70px;bottom:-80px;border-radius:50% 50% 50% 8px;border:2px solid rgba(0,183,199,.35)}
.pt-dots{position:absolute;right:48px;bottom:44px;width:120px;height:120px;background-image:radial-gradient(rgba(0,183,199,.55) 1.6px,transparent 1.8px);background-size:20px 20px;opacity:.8}

/* Encart de connexion */
.pt-side{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:48px 24px 28px;
  background:radial-gradient(50% 40% at 100% 0%,var(--rm-sky),transparent 70%),var(--rm-mist)}
.pt-card{width:min(440px,100%);background:#fff;border:1px solid #E3E8EE;border-radius:22px;padding:36px 34px;display:flex;flex-direction:column;gap:20px;box-shadow:0 24px 60px -24px rgba(17,24,39,.25),0 2px 6px rgba(17,24,39,.04);color:var(--rm-ink)}
.pt-card h1{font-size:1.75rem;color:var(--rm-ink)}
.pt-head{display:flex;flex-direction:column;gap:4px}
.pt-head p{margin:0;color:#5A6474}
.pt-card .muted{color:#5A6474}
.pt-form{display:flex;flex-direction:column;gap:16px}
.pt-card .stack{gap:16px}
.pt-card .field label,.pt-card .lbl{font-weight:600;font-size:.9rem;color:var(--rm-ink)}
.pt-card .inp{font-family:inherit;font-size:1rem;padding:12px 14px;border-radius:12px;border:1.5px solid #D9E0E7;background:#fff;color:var(--rm-ink)}
.pt-card .inp::placeholder{color:#9AA4B2}
.pt-card .inp:focus{border-color:var(--rm-turq);box-shadow:0 0 0 4px rgba(0,183,199,.18)}
.pt-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.pt-label-row a,.pt-note a,.pt-card a:not(.btn){color:var(--rm-deep);font-weight:600;text-decoration:none}
.pt-label-row a{font-size:.86rem}
.pt-card a:not(.btn):hover{text-decoration:underline}
.pt-check{display:flex;align-items:center;gap:10px;font-size:.92rem;color:#3F4A5A;cursor:pointer}
.pt-check input{width:18px;height:18px;accent-color:var(--rm-deep)}
.pt-card .btn.primary{justify-content:center;font-family:inherit;font-size:1rem;font-weight:800;padding:13px 22px;border-radius:999px;background:var(--rm-deep);border-color:var(--rm-deep);color:#fff;transition:background .15s,box-shadow .15s}
.pt-card .btn.primary:hover{filter:none;background:#095A69;box-shadow:0 8px 22px -8px rgba(11,107,125,.6)}
.pt-card .btn.primary:focus-visible{outline:3px solid var(--rm-turq);outline-offset:3px}
.pt-submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pt-note{margin:0;padding-top:16px;border-top:1px solid #EDF1F5;font-size:.9rem;color:#5A6474}
.pt-card .flash{border-radius:12px}
.pt-foot{font-size:.82rem;color:#6B7584;text-align:center}
.pt-foot a{color:inherit}

@media (max-width:960px){
  .pt{grid-template-columns:1fr}
  .pt-brand{padding:28px 20px 30px;align-items:flex-start}
  .pt-brand-in{gap:12px}
  .pt-logo-link{width:200px}
  .pt-promise{font-size:1.55rem}
  .pt-lead,.pt-steps,.pt-dots,.pt-shape-b{display:none}
  .pt-shape-a{width:200px;height:200px;right:-70px;top:-80px}
  .pt-side{justify-content:flex-start;padding:24px 16px 24px}
  .pt-card{padding:26px 22px;border-radius:18px;margin-top:-26px;position:relative;z-index:1}
}
@media (prefers-reduced-motion:reduce){.pt-card .btn.primary{transition:none}}
