:root{
  --ink:#0A2540;
  --blue:#0B5FD6;
  --blue-deep:#073B86;
  --sky:#5AB0FF;
  --paper:#FFFFFF;
  --mist:#EEF4FC;
  --mist-2:#E2EDFB;
  --line:#D7E3F4;
  --muted:#5A6B82;
  --shadow:0 18px 50px -22px rgba(7,59,134,.45);
  --shadow-sm:0 6px 22px -10px rgba(7,59,134,.35);
  --r:18px;
  --display:"Space Grotesk",system-ui,sans-serif;
  --body:"Manrope",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
section{position:relative}

/* layout helpers */
.wrap{width:min(1180px,92vw);margin-inline:auto}
.pad{padding:84px 0}
.head-block{max-width:640px;margin-bottom:46px}
.head-block h2{margin:16px 0 14px}

/* typography */
.eyebrow{
  font-family:var(--display);font-weight:600;font-size:.78rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--blue);
  display:inline-flex;align-items:center;gap:.6em;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--blue);display:inline-block}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--ink)}
h2{font-size:clamp(1.9rem,4.2vw,3rem)}
h3{font-size:1.2rem;letter-spacing:-.01em}
p{color:var(--muted)}

/* swipe underline signature */
.swipe{position:relative;white-space:nowrap;color:var(--blue);display:inline-block}
.swipe::after{
  content:"";position:absolute;left:-.05em;right:-.05em;bottom:.06em;height:.34em;
  background:linear-gradient(90deg,var(--sky),var(--blue));
  z-index:-1;border-radius:3px;transform-origin:left center;
  transform:skewX(-12deg) scaleX(0);
  animation:swipe 1.1s .5s cubic-bezier(.6,.1,.2,1) forwards;opacity:.4;
}
@keyframes swipe{to{transform:skewX(-12deg) scaleX(1)}}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--display);font-weight:600;font-size:.98rem;
  padding:.9em 1.5em;border-radius:999px;cursor:pointer;border:none;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;white-space:nowrap;
}
.btn-primary{background:var(--blue);color:#fff;box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:var(--blue-deep);transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--blue)}
.btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow)}

/* scroll reveal */
.reveal-up{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal-up.in{opacity:1;transform:none}

@media (max-width:760px){ .pad{padding:62px 0} }
@media (max-width:460px){ h2{font-size:1.7rem} }

#postup, #preco, #kontakt{scroll-margin-top:92px}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal-up{opacity:1;transform:none}
  .swipe::after{transform:skewX(-12deg) scaleX(1)}
}
