/* Anvaya – v2 efekty: reliéf na pozadí, animácie, mikro-interakcie
   Načítava sa po style.css. Rešpektuje prefers-reduced-motion. */

/* jemný reliéf z oblúkov loga na svetlých sekciách */
.section-alt,.hero{position:relative;isolation:isolate}
.section-alt::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.55;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420' fill='none' stroke='%23AD9F94' stroke-opacity='.16' stroke-width='1'%3E%3Cpath d='M-20 300q230 90 460 0'/%3E%3Cpath d='M-20 340q230 90 460 0'/%3E%3Cpath d='M-20 380q230 90 460 0'/%3E%3C/svg%3E");
  background-size:420px 420px}

/* hero pozadie: mäkké farebné škvrny + rastúce stĺpce z loga */
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;will-change:transform}
.b1{width:520px;height:520px;left:-160px;top:-200px;background:radial-gradient(circle,#E7DED6,transparent 70%);animation:drift 18s ease-in-out infinite}
.b2{width:460px;height:460px;right:-120px;top:60px;background:radial-gradient(circle,#D6DEE9,transparent 70%);animation:drift 22s ease-in-out infinite reverse}
.b3{width:380px;height:380px;left:40%;bottom:-220px;background:radial-gradient(circle,#EFE6DA,transparent 70%);animation:drift 26s ease-in-out infinite 3s}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.06)}66%{transform:translate(-30px,25px) scale(.96)}}
.growth{position:absolute;right:-70px;bottom:-14px;width:min(560px,60vw);color:var(--beige);opacity:.22;stroke:currentColor}
.growth .arc{stroke-dasharray:320;stroke-dashoffset:320;animation:draw 1.6s cubic-bezier(.4,0,.2,1) .3s forwards}
.growth .bar{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);animation:rise 1.1s cubic-bezier(.2,.8,.2,1) forwards}
.growth .bar1{animation-delay:.9s}.growth .bar2{animation-delay:1.15s}.growth .bar3{animation-delay:1.4s}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes rise{to{transform:scaleY(1)}}

/* hero text vstupuje postupne */
.hero-text > *{opacity:0;transform:translateY(18px);animation:up .8s cubic-bezier(.2,.8,.2,1) forwards}
.hero-text > :nth-child(1){animation-delay:.05s}.hero-text > :nth-child(2){animation-delay:.15s}.hero-text > :nth-child(3){animation-delay:.3s}.hero-text > :nth-child(4){animation-delay:.45s}.hero-text > :nth-child(5){animation-delay:.6s}
@keyframes up{to{opacity:1;transform:none}}

/* hero karty: prilietajú sprava, stav sa mení zo „spracúva sa“ na hotovo */
.mini-card{opacity:0;animation:slide .7s cubic-bezier(.2,.8,.2,1) forwards}
.mini-card:nth-child(1){animation-delay:.5s;--sx:0}
.mini-card:nth-child(2){animation-delay:.65s;--sx:-22px}
.mini-card:nth-child(3){animation-delay:.8s;--sx:-44px}
.mini-card:nth-child(4){animation-delay:.95s;--sx:-66px}
.mini-card:nth-child(n){transform:translateX(40px)}
@keyframes slide{to{opacity:1;transform:translateX(var(--sx,0))}}
.mini-status{transition:color .3s}
.mini-status:not(.ok){color:var(--beige);padding-left:18px;position:relative}
.mini-status:not(.ok)::before{content:"";position:absolute;left:2px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--beige);animation:pulse 1s ease-in-out infinite}
.mini-card.accent .mini-status{padding-left:0}
.mini-card.accent .mini-status::before{display:none}
@keyframes pulse{0%,100%{transform:scale(.7);opacity:.5}50%{transform:scale(1.15);opacity:1}}
.mini-status.ok{animation:pop .4s cubic-bezier(.2,.8,.2,1)}
@keyframes pop{0%{transform:scale(.85)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
.mini-card.accent{position:relative;overflow:hidden}
.mini-card.accent::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);animation:shine 4s ease-in-out 2s infinite}
@keyframes shine{0%{left:-80%}40%,100%{left:130%}}

/* bežiaci pás pod hero */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);padding:16px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;gap:56px;width:max-content;animation:marquee 40s linear infinite}
.marquee-track span{font-family:var(--font-head);font-size:1.25rem;font-weight:600;color:var(--navy);white-space:nowrap;position:relative;padding-left:22px}
.marquee-track span::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-3px;border-radius:50%;background:var(--beige)}
@keyframes marquee{to{transform:translateX(-50%)}}
.marquee:hover .marquee-track{animation-play-state:paused}

/* odhaľovanie pri scrollovaní */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0ms)}
.reveal.in{opacity:1;transform:none}

