/* Небольшие эффекты без библиотек; весь контент доступен без JavaScript. */
.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#bb874b,#f1d09f,#c28e51);transform:scaleX(0);transform-origin:left;pointer-events:none;z-index:30}
.button,.header-cta{position:relative;isolation:isolate;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.button::after,.header-cta::after{content:'';position:absolute;inset:-40% auto -40% -70%;width:45%;background:linear-gradient(90deg,transparent,#fff8e98c,transparent);transform:skewX(-22deg);pointer-events:none}
.button>span,.header-cta>span{transition:transform .25s ease}
.audience-grid article,.steps article,.day,.tool-card,.review-card,.photo-item,.video-card,.price-card{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.photo-item button{overflow:hidden;border-radius:5px}.photo-item img{transition:transform .6s cubic-bezier(.2,.65,.3,1)}
.hero-photo{transition:transform .7s ease;transform:perspective(1100px) rotateY(var(--hero-y,0deg)) rotateX(var(--hero-x,0deg));transform-origin:center}
.header nav a{position:relative}.header nav a::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:#be9059;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
summary:after{transition:transform .25s ease}details[open]>summary:after{transform:rotate(180deg)}
details[open]>p,details[open]>.review-grid{animation:detail-appear .3s ease both}
dialog[open]{animation:dialog-appear .25s ease both}dialog[open]::backdrop{animation:backdrop-appear .25s ease both}
@media(hover:hover) and (pointer:fine){
 .button:hover::after,.header-cta:hover::after{animation:gold-light .75s ease}
 .button:hover>span,.header-cta:hover>span{transform:translate(3px,-2px)}
 .audience-grid article:hover,.steps article:hover,.day:hover,.tool-card:hover,.review-card:hover,.photo-item:hover,.video-card:hover,.price-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #89603914;border-color:#ceab7c}
 .photo-item:hover img{transform:scale(1.035)}
 .header nav a:hover::after{transform:scaleX(1)}
}
.button:focus-visible::after,.header-cta:focus-visible::after{animation:gold-light .75s ease}
.header nav a:focus-visible::after{transform:scaleX(1)}
@keyframes gold-light{to{left:140%}}
@keyframes detail-appear{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}
@keyframes dialog-appear{from{opacity:0;translate:0 10px;scale:.98}to{opacity:1;translate:0 0;scale:1}}
@keyframes backdrop-appear{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 .button,.header-cta,.button>span,.header-cta>span,.audience-grid article,.steps article,.day,.tool-card,.review-card,.photo-item,.video-card,.price-card,.photo-item img,.hero-photo,.header nav a::after,summary:after{transition:none!important}
 .button::after,.header-cta::after{display:none}
 details[open]>p,details[open]>.review-grid,dialog[open],dialog[open]::backdrop{animation:none!important}
 .hero-photo,.photo-item:hover img,.audience-grid article:hover,.steps article:hover,.day:hover,.tool-card:hover,.review-card:hover,.photo-item:hover,.video-card:hover,.price-card:hover,.button:hover,.button:hover>span,.header-cta:hover>span{transform:none!important}
}
