/* ============================================================
   SOLV Hero AI — style sekcji (osadzane przez [solv_hero]).
   Wszystko celowo zescope'owane do .solv-hero, żeby nie gryźć
   się z Elementorem ani stylami motywu.
   ============================================================ */

.solv-hero{
  /* motyw jasny (produkcyjny) */
  --red:#e6392e;
  --gold:#f0a500;
  --hl-yellow:#ffc400;
  --bg:#f7f7f4;
  --text:#17171c;
  --muted:#5f5f6a;
  --faint:#c9c9d0;
  --line:rgba(0,0,0,.09);
  --card-bg:rgba(255,255,255,.72);
  --card-border:rgba(0,0,0,.10);
  --skeleton:rgba(0,0,0,.10);
  --vig:radial-gradient(130% 100% at 50% 45%, transparent 60%, rgba(0,0,0,.07) 100%);

  position:relative;
  width:100%;
  height:100vh;
  height:100svh;
  min-height:640px;
  overflow:hidden;
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.solv-hero.grabbing{cursor:grabbing;user-select:none}
.solv-hero *{box-sizing:border-box;margin:0;padding:0}

/* twarde nadpisanie globalnych fontów motywu/Elementora */
.solv-hero p.solv-hero__sub,
.solv-hero a.solv-hero__cta,
.solv-hero a.solv-hero__link2{font-family:'Inter',system-ui,sans-serif}
.solv-hero h1.solv-hero__title{font-family:'Sora',sans-serif}

/* ---------- warstwy ---------- */
.solv-hero__gl{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%}
.solv-hero__morph{position:absolute;inset:0;z-index:7;pointer-events:none;width:100%;height:100%}
.solv-hero__grain{
  position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}
.solv-hero__vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:var(--vig)}
.solv-hero__veil{
  position:absolute;inset:0;z-index:6;pointer-events:none;
  background:var(--bg);opacity:0;
  transition:opacity .5s ease,background-color .5s ease;
}
.solv-hero.spotlight .solv-hero__veil{opacity:.97;background:var(--hl-yellow)}
.solv-hero.spotlight .solv-hero__sub{opacity:0 !important}

/* ---------- treść ---------- */
.solv-hero__inner{
  position:relative;z-index:5;height:100%;
  display:flex;flex-direction:column;justify-content:center;
  max-width:1360px;margin:0 auto;padding:0 6vw;
  pointer-events:none;
}
.solv-hero__inner a,.solv-hero__bars{pointer-events:auto}

.solv-hero__eyebrow{
  display:flex;align-items:center;gap:16px;
  font-family:'JetBrains Mono',monospace;font-size:12px;
  letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-bottom:40px;
  min-height:15px;
}
.solv-hero__eyebrow::before{content:"";width:44px;height:1px;background:var(--red);flex:none}

.solv-hero h1.solv-hero__title{
  font-family:'Sora',sans-serif;font-weight:700;
  font-size:clamp(42px,5.6vw,88px);line-height:1.04;letter-spacing:-.03em;
  max-width:15ch;min-height:2.1em;margin:0;
  color:var(--text);
}
.solv-hero__title .row{display:block;overflow:hidden}
.solv-hero__title .row span{
  display:inline-block;transform:translateY(115%);
  transition:transform .95s cubic-bezier(.19,1,.22,1);
}
.solv-hero__title .row:nth-child(2) span{transition-delay:.1s}
.solv-hero.in .solv-hero__title .row span{transform:none}
.solv-hero__title .hl{color:var(--red)}

.solv-hero .fadeable{transition:opacity .55s ease,transform .55s cubic-bezier(.19,1,.22,1)}
.solv-hero .fadeable.fade{opacity:0 !important;transform:translateY(12px)}

.solv-hero__sub{
  margin-top:32px;max-width:47ch;font-size:17px;line-height:1.75;color:var(--muted);
  opacity:0;transform:translateY(18px);min-height:5.2em;
  transition:opacity .9s ease .5s,transform .9s cubic-bezier(.19,1,.22,1) .5s;
}
.solv-hero__sub b{color:var(--text);font-weight:500;transition:opacity .45s ease}
.solv-hero__sub b.ghost{opacity:.1}
.solv-hero.in .solv-hero__sub{opacity:1;transform:none}
.solv-hero.in .solv-hero__sub.fadeable{transition:opacity .55s ease,transform .55s cubic-bezier(.19,1,.22,1)}

