.dy-prog{position:fixed;top:0;left:0;right:0;height:4px;z-index:200;pointer-events:none}.dy-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#F5B731,var(--m),#7A5CFF);border-radius:0 4px 4px 0}
.hero{overflow:hidden}.hero>.wrap{position:relative;z-index:2}
.dy-bl{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45;z-index:0;pointer-events:none;animation:dyB 16s ease-in-out infinite alternate}
.dy-b1{width:360px;height:360px;background:#F3B6E3;top:-90px;right:-80px}.dy-b2{width:300px;height:300px;background:#FFE08A;bottom:-110px;left:6%;animation-delay:-5s}.dy-b3{width:240px;height:240px;background:#C9B8FF;top:30%;left:38%;animation-delay:-9s;opacity:.3}
@keyframes dyB{0%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-24px) scale(1.12)}100%{transform:translate(-26px,18px) scale(.95)}}
.dy-st{position:absolute;z-index:1;color:#F5B731;pointer-events:none;animation:dyT 3.2s ease-in-out infinite}.dy-st svg{display:block}
@keyframes dyT{0%,100%{opacity:.25;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(25deg)}}
.dy-ph{position:relative;border-radius:32px;overflow:hidden;box-shadow:0 24px 50px rgba(61,18,64,.18)}.dy-ph .main-ph{box-shadow:none;border-radius:0;animation:dyK 14s ease-in-out infinite alternate;transform-origin:60% 40%}
.dy-ph .dy-nx{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease;animation:dyK 14s ease-in-out infinite alternate-reverse}.dy-ph .dy-nx.on{opacity:1}
@keyframes dyK{from{transform:scale(1)}to{transform:scale(1.09)}}
.dy-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:3}.dy-dots i{width:8px;height:8px;border-radius:99px;background:rgba(255,255,255,.6);transition:width .4s,background .4s}.dy-dots i.on{width:22px;background:#fff}
.hero h1 .w{background:linear-gradient(90deg,var(--m),#F5B731,#7A5CFF,var(--m));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:dyG 6s linear infinite}
@keyframes dyG{to{background-position:300% 0}}
.dy-rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.dy-rv.dy-in{opacity:1;transform:none}
.dy-tilt{transition:transform .25s ease,box-shadow .25s ease;will-change:transform}.dy-tilt:hover{box-shadow:0 18px 40px rgba(61,18,64,.14)}
main h2{position:relative}
.dy-ul::after{content:"";display:block;width:0;height:4px;margin-top:8px;border-radius:4px;background:linear-gradient(90deg,var(--m),#F5B731);transition:width 1s .2s ease}.dy-ul.dy-in::after{width:72px}
.dy-rib{margin:64px 0 0;overflow:hidden;padding:6px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.dy-rr{display:flex;gap:14px;width:max-content;animation:dyM 50s linear infinite}.dy-rr.r2{animation-direction:reverse;animation-duration:60s;margin-top:14px}.dy-rib:hover .dy-rr{animation-play-state:paused}
.dy-rr img{height:150px;width:auto;aspect-ratio:4/3;object-fit:cover;border-radius:20px;box-shadow:0 8px 20px rgba(61,18,64,.12)}
@keyframes dyM{to{transform:translateX(50%)}}
.dy-lb{position:fixed;inset:0;z-index:300;background:rgba(20,8,24,.9);display:none;align-items:center;justify-content:center;padding:20px}.dy-lb.open{display:flex}
.dy-lb img{max-width:min(1100px,94vw);max-height:80vh;border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.5);animation:dyZ .35s ease}.dy-lb p{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;margin:0;font-weight:700}
.dy-lb button{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:26px;cursor:pointer}.dy-lb .x{top:16px;left:16px}.dy-lb .n{left:16px;top:50%}.dy-lb .p{right:16px;top:50%}
@keyframes dyZ{from{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}
.gal figure,.gal2 figure{cursor:zoom-in}.gal figure img,.gal2 figure img{transition:transform .8s ease}.gal figure:hover img,.gal2 figure:hover img{transform:scale(1.07)}
@media (max-width:700px){.dy-rr img{height:110px}.dy-b3{display:none}}
@media (prefers-reduced-motion:reduce){.dy-bl,.dy-st,.dy-rr,.dy-ph .main-ph,.dy-ph .dy-nx,.hero h1 .w{animation:none}.dy-rv{opacity:1;transform:none;transition:none}}
