
:root{ --gold:#E7C87A; }
.reveal{opacity:0; transform: translateY(14px); transition: opacity .7s ease, transform .7s ease;}
.reveal.show{opacity:1; transform:none;}

.navlink{position:relative;}
.navlink.active{color:var(--gold); border-color: rgba(231,200,122,.35); background: rgba(231,200,122,.08);}
.navlink.active::after{content:""; position:absolute; left:14px; right:14px; bottom:8px; height:2px; background: var(--gold); border-radius:999px; opacity:.9;}

.btnlift{transition: transform .15s ease, box-shadow .15s ease;}
.btnlift:hover{transform: translateY(-1px); box-shadow: 0 14px 30px rgba(0,0,0,.35);}

.cardhover{transition: transform .15s ease, border-color .15s ease, background .15s ease;}
.cardhover:hover{transform: translateY(-2px); border-color: rgba(231,200,122,.35); background: rgba(255,255,255,.05);}

.modal-backdrop{display:none; position:fixed; inset:0; background: rgba(0,0,0,.72); z-index:60; padding:24px;}
.modal-backdrop.open{display:flex; align-items:center; justify-content:center;}
.modal{max-width: 980px; width: min(980px, 100%); border:1px solid rgba(255,255,255,.10); border-radius: 24px; overflow:hidden; background: #0a0a0a;}
.modal img{width:100%; height:auto; display:block;}
.modal-header{display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.10);}
.modal-title{font-weight:700; color:#fff;}
.modal-close{border:1px solid rgba(255,255,255,.12); border-radius: 12px; padding:8px 10px; color:#fff; background: rgba(255,255,255,.04);}
.modal-close:hover{background: rgba(255,255,255,.08);}

.toast{position:fixed; left:50%; transform:translateX(-50%); bottom:18px;
  background: rgba(0,0,0,.85); color:#fff; border:1px solid rgba(255,255,255,.12);
  border-radius: 14px; padding: 10px 12px; z-index:80; display:none;}
.toast.show{display:block; animation: toastin .2s ease;}
@keyframes toastin{from{opacity:0; transform:translate(-50%, 6px);} to{opacity:1; transform:translate(-50%, 0);}}

.shimmer{background: linear-gradient(110deg, rgba(231,200,122,.08), rgba(231,200,122,.18), rgba(231,200,122,.08));
  background-size: 200% 100%; animation: shimmer 2.2s linear infinite;}
@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
