
/* ── Page wipe transition ── */
@keyframes wipeIn{0%{transform:scaleX(0);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}50.01%{transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
.wipe-active{animation:wipeIn .55s cubic-bezier(.76,0,.24,1) forwards!important;}

/* ── Cycling hero text ── */
@keyframes textFadeUp{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}
.text-cycling{animation:textFadeUp .45s ease forwards;}

/* ── Pulse dot for counter ── */
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}

/* ── Magnetic button ── */
.magnetic-btn{transition:transform .2s cubic-bezier(.16,1,.3,1),background .25s,color .25s,border-color .25s!important;}

/* ── Word reveal animation ── */
.word-reveal .wr-word{display:inline-block;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;}
.word-reveal.revealed .wr-word{opacity:1;transform:translateY(0);}

/* ── Portfolio hover preview ── */
#port-preview{position:fixed;pointer-events:none;z-index:8000;opacity:0;transition:opacity .25s ease;border:1px solid rgba(200,241,53,.2);}
#port-preview img{width:260px;height:170px;object-fit:cover;display:block;}

/* ── Est tags ── */
.est-tag{background:var(--gray2);border:1px solid var(--border);color:var(--gray3);padding:7px 14px;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;cursor:none;transition:all .2s;}
.est-tag.active{background:rgba(200,241,53,.1);border-color:var(--lime);color:var(--lime);}

/* ── Quiz styles ── */
.quiz-opt{display:block;width:100%;text-align:left;background:var(--gray2);border:1px solid var(--border);color:var(--cream);padding:14px 18px;margin-bottom:8px;font-size:.88rem;cursor:none;transition:all .2s;}
.quiz-opt:hover{border-color:var(--lime);color:var(--lime);background:rgba(200,241,53,.05);}
.quiz-progress{height:3px;background:var(--gray2);margin-bottom:28px;border-radius:2px;overflow:hidden;}
.quiz-progress-fill{height:100%;background:var(--lime);transition:width .4s ease;border-radius:2px;}
