/* ARIVO Experience — motion, studio interactions and Members Club. */
html{scroll-behavior:smooth}
.home .hero::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(450px circle at var(--pointer-x,75%) var(--pointer-y,45%),#a882ff0c,transparent 80%)}
.home .hero-orbit{border-style:dashed;animation:studio-orbit 55s linear infinite}
.home .hero-orbit span{animation:studio-orbit 55s linear infinite reverse}
.home .hero.has-3d .hero-orbit::before{background:none}
.stage-controls{position:absolute;z-index:5;right:7%;bottom:40px;display:flex;gap:8px;align-items:center}
.stage-controls button{background:var(--card-bg);color:var(--color-text);border:1px solid var(--color-line);border-radius:999px;padding:10px 15px;min-height:44px;font:inherit;font-size:.66rem;box-shadow:0 4px 16px #00000008}
.stage-controls button:hover{border-color:var(--color-accent)}
[data-effects="off"] *,[data-effects="off"] *::before,[data-effects="off"] *::after{animation-play-state:paused!important}
[data-effects="off"] #cards .card,[data-effects="off"] #pillars .pillar,[data-effects="off"] #refsList .ref-card{transform:none!important}
[data-effects="off"] .fade-up{animation:none!important;opacity:1;transform:none}
[data-effects="off"]{scroll-behavior:auto}
.project-finder-section:has(#projectFinder[hidden]){display:none}
.home section.project-finder-section{padding-top:0}
.project-finder{display:grid;grid-template-columns:1fr 1fr;gap:28px 56px;padding:48px;border:1px solid var(--color-line);border-radius:24px;background:linear-gradient(140deg,#9870ed0d,var(--card-bg));position:relative;overflow:hidden}
.finder-intro{grid-row:1/3}.finder-intro h2{font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-.04em;margin-bottom:18px}.finder-intro>p:last-child{max-width:320px;opacity:.72;font-size:.95rem;line-height:1.8}
.finder-options{display:flex;flex-direction:column;gap:10px}.finder-options button{background:var(--page-bg);color:var(--color-text);border:1px solid var(--color-line);border-radius:12px;padding:18px;text-align:left;font-size:.88rem;transition:border-color .2s,background .2s}
.finder-options button[aria-pressed="true"]{background:#9770e817;border-color:var(--color-accent)}
.finder-result{display:grid;gap:20px}.finder-result>p{line-height:1.8;font-size:.95rem}.finder-result .btn{justify-self:start;font-size:.82rem}.finder-result small{opacity:.65;line-height:1.6}
.auth-page .auth{padding-block:64px}.auth-page .auth-side{position:relative;padding:40px 20px}.auth-side h1{font-size:clamp(2.7rem,4.8vw,4.3rem);letter-spacing:-.055em;line-height:1.04}.auth-side h1 span{color:var(--color-accent)}
.auth-page .auth-card{border:1px solid var(--color-line);border-radius:24px;box-shadow:0 24px 85px #34215412;padding:34px;background:var(--card-bg)}
.auth-side::before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at var(--pointer-x,40%) var(--pointer-y,20%),#a47aff18,transparent 65%)}
.member-emblem{position:relative;width:130px;height:130px;margin:0 0 38px;border-radius:50%;background:linear-gradient(145deg,#ddd5f5,#8f86ad 50%,#f2edff);border:1px solid #ffffff9c;box-shadow:inset -8px -8px 20px #67539050,inset 6px 6px 15px #fff9,0 20px 55px #7458ad22;display:grid;place-items:center;animation:medallion-float 7s ease-in-out infinite}
.member-emblem img{width:70%;opacity:.8}.member-emblem i{position:absolute;inset:-10px;border:1px solid #9b7bf545;border-radius:50%;transform:rotateX(65deg) rotate(-25deg)}.member-emblem i+i{inset:-22px;transform:rotateY(60deg) rotate(20deg)}
.password-field{position:relative}.password-field input{padding-right:95px!important;margin-bottom:0!important;width:100%}.password-peek{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;color:var(--color-accent);font-size:.7rem;min-height:40px;padding:8px}
.caps-hint{color:#b37100;font-size:.76rem;margin:6px 0}.recovery-panel{margin:22px 0;padding-top:18px;border-top:1px solid var(--color-line);font-size:.83rem}.recovery-panel summary{cursor:pointer;color:var(--color-accent);padding-block:8px}.recovery-panel p{margin:10px 0;line-height:1.7}.recovery-panel label{display:block;margin-block:12px 6px}.recovery-panel input{width:100%;padding:13px;border:1px solid var(--color-line);border-radius:10px;background:var(--page-bg);color:var(--color-text);font:inherit;margin-bottom:12px}
.reset-shell{max-width:560px;margin:8vh auto;padding:24px}.reset-shell>.brand{margin-bottom:30px}.reset-shell h1{font-size:2.4rem;margin-bottom:18px}.reset-shell form{margin-top:25px}.reset-shell #resetStatus{margin:22px 0;line-height:1.7}.reset-back{color:var(--color-accent);text-decoration:underline}
.portal-page .dash{padding-top:48px}.portal-page .dash-head h1{font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.045em}.portal-page .dash-head .eyebrow{font-size:.65rem;letter-spacing:.19em}
.portal-subnav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:28px 0 30px;border-bottom:1px solid var(--color-line);padding-bottom:18px;font-size:.8rem}.portal-subnav a,.portal-subnav button{padding:10px 16px;border-radius:99px;background:transparent;color:var(--color-text);font:inherit;border:1px solid transparent}.portal-subnav a:hover,.portal-subnav button:hover{background:var(--card-bg);border-color:var(--color-line)}.portal-subnav button{margin-left:auto}
.portal-page .card{border-radius:20px;box-shadow:0 10px 36px #00000004}.portal-page .stat-grid .card:first-child{background:linear-gradient(125deg,#7450b31c,var(--card-bg));border-color:#9270d14d}.portal-page .stat-grid .card:nth-child(2){position:relative;overflow:hidden;background:linear-gradient(135deg,#241936,#423058);color:#f7f1ff;border-color:#74608a}.portal-page .stat-grid .card:nth-child(2)::after{content:'✦';position:absolute;right:-12px;top:10px;font-size:130px;opacity:.09;pointer-events:none}
.portal-page .card-big{font-variant-numeric:tabular-nums;letter-spacing:-.05em}.portal-page .stat-grid .card:nth-child(2) #points{color:#deceff}.portal-page #lifetimePoints{font-size:.72rem;margin-top:14px;opacity:.65}
.portal-page .bar{height:6px}.portal-page .bar span{background:linear-gradient(90deg,#7542db,#c0a4ff);transition:width 900ms cubic-bezier(.22,1,.36,1)}
.portal-page .products{list-style:none;padding:0}.portal-page .p-status{background:#a082e514;color:var(--color-accent);border:1px solid #a082e529;padding:3px 10px;border-radius:99px;font-size:.7rem}
.next-reward{display:flex;gap:17px;align-items:center;background:linear-gradient(90deg,#9b7bf514,transparent);border:1px solid var(--color-line);border-radius:16px;padding:22px 25px;margin:32px 0 45px;font-size:.86rem}.next-reward>span:first-child{font-size:2rem;color:var(--color-accent)}.next-reward>span:last-child{margin-left:auto;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;opacity:.6;white-space:nowrap}
.reward-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 0 24px;font-size:.78rem}.reward-toolbar select{padding:11px 32px 11px 13px;color:var(--color-text);background:var(--card-bg);border:1px solid var(--color-line);border-radius:9px;font:inherit}.reward-toolbar>span{margin-left:auto;opacity:.65}
.portal-page .rewards{gap:20px}.portal-page .reward{display:flex;flex-direction:column;border-radius:18px;position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .25s;min-width:0;padding:25px}.portal-page .reward:hover{transform:translateY(-4px);border-color:var(--color-accent);box-shadow:0 16px 42px #44217610}.portal-page .reward.ready{border-color:#9270d16b;background:linear-gradient(155deg,#9371dc10,var(--card-bg))}
.reward-state{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.portal-page .reward h3{margin:8px 0 14px;font-size:1.18rem;letter-spacing:-.025em}.portal-page .reward>p:not(.reward-cost){font-size:.85rem;line-height:1.75}.portal-page .reward .reward-cost{font-size:1.7rem;letter-spacing:-.04em;margin:23px 0 13px}.reward-cost small{font-size:.6rem;letter-spacing:.12em;margin-left:3px}.portal-page .reward .btn{margin-top:auto;font-size:.8rem;border-radius:10px}.portal-page .reward-miss{margin:10px 0 22px}
progress{appearance:none;width:100%;height:5px;border:0;border-radius:9px;overflow:hidden;background:var(--color-line);color:var(--color-accent)}progress::-webkit-progress-bar{background:var(--color-line)}progress::-webkit-progress-value{background:linear-gradient(90deg,#7143d5,#b896ff)}progress::-moz-progress-bar{background:var(--color-accent)}
.reward-dialog{width:min(540px,calc(100% - 32px));max-height:85dvh;overflow:auto;color:var(--color-text);background:var(--card-bg);border:1px solid var(--color-line);border-radius:22px;padding:32px;box-shadow:0 28px 100px #0004}.reward-dialog::backdrop,.pw-overlay::backdrop{background:#08061399;backdrop-filter:blur(8px)}.reward-dialog h2{font-size:1.9rem;letter-spacing:-.04em;margin-bottom:15px}.reward-dialog #rewardDescription{line-height:1.8;font-size:.9rem;opacity:.8}.dialog-cost{font-size:2rem;letter-spacing:-.05em;color:var(--color-accent);margin:22px 0 3px}.reward-dialog #rewardBalance{font-size:.83rem}.reward-dialog details{margin:25px 0;font-size:.8rem}.reward-dialog summary{cursor:pointer}.reward-dialog li{margin-block:8px;line-height:1.65}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px;flex-wrap:wrap}.dialog-actions .btn{font-size:.8rem}.reward-dialog #rewardDialogMsg{font-size:.84rem;line-height:1.7}
.pw-overlay:not([open]){display:none!important}.pw-overlay[open]{display:flex;width:100%;height:100%;max-width:none;max-height:none;border:0;margin:0;color:var(--color-text);background:transparent!important;backdrop-filter:none}.pw-box{max-height:90dvh;overflow:auto}.pw-box #passwordClose{margin-top:12px;width:100%;font-size:.8rem}
.portal-loading{min-height:65vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;text-align:center;padding:24px}.portal-loading>a{font-size:.8rem;color:var(--color-accent)}.loading-orbit{width:52px;height:52px;border:1px solid var(--color-line);border-top:2px solid var(--color-accent);border-radius:50%;animation:studio-orbit 1.5s linear infinite}
.portal-page .timeline .gain{font-size:.7rem;white-space:nowrap}.portal-page .levels li[aria-current]{background:#9270d112;border-radius:10px}.portal-page .vouchers{gap:18px}.portal-page .voucher{border-radius:16px}.v-code code{overflow-wrap:anywhere}
.reward-celebration{position:fixed;inset:0;z-index:250;pointer-events:none;overflow:hidden}.reward-celebration i{position:absolute;top:-15px;left:var(--x);width:7px;height:12px;border-radius:2px;background:#b491ff;animation:reward-fall 1.2s var(--delay) ease-in forwards}.reward-celebration i:nth-child(3n){background:#b9c8ff}
@keyframes studio-orbit{to{transform:rotate(360deg)}}
@keyframes medallion-float{0%,100%{transform:perspective(700px) rotateY(-14deg) rotateX(8deg) translateY(0)}50%{transform:perspective(700px) rotateY(12deg) rotateX(-5deg) translateY(-9px)}}
@keyframes reward-fall{to{transform:translateY(75vh) rotate(var(--turn));opacity:0}}
@media(max-width:860px){.stage-controls{position:relative;bottom:auto;right:auto;margin:0 22px 24px;order:2}.home .hero{flex-direction:column}.home .hero-wrap{order:1}.stage-controls [data-coin-flip]{display:none}.project-finder{grid-template-columns:1fr;padding:28px;gap:25px}.finder-intro{grid-row:auto}.auth-page .auth-side{padding:10px}.member-emblem{width:100px;height:100px}.next-reward{align-items:flex-start;flex-wrap:wrap}.next-reward>span:last-child{margin-left:0;flex-basis:100%}.portal-page .stat-grid{grid-template-columns:1fr}.portal-subnav button{margin-left:0}}
@media(max-width:540px){.auth-page .auth-card{padding:25px}.auth-side h1{font-size:2.7rem}.member-emblem{display:none}.auth-page .auth-perks{display:none}.portal-page .rewards{grid-template-columns:1fr}.portal-page .dash-head{align-items:flex-start;gap:20px}.portal-page .dash-head>.btn{font-size:.76rem}.reward-dialog{padding:25px}.dialog-actions{flex-direction:column}.dialog-actions .btn{width:100%}.portal-page .timeline li{grid-template-columns:1fr}.portal-page .timeline .gain{white-space:normal}.pw-box{padding:24px}.portal-page .nav-inner{padding-inline:18px}.portal-page .nav-actions{gap:5px}.portal-page #logoutBtn{padding-inline:12px}.reward-toolbar label{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reward-celebration{display:none}.home .hero-orbit{transform:none}.reward:hover{transform:none!important}}

.auth-page .nav-inner{padding-inline:clamp(20px,4vw,32px)}.pw-box #passwordLogout{margin-top:12px;font-size:.78rem;width:100%}

.project-open{font-size:.78rem;color:var(--color-accent);padding:9px;white-space:nowrap}
