/*
 * 09-utilities.css - Utilidades: .reveal, barra de progreso de scroll y modal base.
 * Origen: index.html, <style> #1 (lineas 106-109). Contenido identico al original.
 */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}
.progress{position:fixed;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,#9b6a17,#f4ce6c,#fff);z-index:100;box-shadow:0 0 15px rgba(240,190,80,.7)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(18px);z-index:90;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-card{width:min(620px,100%);padding:34px;border:1px solid rgba(237,194,94,.4);border-radius:28px;background:rgba(9,11,14,.76);box-shadow:0 50px 120px #000}.modal-card h3{font-family:Cinzel,serif;font-weight:500;font-size:30px;margin:0 0 8px}.modal-card p{color:#aaa59c;font-size:13px;line-height:1.7}.form{display:grid;gap:12px;margin-top:22px}.form input,.form select{width:100%;padding:15px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;outline:none}.form input:focus,.form select:focus{border-color:rgba(233,187,74,.65);box-shadow:0 0 0 3px rgba(233,187,74,.08)}.close{float:right;background:none;border:0;color:#aaa;font-size:22px;cursor:pointer}
