/* Page Demande professionnelle – charte OPS */
body#TopstarProMailForm #columns, body#TopstarProMailForm .columns-container { background:#1e2643; }
body#TopstarProMailForm #columns { max-width:none; width:100%; padding:0; }
.tsp { background:#1e2643; color:#fff; padding-bottom:80px; }
.tsp .w { max-width:1180px; margin:0 auto; padding:0 24px; }
.tsp p { margin:0; }
.tsp .k { font-family:'TS Mono',monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#9aa3bf; }
.tsp .k a { color:#fff; text-decoration:none; } .tsp .k .sq { display:inline-block; width:8px; height:8px; background:#fff; margin-right:8px; }
.tsp h1, .tsp h2 { font-family:'Helvetica Neue Condensed','Arial Narrow',sans-serif; font-weight:500; color:#fff !important; text-transform:none; letter-spacing:0; margin:0; }
.tsp-hero { padding:72px 0 40px; border-bottom:1px solid rgba(255,255,255,.12); }
.tsp-hero h1 { font-size:clamp(40px,6vw,64px); line-height:1.02; margin:18px 0 18px; }
.tsp-hero .i { font-size:17px; line-height:1.6; color:#c9cedb; max-width:760px; }
.tsp .tsp-main { margin-top:48px; margin-bottom:0; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:48px; }
.tsp-form .form.authentification.container { width:auto !important; max-width:none !important; margin:0 !important; background:#fff; color:#1e2643; padding:32px; }
.tsp-form .form.authentification.container * { max-width:100%; }
.tsp-form form.box { width:100% !important; max-width:none !important; margin:0 !important; float:none !important; }
.tsp-form form.box .top-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; width:100% !important; }
.tsp-form form.box .field-wrap { width:100% !important; float:none !important; margin-left:0 !important; margin-right:0 !important; }
.tsp-form form.box input[type=text], .tsp-form form.box input:not([type]), .tsp-form form.box textarea { width:100% !important; }
.tsp-form form.box textarea { height:150px !important; min-height:0 !important; }
.tsp-form form.box button { background:#1e2643 !important; color:#fff !important; border:0 !important; letter-spacing:.14em; }
.tsp-form .tab-content { width:100% !important; }
.tsp-side { padding-top:6px; }
.tsp-side .m { font-family:'Helvetica Neue Condensed','Arial Narrow',sans-serif; font-size:28px; margin:8px 0 28px; }
.tsp-side .m a { color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.4); }
.tsp-side ul { list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.16); }
.tsp-side li { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.16); font-size:15px; line-height:1.5; color:#c9cedb; }
.tsp-side li b { display:block; font-family:'TS Mono',monospace; font-weight:400; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#fff; margin-bottom:4px; }
.tsp .tsp-sec { margin-top:72px; }
.tsp-sec h2 { font-size:clamp(30px,4vw,44px); line-height:1.08; margin:14px 0 32px; }
.tsp-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14); }
.tsp-grid > div { background:#1e2643; padding:24px 22px 28px; }
.tsp-grid .n { font-family:'TS Mono',monospace; font-size:12px; color:#9aa3bf; }
.tsp-grid .t { font-family:'Helvetica Neue Condensed','Arial Narrow',sans-serif; font-size:21px; margin:14px 0 8px !important; color:#fff; }
.tsp-grid .d { font-size:14.5px; line-height:1.6; color:#c9cedb; }
.tsp-real { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.tsp-real > div { background:#fff; aspect-ratio:2/3; display:flex; align-items:center; justify-content:center; padding:10px; }
.tsp-real img { max-width:100%; max-height:100%; object-fit:contain; }
.tsp-ph { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.tsp-ph > div { aspect-ratio:4/3; overflow:hidden; background:#151b33; }
.tsp-ph img { width:100%; height:100%; object-fit:cover; display:block; }
.tsp-mco { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; }
.tsp-mco .i { font-size:17px; line-height:1.6; color:#c9cedb; margin:0 0 28px; }
.tsp-mco a.b { display:inline-block; border:1px solid #fff; color:#fff; padding:14px 26px; font-family:'Helvetica Neue Condensed','Arial Narrow',sans-serif; font-size:15px; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; }
.tsp-mco a.b:hover { background:#fff; color:#1e2643; }
.tsp-mco ul { list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.16); }
.tsp-mco li { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.16); font-size:15px; line-height:1.5; color:#c9cedb; }
.tsp-mco li b { display:block; font-family:'TS Mono',monospace; font-weight:400; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#fff; margin-bottom:4px; }
@media (max-width:991px) {
  .tsp-mco { grid-template-columns:1fr; gap:28px; }
  .tsp .tsp-main { grid-template-columns:1fr; gap:32px; }
  .tsp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tsp-real { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .tsp .w { padding:0 16px; }
  .tsp-hero { padding:44px 0 28px; }
  .tsp-form .form.authentification.container { padding:20px; }
  .tsp-grid { grid-template-columns:1fr; }
  .tsp-real { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tsp-ph { grid-template-columns:1fr 1fr; }
}
