#scl-contact {
  --sclc-night:#080612; --sclc-night-2:#0D0A1A; --sclc-panel:#120F22; --sclc-surface:#1A1630;
  --sclc-line:rgba(167,139,250,.15); --sclc-line-strong:rgba(167,139,250,.28);
  --sclc-violet:#7C3AED; --sclc-violet-soft:#A78BFA; --sclc-gold:#F59E0B; --sclc-gold-soft:#F7CF72;
  --sclc-text:#F8F5FF; --sclc-muted:#B9AFD9; --sclc-muted-2:#8A7FB4;
  --sclc-head:var(--scl-font-head,'Space Grotesk',system-ui,sans-serif);
  --sclc-body:var(--scl-font-body,'DM Sans',system-ui,sans-serif);
  position:relative; width:100%; overflow:hidden; padding:76px 24px 82px; color:var(--sclc-text); color-scheme:dark;
  background:radial-gradient(ellipse 52% 52% at 80% 22%,rgba(124,58,237,.16),transparent 72%),radial-gradient(ellipse 35% 35% at 10% 92%,rgba(245,158,11,.055),transparent 75%),linear-gradient(135deg,#080612 0%,#0B0717 56%,#080612 100%);
  font-family:var(--sclc-body); font-size:16px; line-height:1.5;
}
#scl-contact *, #scl-contact *::before, #scl-contact *::after { box-sizing:border-box; }
#scl-contact::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; background-image:linear-gradient(rgba(167,139,250,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(167,139,250,.08) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,#000,transparent 72%); }
#scl-contact button, #scl-contact input, #scl-contact textarea { font:inherit; }
#scl-contact .sclc-layout { position:relative; z-index:1; max-width:1200px; margin:0 auto; display:grid; grid-template-columns:minmax(0,.86fr) minmax(560px,1.14fr); gap:clamp(50px,7vw,104px); align-items:start; }

#scl-contact .sclc-intro { padding-top:52px; }
#scl-contact .sclc-eyebrow { display:flex; align-items:center; gap:11px; color:var(--sclc-gold-soft); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
#scl-contact .sclc-eyebrow span { width:28px; height:1px; background:var(--sclc-gold); box-shadow:0 0 10px var(--sclc-gold); }
#scl-contact .sclc-intro h1 { max-width:560px; margin:26px 0 22px!important; padding:0!important; color:var(--sclc-text)!important; font-family:var(--sclc-head)!important; font-size:clamp(46px,5vw,72px)!important; font-weight:700!important; line-height:.98!important; letter-spacing:-.055em!important; text-transform:none!important; }
#scl-contact .sclc-intro h1 em { display:block; color:var(--sclc-gold-soft); font-style:normal; font-weight:500; }
#scl-contact .sclc-lead { max-width:530px; margin:0; color:var(--sclc-muted); font-size:16px; line-height:1.78; }
#scl-contact .sclc-commitments { margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
#scl-contact .sclc-commitment { min-width:0; padding:13px 10px; display:flex; align-items:center; gap:10px; border:1px solid var(--sclc-line); border-radius:10px; background:rgba(18,15,34,.52); }
#scl-contact .sclc-commitment-icon { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; border-radius:50%; background:rgba(245,158,11,.09); color:var(--sclc-gold-soft); font-size:9px; font-weight:800; }
#scl-contact .sclc-commitment strong, #scl-contact .sclc-commitment small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#scl-contact .sclc-commitment strong { color:var(--sclc-text); font-size:10px; font-weight:700; }
#scl-contact .sclc-commitment small { margin-top:2px; color:var(--sclc-muted-2); font-size:9px; }
#scl-contact .sclc-quick-paths { margin-top:46px; padding-top:25px; border-top:1px solid var(--sclc-line); }
#scl-contact .sclc-quick-paths p { margin:0 0 12px; color:var(--sclc-muted-2); font-size:11px; }
#scl-contact .sclc-quick-paths a { display:flex; justify-content:space-between; gap:20px; padding:10px 0; color:var(--sclc-muted); font-size:13px; text-decoration:none; transition:color .2s,padding-left .2s; }
#scl-contact .sclc-quick-paths a:hover { color:var(--sclc-gold-soft); padding-left:5px; }
#scl-contact .sclc-quick-paths b { color:var(--sclc-gold); font-weight:400; }

