/* Minimal custom styles */
:root { --ring: 0 0% 10%; }
.section { padding: 4rem 1rem; }
.section.alt { background: #0f172a; color: white; }
.section .container { max-width: 72rem; margin: 0 auto; }
.h2 { font-size: 1.875rem; line-height: 2.25rem; font-weight: 800; color: #0f172a; }
.section.alt .h2 { color: white; }
.card { background: white; border: 1px solid #e2e8f0; border-radius: 1rem; box-shadow: 0 10px 30px rgba(2,6,23,.04); }
h3.card-title { font-weight: 700; color: #0ea5e9 !important; }
.input, .textarea { width: 100%; border: 1px solid #cbd5e1; border-radius: 0.75rem; padding: .65rem .9rem; outline: none; }
.input:focus, .textarea:focus { box-shadow: 0 0 0 4px rgba(14, 165, 233, .2); border-color: #0ea5e9; }
.label { display:block; font-size: .9rem; margin-bottom: .3rem; color:#334155;}
.btn-primary { display:inline-flex; align-items:center; justify-content:center; padding:.8rem 1rem; border-radius: .9rem; background:#0f172a; color:white; font-weight:600; border:1px solid #0f172a; }
.btn-primary:hover { background: white; color:#0f172a; }
.btn-ghost { display:inline-flex; align-items:center; justify-content:center; padding:.8rem 1rem; border-radius: .9rem; border:1px solid #cbd5e1; }
.i-dot { width:.65rem; height:.65rem; border-radius:999px; background:#0ea5e9; display:inline-block; margin-top:.45rem; }
.timeline { counter-reset: step; display:grid; gap: .6rem; }
.timeline li { display:flex; align-items:center; gap:.8rem; }
.timeline li span { display:grid; place-items:center; width:2rem; height:2rem; border-radius:999px; background:#0ea5e9; color:white; font-weight:700; }
.kpi { background:#f8fafc; border:1px dashed #cbd5e1; border-radius:.8rem; padding:.9rem; }
.kpi-value { font-size:1.5rem; font-weight:800; }
.kpi-label { font-size:.8rem; color:#475569; }
.hp { position:absolute; left:-9999px; visibility:hidden; }