.solv-hero__cta-row{
  margin-top:42px;display:flex;align-items:center;gap:38px;flex-wrap:wrap;
  opacity:0;transform:translateY(18px);
  transition:opacity 1s ease .7s,transform 1s cubic-bezier(.19,1,.22,1) .7s;
}
.solv-hero.in .solv-hero__cta-row{opacity:1;transform:none}
.solv-hero__cta{
  display:inline-flex;align-items:center;gap:14px;
  font-size:15.5px;font-weight:600;color:#fff !important;background:var(--red);
  text-decoration:none;padding:18px 32px;border-radius:999px;
  transition:box-shadow .35s,background .3s;
}
.solv-hero__cta:hover{background:#c72a20;box-shadow:0 18px 55px rgba(230,57,46,.3);color:#fff}
.solv-hero__cta .arr{transition:transform .35s cubic-bezier(.19,1,.22,1)}
.solv-hero__cta:hover .arr{transform:translateX(5px)}
.solv-hero__link2{
  font-size:15px;font-weight:500;color:var(--muted) !important;text-decoration:none;
  padding-bottom:5px;border-bottom:1px solid var(--faint);transition:color .3s,border-color .3s;
}
.solv-hero__link2:hover{color:var(--text) !important;border-color:var(--gold)}

/* paski rotatora — twardy reset, bo globalne style buttonow motywu/Elementora
   (czerwona ramka, padding, min-height) rozdmuchuja je do pigulek */
.solv-hero__bars{display:flex;gap:10px;margin-top:40px;opacity:0;transition:opacity 1s ease 1s}
.solv-hero.in .solv-hero__bars{opacity:1}
.solv-hero__bars button.bar-i{
  -webkit-appearance:none !important;appearance:none !important;
  display:block !important;
  width:38px !important;min-width:0 !important;max-width:38px !important;
  height:3px !important;min-height:0 !important;max-height:3px !important;
  padding:0 !important;margin:0 !important;
  border:none !important;outline:none !important;box-shadow:none !important;
  border-radius:2px !important;
  background:var(--faint) !important;
  color:transparent !important;font-size:0 !important;line-height:0 !important;
  cursor:pointer;overflow:hidden;
}
.solv-hero__bars button.bar-i:hover,
.solv-hero__bars button.bar-i:focus{
  background:var(--faint) !important;border:none !important;box-shadow:none !important;
}
.solv-hero__bars .bar-i i{display:block;height:100%;width:0;background:var(--red)}
.solv-hero__bars .bar-i.active i{animation:solvFill var(--dur,19s) linear forwards}
@keyframes solvFill{from{width:0}to{width:100%}}

/* stopka + hint */
.solv-hero__foot{
  position:absolute;left:6vw;right:6vw;bottom:40px;z-index:5;
  display:flex;justify-content:space-between;align-items:flex-end;
  border-top:1px solid var(--line);padding-top:20px;
  opacity:0;transition:opacity 1.2s ease 1.1s;
}
.solv-hero.in .solv-hero__foot{opacity:1}
.solv-hero__foot .label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint)}
.solv-hero__foot .models{display:flex;gap:32px}
.solv-hero__foot .models span{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--muted);transition:color .3s;cursor:default}
.solv-hero__foot .models span:hover{color:var(--text)}
.solv-hero__hint{
  position:absolute;bottom:110px;right:6vw;z-index:5;
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--faint);
  opacity:0;transition:opacity 1.2s ease 1.6s;
}
.solv-hero.in .solv-hero__hint{opacity:1}

/* wytłuszczenie wychodzące z akapitu */
.solv-hero .hl-pop{
  position:absolute;z-index:8;pointer-events:none;
  font-family:'Sora',sans-serif;
  font-size:17px;line-height:1.6;font-weight:600;letter-spacing:-.02em;
  color:var(--text);max-width:80%;
  transition:font-size .55s cubic-bezier(.19,1,.22,1),line-height .55s cubic-bezier(.19,1,.22,1),
             color .45s ease,opacity .7s ease,transform .55s cubic-bezier(.19,1,.22,1),
             left .55s cubic-bezier(.19,1,.22,1);
}
.solv-hero .hl-pop.on{
  font-size:clamp(42px,5.6vw,88px);line-height:1.08;font-weight:700;
  letter-spacing:-.03em;
  color:#fff;
  max-width:66%;                     /* maks 2/3 ekranu, bardziej centralnie */
  transform:translateY(-14px);
  text-shadow:0 3px 30px rgba(0,0,0,.16);
}
.solv-hero .hl-pop.off{opacity:0 !important}