#scl-contact .sclc-form-wrap { position:relative; }
#scl-contact .sclc-form-glow { position:absolute; inset:-1px; border-radius:22px; background:linear-gradient(145deg,rgba(245,158,11,.25),rgba(124,58,237,.3),transparent 65%); filter:blur(16px); opacity:.38; }
#scl-contact .sclc-form-card { position:relative; min-height:700px; padding:36px; border:1px solid var(--sclc-line-strong); border-radius:20px; background:linear-gradient(145deg,rgba(26,22,48,.97),rgba(18,15,34,.98)); box-shadow:0 30px 80px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.035); }
#scl-contact .sclc-form-heading { display:flex; justify-content:space-between; gap:20px; align-items:start; padding-bottom:26px; border-bottom:1px solid var(--sclc-line); }
#scl-contact .sclc-form-kicker { color:var(--sclc-gold-soft); font-size:9px; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
#scl-contact .sclc-form-heading h2, #scl-contact .sclc-success h2 { margin:7px 0 0!important; color:var(--sclc-text)!important; font-family:var(--sclc-head)!important; font-size:22px!important; font-weight:700!important; letter-spacing:-.025em!important; text-transform:none!important; }
#scl-contact .sclc-secure-badge { display:flex; align-items:center; gap:7px; color:var(--sclc-muted-2); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
#scl-contact .sclc-secure-badge i { width:6px; height:6px; border-radius:50%; background:#34D399; box-shadow:0 0 9px #34D399; }
#scl-contact fieldset { padding:0; margin:25px 0 0; border:0; }
#scl-contact legend, #scl-contact label>span { display:block; margin-bottom:9px; color:var(--sclc-muted); font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
#scl-contact label>span b { color:var(--sclc-gold); }
#scl-contact label>span small { margin-left:5px; color:var(--sclc-muted-2); font-size:8px; font-weight:500; }
#scl-contact .sclc-subject-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
#scl-contact .sclc-subject { min-height:58px; padding:8px 6px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; border:1px solid var(--sclc-line); border-radius:9px; background:rgba(8,6,18,.25); color:var(--sclc-muted); cursor:pointer; font-size:9px; transition:border-color .2s,background .2s,color .2s,transform .2s; }
#scl-contact .sclc-subject span { color:var(--sclc-muted-2); font-size:15px; line-height:1; }
#scl-contact .sclc-subject:hover { border-color:var(--sclc-line-strong); transform:translateY(-1px); }
#scl-contact .sclc-subject.is-active { border-color:rgba(245,158,11,.55); background:rgba(245,158,11,.08); color:var(--sclc-gold-soft); }
#scl-contact .sclc-subject.is-active span { color:var(--sclc-gold); }

#scl-contact .sclc-simulator-callout { margin:15px 0 2px; padding:17px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; border:1px solid rgba(245,158,11,.38); border-radius:11px; background:linear-gradient(135deg,rgba(245,158,11,.11),rgba(124,58,237,.12)); box-shadow:inset 0 1px rgba(255,255,255,.025),0 12px 34px rgba(0,0,0,.13); }
#scl-contact .sclc-simulator-icon { width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(245,158,11,.38); border-radius:10px; background:rgba(245,158,11,.1); color:var(--sclc-gold-soft); font-size:17px; }
#scl-contact .sclc-simulator-copy>span { display:block; margin-bottom:3px; color:var(--sclc-gold-soft); font-size:8px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
#scl-contact .sclc-simulator-copy strong { display:block; color:var(--sclc-text); font-family:var(--sclc-head); font-size:12px; }
#scl-contact .sclc-simulator-copy p { margin:3px 0 0; color:var(--sclc-muted); font-size:9px; line-height:1.4; }
#scl-contact .sclc-simulator-button { min-height:42px; padding:0 15px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:8px; background:linear-gradient(135deg,var(--sclc-gold),var(--sclc-gold-soft)); color:#241703; box-shadow:0 9px 24px rgba(245,158,11,.16); font-size:9px; font-weight:800; letter-spacing:.04em; text-decoration:none; white-space:nowrap; text-transform:uppercase; transition:transform .2s,filter .2s,box-shadow .2s; }
#scl-contact .sclc-simulator-button b { font-size:15px; }
#scl-contact .sclc-simulator-button:hover { transform:translateY(-2px); filter:brightness(1.06); box-shadow:0 12px 29px rgba(245,158,11,.24); }
#scl-contact .sclc-simulator-alternative { grid-column:2/4; margin:-3px 0 0!important; color:var(--sclc-muted-2)!important; font-size:8px!important; }