/* dlaždice: béžový gradientový okraj pri hoveri, ikona sa nadvihne */
.tile{position:relative;overflow:hidden}
.tile::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--beige),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s;pointer-events:none}
.tile:hover::after{opacity:1}
.tile-icon{transition:transform .3s,background .3s}
.tile:hover .tile-icon{transform:translateY(-3px) rotate(-4deg);background:var(--beige-light)}
.service{transition:transform .25s,box-shadow .25s,border-color .25s}
.service:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-left-color:var(--navy)}

/* kroky: spojnica sa dokreslí, číslo dostane prstenec */
@media(min-width:900px){
  .step:not(:last-child)::after{transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.2,.8,.2,1) .3s;background:var(--beige)}
  .step.in:not(:last-child)::after{transform:scaleX(1)}
}
.step-num{position:relative;transition:transform .3s}
.step-num::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--beige);opacity:0;transform:scale(.8);transition:opacity .4s .3s,transform .4s .3s}
.step.in .step-num::after{opacity:1;transform:scale(1)}
.step:hover .step-num{transform:scale(1.08)}

/* tmavá sekcia: veľký reliéf oblúkov, ktorý dýcha */
.section-dark{position:relative;overflow:hidden;isolation:isolate}
.section-dark .relief{position:absolute;right:-120px;top:-140px;width:760px;color:var(--beige);opacity:.14;z-index:-1;animation:breathe 14s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(-1.5deg)}}
.section-dark::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 20% 100%,rgba(173,159,148,.14),transparent 55%)}
.why-item h3::before{transition:transform .3s,background .3s}
.why-item:hover h3::before{transform:scale(1.5);background:var(--beige-light)}

/* tlačidlá: lesk pri hoveri */
.btn{position:relative;overflow:hidden}
.btn-primary::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);transition:left .5s}
.btn-primary:hover::after{left:130%}
.btn-primary:hover{box-shadow:0 8px 20px rgba(30,45,65,.25)}

/* logo v hlavičke sa pri scrolle zmenší */
.brand img{transition:width .25s}
.site-header.scrolled .brand img{width:120px}

/* podpis v O nás: podčiarknutie sa dokreslí */
.signature{display:inline-block;position:relative}
.signature::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:100%;background:var(--beige);transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.8,.2,1) .4s}
.about-text.in .signature::after{transform:scaleX(1)}

/* formulár: béžová linka hore */
.contact-form{position:relative}
.contact-form::before{content:"";position:absolute;top:0;left:32px;right:32px;height:3px;background:linear-gradient(90deg,var(--beige),var(--beige-light));border-radius:0 0 3px 3px}

/* hover musí prebiť .reveal.in (rovnaká špecificita) */
.tile.reveal.in:hover,.service.reveal.in:hover{transform:translateY(-3px)}

@media(max-width:1000px){
  .mini-card:nth-child(n){--sx:0}
}
@media(max-width:760px){
  .growth{width:70vw;right:-60px;bottom:-40px;opacity:.22}
  .marquee-track span{font-size:1.05rem}
  .contact-form::before{left:22px;right:22px}
}
@media(prefers-reduced-motion:reduce){
  .blob,.growth .arc,.growth .bar,.hero-text > *,.mini-card,.marquee-track,.section-dark .relief,.mini-card.accent::after,.mini-status:not(.ok)::before,.mini-status.ok{animation:none!important}
  .growth .arc{stroke-dashoffset:0}.growth .bar{transform:none}
  .hero-text > *{opacity:1;transform:none}
  .mini-card:nth-child(n){opacity:1;transform:translateX(var(--sx,0))}
  .reveal{opacity:1;transform:none;transition:none}
  .step:not(:last-child)::after{transform:none}
}
