:root{--mx:50vw;--my:25vh}
.scroll-progress{position:fixed;z-index:999;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--warn));box-shadow:0 0 18px rgba(201,242,92,.55)}
.cursor-aura{position:fixed;z-index:0;left:var(--mx);top:var(--my);width:440px;height:440px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(201,242,92,.075),transparent 68%);transition:opacity .25s}
.reveal-ready{opacity:0;transform:translateY(32px);transition:opacity .75s cubic-bezier(.2,.75,.25,1),transform .75s cubic-bezier(.2,.75,.25,1)}
.reveal-ready.is-visible{opacity:1;transform:none}
.hero-side{transform-style:preserve-3d;will-change:transform;transition:transform .18s ease-out}
.hero-side>*{transform:translateZ(18px)}
.day{position:relative;transition:opacity .25s,transform .35s;background .25s;padding:18px;border-radius:var(--radius);cursor:pointer}
.day::after{content:'ОТКРЫТЬ';position:absolute;right:18px;top:22px;font:10px var(--font-mono);letter-spacing:.1em;color:var(--accent);opacity:.65}
.day:not(.is-open) .day-body ul{max-height:0;opacity:0;overflow:hidden;margin:0}
.day .day-body ul{max-height:400px;opacity:1;transition:max-height .5s ease,opacity .35s ease}
.day.is-open{background:var(--surface);box-shadow:inset 3px 0 0 var(--accent)}
.day.is-open::after{content:'СВЕРНУТЬ'}
.case-card{cursor:zoom-in;transition:transform .3s ease,border-color .3s ease;transform-style:preserve-3d}
.case-card:hover{transform:translateY(-8px) rotateX(1deg);border-color:rgba(201,242,92,.55)}
.case-card .case-img{transition:filter .35s,transform .5s}.case-card:hover .case-img{filter:saturate(1.2) contrast(1.06);transform:scale(1.025)}
.case-modal{border:0;padding:0;background:#0c0e0d;max-width:min(1120px,94vw);max-height:92vh;color:var(--fg);border-radius:18px;overflow:hidden;box-shadow:0 40px 100px #000b}
.case-modal::backdrop{background:#050605df;backdrop-filter:blur(10px)}
.case-modal img{max-height:76vh;width:100%;object-fit:contain;background:#111}
.case-modal footer{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;font:12px var(--font-mono);color:var(--muted)}
.case-modal button{border:1px solid var(--border);background:transparent;color:var(--fg);width:38px;height:38px;border-radius:50%;font-size:20px;cursor:pointer}
.touch-ripple{position:absolute;border-radius:50%;width:16px;height:16px;pointer-events:none;background:rgba(201,242,92,.5);transform:translate(-50%,-50%) scale(0);animation:ripple .65s ease-out forwards}
@keyframes ripple{to{transform:translate(-50%,-50%) scale(9);opacity:0}}
.btn-primary,.btn-ghost,.nav-cta{position:relative;overflow:hidden}
.hero-tag .dot{box-shadow:0 0 0 0 rgba(201,242,92,.5);animation:pulse 2s infinite}
@keyframes pulse{60%{box-shadow:0 0 0 13px rgba(201,242,92,0)}}
.journey-status{position:sticky;bottom:18px;margin:0 auto 28px;z-index:30;width:min(520px,calc(100% - 32px));background:rgba(22,26,24,.88);border:1px solid var(--border);backdrop-filter:blur(14px);border-radius:999px;padding:9px 12px 9px 18px;display:flex;align-items:center;gap:14px;font:11px var(--font-mono);color:var(--muted);box-shadow:0 12px 40px #0006}
.journey-status i{height:5px;flex:1;background:var(--surface-2);border-radius:9px;overflow:hidden}.journey-status i::after{content:'';display:block;height:100%;width:var(--read,0%);background:var(--accent);transition:width .2s}
.journey-status a{background:var(--accent);color:var(--accent-on);padding:8px 14px;border-radius:999px;font-weight:700}
@media(max-width:760px){.cursor-aura{display:none}.hero{padding-top:52px}.case-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:12px}.case-card{min-width:86vw;scroll-snap-align:center}.day{padding:18px 12px}.day::after{right:8px}.journey-status{bottom:10px}.nav-cta{display:none}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}.hero-side,.case-card{transform:none!important}.cursor-aura{display:none}.day .day-body ul{transition:none}}