#scl-contact .sclc-field-row { margin-top:20px; display:grid; grid-template-columns:1fr 1fr; gap:13px; }
#scl-contact .sclc-full-field { display:block; margin-top:20px; }
#scl-contact input:not([type=checkbox]), #scl-contact textarea { width:100%; border:1px solid var(--sclc-line); border-radius:9px; outline:none; background:rgba(8,6,18,.42); color:var(--sclc-text); font-size:12px; transition:border-color .2s,box-shadow .2s,background .2s; }
#scl-contact input:not([type=checkbox]) { height:43px; padding:0 13px; }
#scl-contact textarea { min-height:108px; padding:12px 13px; resize:vertical; line-height:1.55; }
#scl-contact input::placeholder, #scl-contact textarea::placeholder { color:#6F6594; }
#scl-contact input:focus, #scl-contact textarea:focus { border-color:var(--sclc-violet); background:rgba(8,6,18,.65); box-shadow:0 0 0 3px rgba(124,58,237,.13); }
#scl-contact .sclc-field-help { display:block; margin-top:6px; color:var(--sclc-muted-2); font-size:9px; }
#scl-contact .sclc-consent { margin-top:18px; display:flex; align-items:flex-start; gap:9px; cursor:pointer; }
#scl-contact .sclc-consent input { width:14px; height:14px; flex:0 0 14px; margin:1px 0 0; accent-color:var(--sclc-violet); }
#scl-contact .sclc-consent span { margin:0; color:var(--sclc-muted-2); font-size:9px; font-weight:400; line-height:1.45; letter-spacing:0; text-transform:none; }
#scl-contact .sclc-consent a { color:var(--sclc-violet-soft); }
#scl-contact .sclc-privacy-notice { display:block; cursor:default; color:var(--sclc-muted-2); font-size:10px; line-height:1.55; letter-spacing:0; text-transform:none; }
#scl-contact .sclc-form-error { display:none; margin-top:14px; padding:10px 12px; border:1px solid rgba(239,68,68,.3); border-radius:8px; background:rgba(239,68,68,.08); color:#FCA5A5; font-size:11px; }
#scl-contact .sclc-form-error.is-visible { display:block; }
#scl-contact .sclc-form-footer { margin-top:22px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
#scl-contact .sclc-spam-note { color:var(--sclc-muted-2); font-size:9px; }
#scl-contact .sclc-spam-note span { margin-right:5px; color:#34D399; }
#scl-contact .sclc-submit { min-height:48px; padding:0 24px; border:0; border-radius:9px; background:linear-gradient(135deg,var(--sclc-gold),var(--sclc-gold-soft)); color:#241703; box-shadow:0 10px 30px rgba(245,158,11,.17); cursor:pointer; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; transition:transform .2s,filter .2s,box-shadow .2s; }
#scl-contact .sclc-submit span { margin-left:11px; font-size:16px; }
#scl-contact .sclc-submit:hover { transform:translateY(-2px); filter:brightness(1.06); box-shadow:0 14px 34px rgba(245,158,11,.25); }
#scl-contact .sclc-submit:disabled { cursor:wait; filter:saturate(.45); transform:none; }
#scl-contact .sclc-legal-line { position:relative; margin:14px 0 0; color:#665C8A; font-size:9px; text-align:center; }
#scl-contact .sclc-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

#scl-contact .sclc-success { min-height:620px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px; }
#scl-contact .sclc-success[hidden] { display:none; }
#scl-contact .sclc-success-icon { width:68px; height:68px; margin-bottom:24px; display:grid; place-items:center; border:1px solid rgba(245,158,11,.55); border-radius:50%; background:rgba(245,158,11,.09); color:var(--sclc-gold-soft); font-size:25px; box-shadow:0 0 40px rgba(245,158,11,.09); }
#scl-contact .sclc-success h2 { margin-top:9px!important; font-size:30px!important; }
#scl-contact .sclc-success>p { max-width:370px; margin:14px 0 22px; color:var(--sclc-muted); font-size:13px; line-height:1.7; }
#scl-contact .sclc-success-ref { width:100%; max-width:350px; margin-top:8px; padding:13px 15px; display:flex; justify-content:space-between; border:1px solid var(--sclc-line); border-radius:10px; background:rgba(8,6,18,.35); font-size:10px; }
#scl-contact .sclc-success-ref span { color:var(--sclc-muted-2); }
#scl-contact .sclc-success-ref strong { color:var(--sclc-gold-soft); }
#scl-contact .sclc-success button { margin-top:24px; padding:12px 18px; border:1px solid var(--sclc-line-strong); border-radius:8px; background:transparent; color:var(--sclc-text); cursor:pointer; font-size:10px; }
#scl-contact .sclc-success>a { margin-top:18px; color:var(--sclc-muted-2); font-size:10px; }
#scl-contact :is(button,a,input,textarea):focus-visible { outline:2px solid var(--sclc-violet-soft); outline-offset:3px; }

