
/* Horizon SI - composants statiques de production, sans React ni moteur x-dc. */
* { box-sizing:border-box; }
img { max-width:100%; }
.hsi-photo { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:6px; }
.hsi-card {
  display:block; width:100%; height:100%; padding:24px;
  border-radius:var(--radius-md,6px); background:var(--surface-card,#fff);
  border:1px solid var(--border-default,#e3e3e3);
  box-shadow:var(--shadow-1);
}
.hsi-card--outlined { border-color:var(--border-default); background:var(--surface-card); }
.hsi-card--subtle { border-color:transparent; background:var(--surface-secondary-subtle); }
a .hsi-card { transition:box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease; }
a:hover .hsi-card { box-shadow:var(--shadow-2); transform:translateY(-2px); border-color:var(--hsi-green-300); }
.hsi-button {
 display:inline-flex; align-items:center; justify-content:center; gap:10px;
 min-height:48px; padding:12px 24px; border-radius:var(--radius-sm,4px);
 font:600 15px/1.3 var(--font-body,Arial,sans-serif);
 text-align:center; border:1px solid transparent; cursor:pointer;
 white-space:normal; transition:background 150ms ease,color 150ms ease,border-color 150ms ease;
}
.hsi-button--primary { color:#fff; background:var(--color-primary,#007550); }
.hsi-button--primary:hover:not(:disabled) { background:var(--color-primary-hover,#006344); color:#fff; }
.hsi-button--secondary { color:var(--hsi-green-800); background:var(--surface-secondary,#f4efe6); border-color:var(--color-secondary-border,#ddd2bf); }
.hsi-button--secondary:hover:not(:disabled) { background:var(--hsi-sand-500); }
.hsi-button:focus-visible, .hsi-field input:focus-visible,.hsi-field textarea:focus-visible,.hsi-field select:focus-visible{
 outline:3px solid var(--hsi-green-300,#5bb38c); outline-offset:2px;
}
.hsi-button:disabled { opacity:.65; cursor:wait; }
.hsi-contact-container { max-width:850px; margin:0 auto; }
.hsi-contact-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.hsi-field { display:flex; flex-direction:column; gap:8px; }
.hsi-field label { color:var(--text-strong);font-size:14px;font-weight:600; }
.hsi-field input,.hsi-field select,.hsi-field textarea{
 width:100%;min-width:0; border:1px solid var(--border-strong,#c6c6c6);
 border-radius:var(--radius-sm,4px); background:#fff; color:var(--text-strong);
 padding:12px 14px; font:400 15px/1.55 var(--font-body,Arial,sans-serif);
}
.hsi-field textarea { resize:vertical; }
.hsi-field select { min-height:47px; }
.hsi-contact-actions { display:flex; flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:24px; }
.hsi-contact-actions p { flex:1 1 290px; }
.hsi-contact-error { background:#fff4f3;color:#9f2222;border:1px solid #d8a5a0;border-radius:6px;padding:14px 16px;line-height:1.5;margin-top:20px; }
.hsi-contact-success { display:flex; flex-direction:column; align-items:flex-start;gap:20px;padding:clamp(28px,4vw,48px);
background:var(--hsi-green-50);border:1px solid var(--hsi-green-200);border-radius:var(--radius-md); }
.hsi-contact-check { display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border-radius:4px;width:44px;height:44px;font-size:26px; }
.hsi-honeypot { position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden; }
[hidden] { display:none !important; }
@media (max-width:620px) {
 .hsi-contact-grid { grid-template-columns:1fr; }
 .hsi-contact-actions .hsi-button { width:100%; }
 .hsi-card { padding:20px; }
}
@media (prefers-reduced-motion:reduce) {
 *, *::before, *::after {scroll-behavior:auto !important;transition-duration:0.01ms !important;animation-duration:0.01ms !important;}
}

.hsi-int-1:hover{border-color:var(--color-primary);box-shadow:var(--shadow-2)}
.hsi-int-2:hover{border-color:var(--color-primary);box-shadow:var(--shadow-2)}
.hsi-int-3:hover{border-color:var(--color-primary);box-shadow:var(--shadow-2)}
