/* DistrIA — distria.ma (from Claude Design "DistrIA Homepage v4") */

html, body { margin: 0; padding: 0; background: #FFF; }
body { font-family: 'Source Sans 3', 'Helvetica Neue', sans-serif; color: #12151C; -webkit-font-smoothing: antialiased; }
a { color: #1D5BE0; text-decoration: none; }
input, textarea { font-family: 'Source Sans 3', sans-serif; }

/* Keyframes */
@keyframes pulse { 0%, 100% { opacity: 1 } 50% { opacity: .3 } }
@keyframes marquee { from { transform: translateX(0) } to { transform: translateX(-50%) } }
@keyframes float { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-10px) } }
@keyframes ping { 0% { transform: scale(1); opacity: .7 } 100% { transform: scale(2.6); opacity: 0 } }

/* Scroll reveal — hidden only when JS is running (progressive enhancement) */
.js [data-reveal] { opacity: 0; }

/* Nav */
.nav-a { color: #D3E0FA; transition: color .2s; }
.nav-a:hover { color: #FFF; }
.lang-a { color: #D3E0FA; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; transition: color .2s; }
.lang-a:hover, .lang-a[aria-current="page"] { color: #FFF; }
.btn-nav { background: #FFF; color: #1D5BE0; padding: 10px 22px; border-radius: 999px; font-weight: 700; font-size: 15px; transition: background .2s, color .2s; }
.btn-nav:hover { background: #E8EFFC; color: #1546B0; }

/* Buttons */
.btn-primary { background: #FFF; color: #12151C; padding: 16px 32px; border-radius: 999px; font-weight: 700; font-size: 16px; display: inline-block; transition: background .2s, color .2s, transform .2s; }
.btn-primary:hover { background: #12151C; color: #FFF; transform: translateY(-2px); }
.btn-ghost { border: 1.5px solid rgba(255,255,255,0.5); color: #FFF; padding: 15px 32px; border-radius: 999px; font-weight: 700; font-size: 16px; display: inline-block; transition: border-color .2s, transform .2s; }
.btn-ghost:hover { border-color: #FFF; color: #FFF; transform: translateY(-2px); }
.btn-submit { background: #1D5BE0; color: #FFF; border: none; border-radius: 999px; padding: 15px; font-weight: 700; font-size: 16px; cursor: pointer; font-family: 'Source Sans 3', sans-serif; transition: background .2s; }
.btn-submit:hover { background: #1546B0; }
.btn-submit:disabled { opacity: .75; cursor: default; }

/* Feature rows */
.frow { transition: padding-left .25s; }
.frow:hover { padding-left: 8px; }

/* Inline links */
.link-arrow { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 15px; color: #1D5BE0; border-bottom: 2px solid #1D5BE0; padding-bottom: 3px; transition: color .2s; }
.link-arrow:hover { color: #1546B0; }
.pillar-link { color: #12151C; display: block; }
.pillar-link:hover { color: #12151C; }

/* Cards */
.card-hover { transition: transform .25s, box-shadow .25s, border-color .25s; }
.card-hover:hover { transform: translateY(-3px); box-shadow: 0 16px 36px -18px rgba(10, 20, 60, 0.25); }
.module-card:hover { border-color: #1D5BE0; }

/* Footer */
.foot-a { color: #9AA1AD; transition: color .2s; }
.foot-a:hover { color: #FFF; }

/* Contact form */
.form-input { background: #F4F6FB; border: 1px solid #E5E7EE; border-radius: 10px; padding: 13px 16px; font-size: 15px; min-width: 0; }
.form-input:focus { outline: 2px solid #1D5BE0; outline-offset: 1px; }
.honeypot { position: absolute; left: -9999px; opacity: 0; height: 0; width: 0; overflow: hidden; }