/* Lisibilité renforcée sur le layout ordinateur uniquement. */
@media (min-width:1051px) {
  #scl-contact .sclc-eyebrow { font-size:11px; }
  #scl-contact .sclc-lead { font-size:17px; }
  #scl-contact .sclc-commitment strong { font-size:11px; }
  #scl-contact .sclc-commitment small { font-size:10px; }
  #scl-contact .sclc-quick-paths p { font-size:12px; }
  #scl-contact .sclc-quick-paths a { font-size:14px; }
  #scl-contact .sclc-form-heading h2 { font-size:24px!important; }
  #scl-contact .sclc-form-kicker, #scl-contact .sclc-secure-badge { font-size:10px; }
  #scl-contact legend, #scl-contact label>span { font-size:11px; }
  #scl-contact label>span small { font-size:9px; }
  #scl-contact .sclc-subject { min-height:62px; font-size:10.5px; }
  #scl-contact .sclc-simulator-copy>span { font-size:9px; }
  #scl-contact .sclc-simulator-copy strong { font-size:13px; }
  #scl-contact .sclc-simulator-copy p, #scl-contact .sclc-simulator-alternative { font-size:10px!important; }
  #scl-contact .sclc-simulator-button { font-size:10px; }
  #scl-contact input:not([type=checkbox]) { height:46px; font-size:14px; }
  #scl-contact textarea { min-height:120px; font-size:14px; }
  #scl-contact .sclc-field-help, #scl-contact .sclc-spam-note, #scl-contact .sclc-legal-line { font-size:10px; }
  #scl-contact .sclc-consent span { font-size:10.5px; line-height:1.55; }
  #scl-contact .sclc-submit { min-height:50px; font-size:12px; }
  #scl-contact .sclc-success>p { font-size:14px; }
  #scl-contact .sclc-success-ref, #scl-contact .sclc-success button, #scl-contact .sclc-success>a { font-size:11px; }
}

@media (max-width:1050px) {
  #scl-contact .sclc-layout { grid-template-columns:1fr; max-width:760px; gap:50px; }
  #scl-contact .sclc-intro { padding-top:12px; }
  #scl-contact .sclc-intro h1 em { display:inline; }
  #scl-contact .sclc-commitments { max-width:600px; }
  #scl-contact .sclc-quick-paths { display:none; }
}
@media (max-width:640px) {
  #scl-contact { padding:44px 14px 58px; }
  #scl-contact .sclc-layout { gap:34px; }
  #scl-contact .sclc-intro { padding:0 8px; }
  #scl-contact .sclc-intro h1 { margin-top:20px!important; font-size:42px!important; }
  #scl-contact .sclc-lead { font-size:14px; }
  #scl-contact .sclc-commitments { margin-top:30px; grid-template-columns:1fr; }
  #scl-contact .sclc-commitment { padding:11px 13px; }
  #scl-contact .sclc-form-card { min-height:0; padding:22px 17px; border-radius:16px; }
  #scl-contact .sclc-form-heading { display:block; }
  #scl-contact .sclc-secure-badge { margin-top:10px; }
  #scl-contact .sclc-subject-grid { grid-template-columns:1fr 1fr; }
  #scl-contact .sclc-simulator-callout { grid-template-columns:auto 1fr; }
  #scl-contact .sclc-simulator-button { grid-column:1/3; width:100%; }
  #scl-contact .sclc-simulator-alternative { grid-column:1/3; margin-top:0!important; text-align:center; }
  #scl-contact .sclc-field-row { grid-template-columns:1fr; gap:17px; }
  #scl-contact .sclc-form-footer { align-items:stretch; flex-direction:column-reverse; }
  #scl-contact .sclc-submit { width:100%; }
  #scl-contact .sclc-spam-note { text-align:center; }
  #scl-contact .sclc-success { min-height:520px; padding:20px 4px; }
  #scl-contact .sclc-success-ref { align-items:center; flex-direction:column; gap:6px; }
}
@media (prefers-reduced-motion:reduce) {
  #scl-contact *, #scl-contact *::before, #scl-contact *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; }
}