/* akcenty design systemu SOLV na zoltym przejeciu */
.solv-hero__spot-deco{position:absolute;inset:0;z-index:7;pointer-events:none}
.solv-hero__spot-deco .deco{
  position:absolute;opacity:0;
  transform:scale(.4) rotate(-30deg);
  transition:opacity .45s ease .2s,transform .6s cubic-bezier(.19,1,.22,1) .2s;
}
.solv-hero.spotlight .solv-hero__spot-deco .deco{opacity:1;animation:solvDecoFloat 3.2s ease-in-out .8s infinite}
.solv-hero.spotlight .solv-hero__spot-deco .deco-a{transform:rotate(-6deg)}
.solv-hero.spotlight .solv-hero__spot-deco .deco-b{transform:rotate(10deg)}
.solv-hero.spotlight .solv-hero__spot-deco .deco-c{transform:rotate(-12deg)}
.solv-hero__spot-deco .deco-a{top:15%;right:15%;width:92px}
.solv-hero__spot-deco .deco-b{top:24%;right:23%;width:54px;transition-delay:.32s,.32s}
.solv-hero__spot-deco .deco-c{bottom:17%;left:9%;width:42px;transition-delay:.44s,.44s}
@keyframes solvDecoFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
@media(max-width:900px){
  .solv-hero__spot-deco .deco-a{width:56px;right:8%}
  .solv-hero__spot-deco .deco-b{width:34px;right:20%}
  .solv-hero__spot-deco .deco-c{display:none}
}

/* karta z odpowiedzią AI */
.solv-hero .ai-card{
  position:absolute;z-index:6;width:308px;
  background:var(--card-bg);border:1px solid var(--card-border);
  border-top:3px solid var(--gold);
  border-radius:14px;padding:16px 18px 17px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  opacity:0;pointer-events:none;
}
.solv-hero .ai-card .brand{
  display:flex;align-items:center;gap:9px;margin-bottom:11px;
  font-size:13.5px;font-weight:700;color:var(--text);
}
.solv-hero .ai-card .brand svg{width:19px;height:19px;flex:none}
.solv-hero .ai-card .brand em{
  font-style:normal;margin-left:auto;
  font-family:'JetBrains Mono',monospace;font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
  animation:solvBlip 1.4s infinite;
}
@keyframes solvBlip{0%,100%{opacity:1}50%{opacity:.3}}
.solv-hero .ai-card .q{font-size:15px;font-weight:600;color:var(--text);line-height:1.5;margin-bottom:12px}
.solv-hero .ai-card .row{display:flex;align-items:center;gap:10px;margin-top:8px}
.solv-hero .ai-card .row.win{
  background:rgba(240,165,0,.14);border:1px solid rgba(240,165,0,.35);
  border-radius:9px;padding:8px 10px;margin-left:-10px;margin-right:-4px;
}
.solv-hero .ai-card .num{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);width:16px}
.solv-hero .ai-card .win .num{color:var(--gold);font-weight:700}
.solv-hero .ai-card .you{font-size:16.5px;font-weight:700;color:var(--red)}
.solv-hero .ai-card .you::after{content:" ✦";color:var(--gold)}
.solv-hero .ai-card .bar{height:9px;border-radius:4px;background:var(--skeleton)}

/* mobile */
@media(max-width:900px){
  .solv-hero h1.solv-hero__title{max-width:100%}
  .solv-hero__foot .models span:nth-child(n+3){display:none}
  .solv-hero .ai-card,.solv-hero__hint{display:none}
  .solv-hero .hl-pop{max-width:90%}
  .solv-hero .hl-pop.on{font-size:34px}
}

/* dostępność */
@media (prefers-reduced-motion: reduce){
  .solv-hero__title .row span,.solv-hero__sub,.solv-hero__cta-row,
  .solv-hero__foot,.solv-hero__bars,.solv-hero__hint{transition:none;transform:none;opacity:1}
}
