/* AIVALM — shared styles. Tokens and rules: see DESIGN.md */

@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/montserrat-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/montserrat-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/montserrat-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/montserrat-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* AIVALM / Replix — one-page site. Tokens and rules: see DESIGN.md */
:root{
  --ink:#0B0B0B; --paper:#FFFFFF; --mist:#F3F3F3; --stone:#E4E4E4; --ash:#6B6B6B; --smoke:#8A8A8A; --line:#8A8A8A; --fog:#A9A9A9; --graphite:#1C1C1C;
  --ease-out:cubic-bezier(.22,1,.36,1); --ease-io:cubic-bezier(.76,0,.24,1);
  --t-press:140ms; --t-hover:180ms; --t-ui:240ms; --t-reveal:800ms;
  --gutter:24px; --max:1240px;
  --fs-display:clamp(2.6rem,1.2rem + 5.6vw,6rem);
  --fs-h2:clamp(2rem,1.1rem + 3.4vw,4rem);
  --fs-h3:clamp(1.35rem,1.05rem + 1.1vw,2rem);
  --fs-lead:clamp(1.1rem,1rem + .4vw,1.35rem);
  --fs-body:1.0625rem;
  --gap-section:clamp(96px,8vw + 40px,190px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:88px;scrollbar-color:var(--ink) var(--mist);overflow-x:hidden}
html.js{scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,system-ui,sans-serif;font-weight:500;font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;max-width:100%}
img,svg{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1.5px}
button{font:inherit;color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-.035em;line-height:.98;text-wrap:balance}
::selection{background:var(--ink);color:var(--paper)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}
.on-ink :focus-visible{outline-color:var(--paper)}
[tabindex="-1"]:focus{outline:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.grey{color:var(--smoke)}
.on-ink{background:var(--ink);color:var(--paper)}
.on-ink .muted{color:var(--fog)}
.muted{color:var(--ash)}
.tnum{font-variant-numeric:tabular-nums}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:999px;z-index:100;text-decoration:none;font-weight:700}
.skip:focus{top:12px}
@media (max-width:600px){:root{--gutter:16px}}

/* ---------- Nav: logo, one text link, one action ---------- */
.nav{position:sticky;top:0;z-index:50;background:var(--paper)}
.nav__in{display:flex;align-items:center;gap:28px;height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:-.02em;font-size:1.25rem;margin-right:auto}
.brand img{width:28px;height:auto}
.nav__link{text-decoration:none;font-weight:600;font-size:.95rem;position:relative;padding:6px 0}
.nav__link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--t-hover) var(--ease-out)}
.nav__link:hover::after,.nav__link[aria-current=page]::after{transform:scaleX(1)}
.nav__cta-s{display:none}
@media (max-width:640px){
  .nav__in{height:64px;gap:14px}
  .nav__link{display:none}
  .brand{font-size:1.1rem;gap:8px}
  .brand img{width:24px}
  .nav__cta{min-height:42px;padding:0 18px;font-size:.92rem}
  .nav__cta-l{display:none}.nav__cta-s{display:inline}
  html{scroll-padding-top:76px}
}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;background:var(--ink);color:var(--paper);border:2px solid var(--ink);font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;white-space:nowrap;transition:translate .35s var(--ease-out),transform var(--t-press) var(--ease-out),background var(--t-hover) ease,color var(--t-hover) ease}
.btn:hover{background:var(--graphite)}
.btn:active{transform:scale(.97)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.on-ink .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.on-ink .btn:hover{background:#E9E9E9}
.btn[disabled]{opacity:.55;cursor:progress}
.link{font-weight:700;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}

/* ---------- Generic hero (sub-pages) ---------- */
.hero{padding:clamp(48px,7vw,110px) 0 clamp(64px,8vw,130px)}
.hero h1{font-size:var(--fs-display);max-width:13ch}
.hero__lead{font-size:var(--fs-lead);max-width:44ch;margin:28px 0 36px;line-height:1.5}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center}

/* ---------- Sections ---------- */
.sec{padding:var(--gap-section) 0}
.sec--tight{padding:clamp(72px,6vw,120px) 0}
.sec h2{font-size:var(--fs-h2);max-width:16ch}
.sec__lead{font-size:var(--fs-lead);max-width:52ch;margin:24px 0 0;line-height:1.5}
.sec__head{margin-bottom:clamp(40px,5vw,72px)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:40px}}
.cite{font-size:.9rem;color:var(--ash);margin-top:18px;max-width:60ch}

/* ===================== HERO: Replix + live demo ===================== */
.rhero{padding:clamp(28px,4vw,64px) 0 clamp(40px,4vw,72px)}
.rhero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(36px,5vw,80px);align-items:start}
.rhero__txt{padding-top:clamp(8px,3vw,48px)}
.brandname{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin:0 0 22px}
.brandname b{font-weight:800;font-size:clamp(1.5rem,1.1rem + 1.2vw,2.1rem);letter-spacing:-.03em;line-height:1}
.brandname span{font-size:.92rem;font-weight:600;color:var(--ash)}
.rhero .rhero__h{font-size:clamp(2.5rem,1rem + 3vw,3.9rem);line-height:1;letter-spacing:-.04em;max-width:13ch}
.rhero .hero__lead{margin:26px 0 32px;max-width:40ch}
.trust{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px}
.trust li{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.98rem}
.trust svg{width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:var(--ink);fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;padding:4px}
@media (max-width:980px){
  .rhero__grid{grid-template-columns:1fr;gap:36px}
  .rhero__txt{padding-top:0}
  .rhero .rhero__h{max-width:14ch;margin-inline:auto;text-align:center}
  .rhero .hero__lead{margin-inline:auto;text-align:center}
}
@media (max-width:600px){
  .rhero{padding-top:20px}
  .rhero .rhero__h{font-size:clamp(2.15rem,10vw,2.7rem)}
  .rhero .hero__lead{font-size:1.06rem;margin:20px auto 26px}
  .hero__actions .btn{width:100%}
  .hero__actions{gap:16px}
  .trust{margin-top:28px}
  .trust li{font-size:.93rem}
}

.hero__offer{margin:24px 0 0}
.pilot-pill{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;background:var(--stone);color:var(--ink);text-decoration:none;font-weight:700;font-size:.92rem;line-height:1.3;transition:background var(--t-hover)}
.pilot-pill:hover{background:#D6D6D6}
.pilot-pill .pplan__dot{background:var(--ink);flex:0 0 auto}
/* the demo window */
.demo{position:relative;background:var(--paper);border-radius:26px;box-shadow:0 40px 90px -40px rgba(0,0,0,.45),0 0 0 1.5px var(--stone);overflow:hidden;scroll-margin-top:84px}
.demo__bar{display:flex;align-items:center;gap:7px;padding:14px 18px;background:var(--ink);color:#fff}
.demo__bar i{width:10px;height:10px;border-radius:50%;background:#3a3a3a;transition:background .6s var(--ease-out),box-shadow .6s var(--ease-out)}
.demo.is-live .demo__bar i{background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.demo.is-live .demo__bar i:nth-of-type(2){transition-delay:.12s}.demo.is-live .demo__bar i:nth-of-type(3){transition-delay:.24s}
.demo{transition:box-shadow .7s var(--ease-out)}
.js .hero .demo.is-cue{box-shadow:0 80px 160px -20px rgba(0,0,0,.9),0 30px 60px -10px rgba(0,0,0,.45),0 0 0 2px var(--ink)}
.demo__title{margin:0 0 0 10px;font-size:.92rem;font-weight:700;letter-spacing:0;line-height:1}
.demo__clock{margin-left:auto;font-size:.82rem;font-weight:600;color:var(--fog)}
.demo__compose,.demo__work,.demo__offer,.demo__msg{padding:clamp(18px,2vw,26px)}
.demo__work,.demo__offer,.demo__msg,.demo:not([data-state=compose]) .demo__compose{display:none}
.demo[data-state=compose] .demo__compose{display:block}
.demo[data-state=work] .demo__work,.demo[data-state=offer] .demo__offer{display:block;animation:paneIn .5s var(--ease-out)}
.demo[data-state=mail] [data-panel=mail],.demo[data-state=nedopyt] [data-panel=nedopyt]{display:block;animation:paneIn .5s var(--ease-out)}
.demo[data-state=compose] .demo__compose{animation:paneIn .45s var(--ease-out)}
@keyframes paneIn{from{opacity:0;transform:translateY(10px)}}
.demo__inds{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.ind{border:1.5px solid var(--stone);background:var(--paper);border-radius:999px;padding:7px 13px;font-weight:700;font-size:.82rem;cursor:pointer;transition:background var(--t-hover),color var(--t-hover),border-color var(--t-hover),transform var(--t-press) var(--ease-out)}
.ind:hover{border-color:var(--ink)}
.ind:active{transform:scale(.96)}
.ind[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.demo__row{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:8px;border-bottom:1.5px solid var(--mist);min-height:50px}
.demo__row label,.demo__row>span:first-child{font-size:.85rem;font-weight:700;color:var(--ash);margin:0;line-height:1.2}
.demo__row--ro span:last-child{font-weight:600;color:var(--ash);font-size:.95rem}
.demo__row .err{grid-column:2;margin:0 0 8px}
.demo__in{width:100%;border:0;background:transparent;padding:12px 0;font:inherit;font-size:1rem;font-weight:600;color:var(--ink);min-width:0}
.demo__in:focus{outline:none}
.demo__row:focus-within{border-bottom-color:var(--ink)}
.demo__in::placeholder{color:#8C8C8C;font-weight:500}
.demo__in[aria-invalid=true]{text-decoration:underline wavy var(--ink) 1px;text-underline-offset:6px}
.demo__body{margin-top:12px}
.demo__ta{display:block;width:100%;min-height:228px;resize:vertical;border:1.5px solid transparent;border-radius:14px;background:var(--mist);padding:14px 16px;font:inherit;font-size:.97rem;line-height:1.55;color:var(--ink);transition:border-color var(--t-hover),background var(--t-hover)}
.demo__ta:focus{outline:none;border-color:var(--ink);background:var(--paper)}
.demo__ta.is-typing{caret-color:transparent}
.demo__send{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:16px}
.demo__send .btn{flex:0 0 auto}
.demo__hint{flex:1 1 200px;margin:0;font-size:.85rem;line-height:1.45;color:var(--ash)}
.demo .form__status{margin:10px 0 0}
.demo .form__status:empty{display:none}
.demo .consent{margin:14px 0 0;font-size:.78rem}
@media (max-width:600px){
  .demo{border-radius:22px;margin:0 calc(var(--gutter) * -.5)}
  .demo__row{grid-template-columns:64px minmax(0,1fr)}
  .demo__ta{font-size:16px;min-height:250px}
  .demo__in{font-size:16px}
  .demo__send .btn{width:100%}
}

/* work panel: live steps */
.demo__got{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 18px;font-weight:600;font-size:.95rem}
.demo__timer{font-weight:800;font-size:1.05rem;background:var(--ink);color:#fff;border-radius:999px;padding:5px 12px}
.wsteps{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.wsteps li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;column-gap:12px;padding:11px 0;font-weight:600;color:#B5B5B5;transition:color .35s}
.wsteps li.is-on,.wsteps li.is-done{color:var(--ink)}
.ws__ic{width:22px;height:22px;border-radius:50%;border:2px solid var(--stone);position:relative;transition:border-color .3s,background .3s}
.is-on>.ws__ic{border-color:var(--ink);border-right-color:transparent;animation:spin .8s linear infinite}
.is-done>.ws__ic{background:var(--ink);border-color:var(--ink)}
.is-done>.ws__ic::after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2.4px 2.4px 0;transform:rotate(45deg)}
@keyframes spin{to{transform:rotate(360deg)}}
.ws__chips{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ws__chips:empty{display:none}
.ws__chips span{background:var(--mist);color:#B5B5B5;border-radius:999px;padding:5px 11px;font-size:.8rem;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .3s,color .3s}
.wsteps li.is-on .ws__chips span,.wsteps li.is-done .ws__chips span{background:var(--ink);color:#fff;animation:chipIn .4s var(--ease-out) both}
.wsteps li .ws__chips span:nth-child(2){animation-delay:.15s}.wsteps li .ws__chips span:nth-child(3){animation-delay:.3s}.wsteps li .ws__chips span:nth-child(4){animation-delay:.45s}.wsteps li .ws__chips span:nth-child(5){animation-delay:.6s}.wsteps li .ws__chips span:nth-child(6){animation-delay:.75s}
@keyframes chipIn{from{opacity:0;transform:scale(.9)}}
.demo__note{margin:20px 0 0;padding-top:16px;border-top:1.5px solid var(--mist);font-size:.85rem;color:var(--ash)}

/* offer panel */
.offer__head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:0 0 14px}
.offer__k{margin:0;font-size:.85rem;font-weight:700;color:var(--ash)}
.offer__id{margin:2px 0 0;font-size:1.25rem;font-weight:800;letter-spacing:-.02em}
.offer__time{display:inline-flex;align-items:center;gap:8px;margin:0;background:var(--ink);color:#fff;border-radius:999px;padding:7px 13px;font-size:.84rem;font-weight:600;white-space:nowrap}
.offer__time .pplan__dot{background:#fff}
.offer__sum{margin:0 0 12px;background:var(--mist);border-radius:12px;padding:10px 14px;font-size:.88rem;font-weight:600}
.offer__sum:empty{display:none}
.offer__reply{margin:0 0 14px;font-size:.95rem}
.offer__rows{border-top:1.5px solid var(--ink)}
.orow{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:11px 0;border-bottom:1.5px solid var(--mist);animation:rowIn .5s var(--ease-out) both;animation-delay:var(--d,0ms)}
.orow b{display:block;font-size:.95rem;line-height:1.3}
.orow span{display:block;margin-top:2px;font-size:.8rem;color:var(--ash);line-height:1.35}
.orow strong{font-weight:800;white-space:nowrap;font-size:.95rem}
.orow--flag strong{font-weight:700;background:var(--mist);border-radius:999px;padding:2px 9px;font-size:.8rem}
@keyframes rowIn{from{opacity:0;transform:translateX(-8px)}}
.offer__tot{margin:10px 0 0}
.offer__tot p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:3px 0;font-size:.92rem;color:var(--ash)}
.offer__tot b{color:var(--ink);font-weight:700}
.offer__tot .offer__grand{margin-top:6px;padding-top:10px;border-top:2px solid var(--ink);font-size:1.15rem;color:var(--ink);font-weight:800}
.offer__grand b{font-weight:800}
.offer__cond{margin:12px 0 0;font-size:.85rem;color:var(--ash)}
.offer__cond:empty{display:none}
.offer__warn{margin:12px 0 0;border:2px solid var(--ink);border-radius:12px;padding:10px 14px;font-size:.85rem;font-weight:600}
.offer__acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.offer__acts .btn{min-height:48px}
.offer__acts .btn[hidden]{display:none}
.offer__sent{margin-top:16px;background:var(--ink);color:#fff;border-radius:16px;padding:16px 18px;animation:paneIn .5s var(--ease-out)}
.offer__sent p{margin:0 0 10px;font-size:.92rem}
.offer__sent .link{color:#fff}
.offer__fine{margin:14px 0 0;font-size:.78rem;color:var(--ash)}
.is-approved .offer__time{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.is-approved .offer__time .pplan__dot{background:var(--ink)}
@media (max-width:600px){.offer__head{flex-direction:column}.offer__acts .btn{flex:1 1 100%}}

/* messages */
.demo__msg h3{font-size:var(--fs-h3);line-height:1.1;margin:0 0 12px}
.demo__msg p{color:#3a3a3a}
.demo__msg .btn{margin-top:8px}
.demo__quote{background:var(--mist);border-radius:12px;padding:12px 14px;font-weight:600}
.done__mark{width:56px;height:56px;border-radius:50%;background:var(--ink);display:grid;place-items:center;margin-bottom:22px}
.done__mark svg{width:26px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Story (pinned scroll) ---------- */
.story{position:relative;background:var(--paper)}
.story__pin{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:84px 0 28px;transition:opacity .55s ease}
.story__title{font-size:clamp(2rem,1rem + 2.6vw,3.4rem);margin-bottom:clamp(8px,1.5vh,20px)}
.stage{position:relative;width:100%;height:clamp(460px,calc(100svh - 230px),720px);margin:0 auto}
.stage__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.stage .arrow{fill:none;stroke:var(--ink);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.stage__svg path.arrow.is-tiny{display:none}
.node{position:absolute;display:flex;flex-direction:column;align-items:center;text-align:center;width:min(27%,360px);left:var(--x);top:var(--y);transform:translate(-50%,var(--ty,-50%))}
.node__ic{width:clamp(50px,min(6vw,10vh),96px);height:auto;margin-bottom:clamp(8px,1.4vh,16px)}
.node__label{font-weight:700;color:var(--ash);font-size:clamp(.82rem,.6rem + .5vw,1.05rem);margin:0 0 4px!important}
.node p{font-size:clamp(.8rem,min(.5rem + .6vw,1.9vh),1.08rem);line-height:1.45;margin:0}
.node p strong{font-weight:800}
.node--left{align-items:flex-start;text-align:left}
.checklist{list-style:none;padding:0;margin:0;text-align:left;font-size:clamp(.8rem,min(.5rem + .6vw,1.9vh),1.08rem);line-height:1.45}
.checklist li{display:flex;gap:10px;align-items:flex-start;margin:0 0 .28em}
.tick{flex:0 0 auto;width:1.15em;height:1.15em;margin-top:.17em;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;position:relative}
.tick svg{position:relative;width:70%;height:70%;fill:none;stroke:var(--paper);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.tick::before{content:"";position:absolute;inset:-2px;border-radius:50%;background:var(--ink);transform:scale(var(--fill,0))}
.story__progress{display:flex;gap:6px;margin-top:14px}
.story__progress i{display:block;height:4px;flex:1;background:var(--stone);border-radius:4px;overflow:hidden;position:relative}
.story__progress i b{position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left}
.story.is-skipping .story__pin{opacity:0;transition:opacity .3s ease}
.story.is-skip-now .story__pin{opacity:0;transition:none}
@media (min-width:821px){.stage__svg.mob{display:none}}
@media (max-width:820px){
  .story__pin{padding:84px 0 24px;justify-content:flex-start}
  .stage{height:calc(100svh - 190px);min-height:520px}
  .stage__svg.desk{display:none}
  .node{left:50%!important;top:47%!important;--ty:-50%!important;width:100%;max-width:380px;transform:translate(-50%,-50%);padding:0 4px}
  .node__ic{width:72px}
  .node p,.checklist{font-size:1rem}
  .node--left{align-items:center;text-align:center}
}
.story.is-static .stage{height:auto;min-height:0;display:flex;flex-direction:column;gap:44px;align-items:center}
.story.is-static .node{position:static;transform:none;width:100%;max-width:520px}
.story.is-static .stage__svg,.story.is-static .story__progress{display:none}

/* mini UI fragments inside the story */
.ui{background:var(--paper);border-radius:14px;box-shadow:0 18px 50px -18px rgba(0,0,0,.28);font-size:.82rem;line-height:1.4;text-align:left;color:var(--ink)}
.chips{display:flex;flex-direction:column;gap:6px;margin-top:12px;align-items:center}
.chips span{background:var(--ink);color:#fff;border-radius:999px;padding:6px 14px;font-weight:700;font-size:clamp(.72rem,.5rem + .45vw,.86rem)}
.otable{font-size:.84rem}
.otable>div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1.5px solid var(--mist)}
.otable span{color:#3A3A3A}
.otable__sum{border-bottom:0!important;font-weight:800}
.otable__sum span{color:var(--ink)}
.otable--mini{width:min(100%,290px);padding:6px 14px 8px;font-size:clamp(.72rem,.5rem + .45vw,.84rem)}
.press-btn{display:inline-block;margin-top:14px;background:var(--ink);color:#fff;border-radius:999px;padding:11px 22px;font-weight:700;font-size:.9rem}
.callpill{display:inline-flex!important;align-items:center;gap:10px;margin-top:14px!important;background:var(--ink);color:var(--paper);border-radius:999px;padding:8px 16px;font-weight:700;font-size:.85rem!important}
.clock path{transform-box:view-box}
.mail__from{font-size:.85rem;font-weight:700;margin:0 0 4px}

/* ---------- Race ("kto odpovie prvý") ---------- */
.race-split{align-items:center}
.race__ill{margin:22px 0 0;font-size:.85rem;color:var(--ash)}
.race{background:#fff;border-radius:24px;padding:clamp(20px,2.2vw,30px);box-shadow:0 30px 60px -40px rgba(0,0,0,.35);font-size:1rem}
.race__head{padding-bottom:16px;border-bottom:1px solid var(--stone);margin-bottom:12px}
.race__head .mail__from{margin:0 0 4px;font-weight:800;font-size:1rem}
.race__sub{margin:0;font-size:.88rem;color:var(--ash)}
.race__rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.race__row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 16px;border-radius:14px;background:var(--mist);font-size:.95rem;transition:background .5s var(--ease-out),color .5s var(--ease-out)}
.race__row b{font-weight:800;white-space:nowrap;transition:color .5s}
.race__st{text-align:right;font-weight:600}
.race__wait{color:var(--ash);font-weight:500}
.race__wait::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:50%;background:currentColor;vertical-align:middle;animation:racepulse 1.2s ease-in-out infinite}
@keyframes racepulse{50%{opacity:.25}}
.race__res{display:none}
.race__res.is-on{display:inline;animation:raceIn .45s var(--ease-out)}
@keyframes raceIn{from{opacity:0;transform:translateY(6px)}}
.race__row:has(.race__res.is-on) .race__wait{display:none}
.race__st:has(.race__res--win.is-on) .race__res:not(.race__res--win){display:none}
.race__row--win:has(.race__res--win.is-on){background:var(--ink);color:#fff}
.race__row:has(.race__res--late.is-on){background:transparent;color:var(--smoke)}
.race__row:has(.race__res--late.is-on) b{text-decoration:line-through;color:var(--smoke)}
@media (max-width:560px){.race__row{flex-direction:column;align-items:flex-start;gap:4px}.race__st{text-align:left}}

/* ---------- Revenue calculator ---------- */
.rcalc__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(40px,6vw,110px);align-items:center}
.rcalc .sec__head{text-align:center}.rcalc .sec__head h2,.rcalc .sec__head .sec__lead{margin-inline:auto}
.rtabs{display:flex;width:fit-content;margin-inline:auto;gap:4px;padding:5px;border-radius:999px;background:var(--mist);margin-bottom:clamp(28px,3vw,44px)}
.rtabs__b{border:0;background:transparent;font:inherit;font-weight:700;font-size:.98rem;padding:12px 22px;border-radius:999px;color:var(--ash);cursor:pointer;transition:background .2s,color .2s}
.rtabs__b[aria-selected="true"]{background:var(--ink);color:#fff}
.rtabs__b:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.rcalc__grid[hidden]{display:none}
.rcalc__h{font-size:clamp(1.8rem,1.2rem + 2vw,2.8rem);max-width:16ch;margin-bottom:22px}
.rcalc__card{background:var(--ink);color:#fff;border-radius:32px;padding:clamp(26px,3vw,48px)}
.rcalc__name{margin:0 0 28px;font-weight:800;font-size:clamp(1.25rem,1rem + .8vw,1.7rem);line-height:1.2}
.rcalc__f{padding:20px 0;border-top:1px solid rgba(255,255,255,.12)}
.rcalc__f:first-of-type{border-top:0;padding-top:0}
.rcalc__top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px}
.rcalc__top label{font-size:1rem;font-weight:500;color:#cfcfcf;line-height:1.4}
.rcalc__val{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.rcalc__val input{width:104px;background:transparent;border:0;border-bottom:1.5px solid #444;border-radius:0;color:#fff;font:inherit;font-weight:800;font-size:1.45rem;text-align:right;padding:2px 0;-moz-appearance:textfield;appearance:textfield}
.rcalc__val input::-webkit-outer-spin-button,.rcalc__val input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rcalc__val input:focus{outline:none;border-color:#fff}
.rcalc__val>span{font-weight:700;color:var(--fog);font-size:1rem}
.rcalc__range{-webkit-appearance:none;appearance:none;display:block;width:100%;height:4px;margin:0;border-radius:4px;background:linear-gradient(to right,#fff var(--p,50%),#3a3a3a var(--p,50%));cursor:pointer}
.rcalc__range:focus-visible{outline:3px solid #fff;outline-offset:6px}
.rcalc__range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:5px solid var(--ink);box-shadow:0 0 0 1px #fff}
.rcalc__range::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:#fff;border:5px solid var(--ink);box-shadow:0 0 0 1px #fff}
.rcalc__hint{margin:10px 0 0;font-size:.8rem;color:#8f8f8f}
.rcalc__res{margin-top:26px;background:var(--paper);color:var(--ink);border-radius:24px;padding:clamp(22px,2.4vw,30px)}
.rcalc__rl{margin:0;font-size:.9rem;font-weight:700;color:var(--ash)}
.rcalc__big{margin:8px 0 0;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
.rcalc__big b{font-size:clamp(2.6rem,1.6rem + 3vw,4.2rem);font-weight:800;letter-spacing:-.04em;line-height:1.05}
.rcalc__big span{font-size:1.05rem;font-weight:700;color:var(--ash)}
.rcalc__row{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:18px;padding-top:18px;border-top:1px solid var(--stone)}
.rcalc__row p{margin:0;font-size:.88rem;color:var(--ash)}
.rcalc__row b{display:block;font-size:1.35rem;font-weight:800;color:var(--ink)}
.rcalc__formula{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:32px 0 0;font-size:.92rem;font-weight:600}
.rcalc__formula span{background:var(--mist);border-radius:999px;padding:10px 16px}
.rcalc__formula i{font-style:normal;font-weight:800;color:var(--smoke)}
.rcalc__note{margin:28px 0 0;max-width:56ch;font-size:.88rem;line-height:1.6;color:var(--ash)}
.rcalc__btn{margin-top:30px}
@media (max-width:900px){
  .rcalc__grid{grid-template-columns:1fr}
  .rcalc__copy{order:-1}
  .rtabs{width:100%}.rtabs__b{flex:1;padding:12px 10px;font-size:.92rem}
  .rcalc__card{border-radius:26px}
  .rcalc__top{flex-direction:column;align-items:flex-start;gap:8px}
  .rcalc__val input{text-align:left;width:96px;font-size:1.3rem}
}

/* ---------- Pre koho ---------- */
.whochips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.whochips li{background:var(--paper);border-radius:999px;padding:10px 18px;font-weight:700;font-size:.95rem}
.fitgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,24px);margin-top:clamp(36px,4vw,56px)}
.fit{border-radius:28px;padding:clamp(24px,3vw,40px);background:var(--ink);color:#fff}
.fit--no{background:var(--paper);color:var(--ink)}
.fit__h{margin:0 0 18px;font-weight:800;font-size:1.3rem;letter-spacing:-.02em}
.fit__list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.fit__list li{display:flex;gap:12px;align-items:flex-start;line-height:1.45}
.fit .tick{--fill:1;border-color:#fff}
.fit .tick::before{background:#fff}
.fit .tick svg{stroke:var(--ink)}
.fit .cross{flex:0 0 auto;width:1.15em;text-align:center;font-weight:800;color:var(--ash)}
@media (max-width:820px){.fitgrid{grid-template-columns:1fr}.whochips li{font-size:.88rem;padding:9px 14px}}

/* ---------- Facts ---------- */
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 72px}
.fact{padding:30px 0;border-top:1.5px solid var(--stone)}
.fact h3{font-size:1.35rem;letter-spacing:-.02em;line-height:1.2;margin-bottom:10px}
.fact p{margin:0;max-width:46ch;color:#3a3a3a}
@media (max-width:820px){.facts{grid-template-columns:1fr}.fact{padding:22px 0}}

/* ---------- Pilot ---------- */
.pplan{background:var(--mist)}
.pplan__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);grid-template-areas:"intro card" "deps card";gap:44px clamp(40px,6vw,96px);align-items:start}
.pplan__intro{grid-area:intro;align-self:end}.pplan__card{grid-area:card;align-self:center}.pplan__deps{grid-area:deps}
.pplan__intro .sec__lead{margin-top:20px}
.pplan__dl{margin:0;font-size:.95rem;font-weight:800}
.pplan__dep{list-style:none;margin:14px 0 0;padding:0;max-width:540px}
.pplan__dep li{display:flex;gap:18px;align-items:baseline;padding:16px 0;border-top:1px solid rgba(11,11,11,.12)}
.pplan__dep li:last-child{border-bottom:1px solid rgba(11,11,11,.12)}
.pplan__n{font-size:.95rem;font-weight:800;color:var(--ash);min-width:16px}
.pplan__dep b{display:block;font-weight:800;font-size:1.02rem}
.pplan__dep div span{display:block;margin-top:3px;font-size:.94rem;color:var(--ash);line-height:1.45}
.pplan__card{position:relative;overflow:hidden;background:var(--ink);color:#fff;border-radius:32px;padding:clamp(28px,3vw,40px);box-shadow:0 30px 60px -30px rgba(0,0,0,.45);transform:translateY(24px);opacity:0;transition:transform .9s var(--ease-out),opacity .9s ease}
.pplan__card.is-in,html:not(.js) .pplan__card{transform:none;opacity:1}
.pplan__card::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.09) 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}
.pplan__card.is-in::after{animation:pplanShine 1.8s .5s ease-out both}
@keyframes pplanShine{to{transform:translateX(120%)}}
.pplan__tag{display:inline-flex;align-items:center;gap:8px;margin:0;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.1);font-size:.85rem;font-weight:700;color:#d6d6d6}
.pplan__dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#fff;animation:pplanPulse 2.4s ease-in-out infinite}
@keyframes pplanPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.pplan__name{margin:22px 0 0;font-weight:800;font-size:1.2rem}
.pplan__main{margin:10px 0 0;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.pplan__main b{font-size:clamp(3rem,2rem + 3vw,4.4rem);font-weight:800;letter-spacing:-.045em;line-height:1}
.pplan__main b i{font-style:normal}
.pplan__main>span{font-size:1rem;font-weight:600;color:#bdbdbd}
.pplan__setup{margin:10px 0 0;font-size:1rem;font-weight:600;color:#e6e6e6}
.pplan__il{margin:28px 0 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);font-size:.9rem;font-weight:700;color:#9a9a9a}
.pplan__inc{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:13px}
.pplan__inc li{display:flex;gap:12px;align-items:flex-start;font-size:.97rem;line-height:1.42}
.pplan__inc svg{flex:none;margin-top:1px}
.pplan__inc circle{fill:#fff}
.pplan__inc path{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset .5s .25s var(--ease-out)}
.pplan__card.is-in .pplan__inc li:nth-child(2) path{transition-delay:.4s}
.pplan__card.is-in .pplan__inc li:nth-child(3) path{transition-delay:.55s}
.pplan__card.is-in .pplan__inc li:nth-child(4) path{transition-delay:.7s}
.pplan__card.is-in .pplan__inc path,html:not(.js) .pplan__inc path{stroke-dashoffset:0}
.pplan__btn{margin-top:30px;width:100%;background:#fff;color:var(--ink);border-color:#fff}
.pplan__btn:hover{background:#e9e9e9}
.pplan__note{margin:12px 0 0;text-align:center;font-size:.85rem;color:#9a9a9a}
@media (max-width:900px){.pplan__grid{grid-template-columns:1fr;grid-template-areas:"intro" "card" "deps";gap:36px}.pplan__card{max-width:520px}}
@media (prefers-reduced-motion:reduce){.pplan__card{transition:none;transform:none;opacity:1}.pplan__card.is-in::after,.pplan__dot{animation:none}.pplan__inc path{transition:none;stroke-dashoffset:0}}

/* ---------- About ---------- */
.about{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,6vw,96px);align-items:center}
.about h2{font-size:var(--fs-h2)}
.about .sec__lead{max-width:48ch}
.about__sign{margin-top:32px;display:flex;flex-direction:column;gap:4px}
.about__sign b{font-size:1.15rem}
.about__sign a{color:var(--ash);text-decoration:none;font-weight:600}
.about__sign a:hover{color:var(--ink);text-decoration:underline}
.about__photo{margin:0 clamp(40px,7vw,110px) 0 0;justify-self:end;width:100%;max-width:225px}
.about__photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:28px;background:var(--mist)}
@media (max-width:900px){
  .about{grid-template-columns:1fr}
  .about__photo{justify-self:center;max-width:180px;margin:0}
  .about__photo img{border-radius:20px}
}

/* ---------- FAQ ---------- */
.faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0 72px;align-items:start}
.faq__grid .sec__head{position:sticky;top:120px}
.faq__list{display:grid;gap:12px}
.faq__item{background:var(--paper);border-radius:22px}
.faq__item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary h3{font-size:1.12rem;line-height:1.3;letter-spacing:-.015em;margin:0}
.faq__ic{position:relative;flex:0 0 22px;height:22px}
.faq__ic::before,.faq__ic::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2.4px;border-radius:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform var(--t-ui) var(--ease-out)}
.faq__ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item[open] .faq__ic::after{transform:translate(-50%,-50%) rotate(0)}
.faq__item p{margin:0;padding:0 26px 24px;max-width:62ch;color:var(--ash)}
.faq__item summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:22px}
@media (max-width:900px){.faq__grid{grid-template-columns:1fr}.faq__grid .sec__head{position:static}.faq__item summary{padding:18px 20px}.faq__item p{padding:0 20px 20px}}

/* ---------- Forms ---------- */
.form{display:grid;gap:18px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:640px){.form .row{grid-template-columns:1fr}}
.field label{display:block;font-weight:700;font-size:.92rem;margin:0 0 8px}
.field .opt{font-weight:500;color:var(--ash)}
.input,.select,.textarea{width:100%;min-height:52px;border:1.5px solid var(--line);border-radius:14px;background:var(--paper);padding:13px 16px;font:inherit;font-size:1rem;color:var(--ink);transition:border-color var(--t-hover)}
.textarea{min-height:130px;resize:vertical;line-height:1.5}
.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%230B0B0B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
.input:hover,.select:hover,.textarea:hover{border-color:#5a5a5a}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,11,11,.12)}
.input::placeholder,.textarea::placeholder{color:#8C8C8C}
.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--ink);border-width:2.5px}
.err{font-size:.88rem;font-weight:700;margin-top:6px;display:flex;gap:6px;align-items:center}
.err::before{content:"";width:16px;height:16px;flex:0 0 16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%230B0B0B'/%3E%3Cpath d='M8 4v5' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11.6' r='1.1' fill='white'/%3E%3C/svg%3E") no-repeat center/contain}
.consent{font-size:.86rem;color:var(--ash);line-height:1.5;margin:0}
.consent a{color:var(--ink)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form__status{font-weight:600;margin:0}
.panel{background:var(--mist);border-radius:28px;padding:clamp(24px,3.4vw,48px)}
.done{display:none}
.is-done .form{display:none}
.is-done .done{display:block}
.done h3{font-size:var(--fs-h3);margin-bottom:12px;line-height:1.1}

/* ---------- Booking ---------- */
.book{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,96px);align-items:start}
@media (max-width:960px){.book{grid-template-columns:1fr}}
.book__intro h2{font-size:var(--fs-h2)}
.book__lead{font-size:var(--fs-lead);max-width:44ch;margin:22px 0 0;line-height:1.5}
.book__points{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:14px}
.book__points li{display:flex;gap:14px;align-items:flex-start;font-size:1.05rem}
.book__points svg{flex:0 0 22px;margin-top:3px}
.legend{font-weight:700;font-size:.92rem;margin:0 0 10px}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.choice__opt{position:relative;display:block;cursor:pointer}
.choice__opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choice__opt span{display:flex;flex-direction:column;gap:2px;height:100%;padding:13px 16px;border:1.5px solid var(--line);border-radius:14px;background:#fff;transition:border-color .2s,background .2s,color .2s}
.choice__opt b{font-size:.98rem;font-weight:800}
.choice__opt small{font-size:.8rem;color:var(--ash);line-height:1.35}
.choice__opt:hover span{border-color:var(--ink)}
.choice__opt input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}
.choice__opt input:checked+span small{color:#cfcfcf}
.choice__opt input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.book__where{display:grid;gap:12px}
.book__where[hidden],.book__addr[hidden]{display:none}
@media (max-width:420px){.choice{grid-template-columns:1fr}}
.days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.day{min-width:0;border:1.5px solid var(--line);background:var(--paper);border-radius:12px;padding:8px 4px;text-align:center;cursor:pointer;transition:border-color var(--t-hover),background var(--t-hover),color var(--t-hover),transform var(--t-press) var(--ease-out)}
.day b{display:block;font-size:1.1rem;letter-spacing:-.02em;line-height:1.1}
.day span{display:block;font-size:.72rem;font-weight:600;color:var(--ash)}
.day:hover{border-color:var(--ink)}
.day:active{transform:scale(.97)}
.day[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.day[aria-pressed=true] span{color:var(--fog)}
.day[disabled]{opacity:.38;cursor:not-allowed}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;min-height:52px}
.slot{min-height:42px;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);font-weight:700;font-size:.92rem;cursor:pointer;font-variant-numeric:tabular-nums;transition:border-color var(--t-hover),background var(--t-hover),color var(--t-hover),transform var(--t-press) var(--ease-out)}
.slot:hover{border-color:var(--ink)}
.slot:active{transform:scale(.96)}
.slot[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.slot[disabled]{text-decoration:line-through;color:#A7A7A7;cursor:not-allowed;border-color:var(--mist);background:var(--mist)}
.slots__msg{grid-column:1/-1;color:var(--ash);font-size:.95rem;padding:12px 0}
.pick{font-weight:700;margin:4px 0 0;min-height:1.5em}
.slot-err:empty{display:none!important}
.skeleton{background:linear-gradient(90deg,var(--mist),#E9E9E9,var(--mist));background-size:200% 100%;animation:sk 1.2s linear infinite;border-radius:10px;min-height:42px}
@keyframes sk{to{background-position:-200% 0}}
#rezervacia .panel .btn{background:var(--ink);color:#fff;border-color:var(--ink)}
#rezervacia .panel .btn:hover{background:var(--graphite)}
@media (max-width:640px){
  #rezervacia .panel{padding:18px 16px;border-radius:22px}
  .book{gap:28px}
  .book__points{margin-top:22px;gap:10px}
  .book__points li{font-size:.98rem}
  .slots{grid-template-columns:repeat(4,minmax(0,1fr))}
  .slot{min-height:40px;font-size:.88rem}
  .day{padding:7px 2px}
  .day b{font-size:1rem}
  #rezervacia .form{gap:14px}
}
.office{display:block;margin:clamp(32px,4vw,48px) 0 0;max-width:400px;color:#fff;text-decoration:none;text-align:center}
.office__img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%;border-radius:28px;background:#1d1d1d;transition:transform .6s var(--ease-out)}
.office:hover .office__img{transform:scale(1.02)}
.office__k{display:block;margin-top:18px;font-size:.9rem;font-weight:700;color:#9a9a9a}
.office__addr{display:block;margin-top:6px;font-size:1.15rem;font-weight:800;line-height:1.3}
.office__go{display:inline-flex;justify-content:center;gap:8px;margin-top:10px;font-size:.92rem;font-weight:700;color:#d6d6d6}
.office:hover .office__go{color:#fff;text-decoration:underline}
@media (max-width:960px){.office{max-width:440px;margin-left:auto;margin-right:auto}}

/* ---------- Spolupráca ---------- */
.ways{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.way{display:grid;grid-template-columns:.9fr 1.1fr;gap:12px 48px;align-items:start;background:var(--mist);border-radius:28px;padding:clamp(26px,3vw,44px)}
.way h3{font-size:clamp(1.8rem,1rem + 2.4vw,3.2rem);line-height:1;grid-row:1/3}
.way p{margin:0;font-size:1.08rem;max-width:52ch}
.way__for{color:var(--ash);font-size:.95rem!important;font-weight:600}
.way--ink{background:var(--ink);color:var(--paper)}
.way--ink .way__for{color:var(--fog)}
@media (max-width:820px){.way{grid-template-columns:1fr}.way h3{grid-row:auto}}

/* ---------- Legal pages ---------- */
.prose{max-width:70ch}
.prose h2{font-size:1.6rem;letter-spacing:-.02em;margin:48px 0 14px;line-height:1.2}
.prose p,.prose li{font-size:1.02rem}

/* ---------- Footer ---------- */
.foot{padding:72px 0 40px}
.foot__word{font-size:clamp(4rem,2rem + 13vw,15rem);font-weight:800;letter-spacing:-.06em;line-height:.8;margin:0 0 48px;display:flex;align-items:flex-end;gap:.08em}
.foot__word img{width:.62em;height:auto;filter:invert(1);margin-bottom:.03em}
.foot__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;font-size:.95rem}
.foot__grid h4{font-size:.95rem;letter-spacing:0;margin-bottom:12px;font-weight:700;line-height:1.3}
.foot__grid ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.foot__grid a{text-decoration:none;color:var(--fog);transition:color var(--t-hover)}
.foot__grid a:hover{color:var(--paper)}
.foot__legal{margin-top:56px;font-size:.85rem;color:var(--fog);display:flex;flex-wrap:wrap;gap:8px 24px}
.foot__legal a{color:var(--fog)}
@media (max-width:820px){
  .foot__grid{grid-template-columns:1fr 1fr;gap:28px 18px;font-size:.9rem}
  .foot__grid h4{font-size:.9rem}
  .foot__word{font-size:clamp(3rem,17vw,8rem);justify-content:center;gap:.06em;margin-bottom:36px}
}

/* ---------- Reveal (JS-gated) ---------- */
@media (prefers-reduced-motion:no-preference){
  .js [data-rise]{opacity:0;transform:translateY(22px)}
  .js .hero [data-rise]{animation:rise var(--t-reveal) var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 90ms + 100ms)}
  .js .lines .line>span{display:block;transform:translateY(105%);animation:line 1s var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 110ms + 80ms)}
}
.lines .line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.lines .line>span{display:block}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes line{to{transform:none}}
@media (max-width:600px){
  .hero h1{font-size:clamp(2.2rem,9.4vw,2.6rem)}
  .hero h1.lines .line{display:inline;overflow:visible;padding:0;margin:0}
  .hero h1.lines .line>span{display:inline}
  .js .hero h1.lines .line>span{transform:none;animation:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* looping UI sequences ([data-loop] with children [data-at]) */
.js [data-loop] [data-at]:not(mark):not(.race__res){opacity:0;transform:translateY(10px);transition:opacity 500ms var(--ease-out),transform 500ms var(--ease-out)}
.js [data-loop] [data-at].is-on:not(mark):not(.race__res){opacity:1;transform:none}

/* ===================== FEEL LAYER ===================== */
body::after{content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-6%,4%)}40%{transform:translate(4%,-6%)}60%{transform:translate(-3%,7%)}80%{transform:translate(7%,2%)}100%{transform:translate(0,0)}}
@media (prefers-reduced-motion:reduce){body::after{animation:none}}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
.has-cursor,.has-cursor *{cursor:none!important}
.has-cursor input,.has-cursor textarea{cursor:text!important}
.cur-dot,.cur-ring{position:fixed;left:0;top:0;z-index:200;pointer-events:none;opacity:0;transition:opacity .3s}
.cur-on .cur-dot,.cur-on .cur-ring{opacity:1}
.cur-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--ink);transition:background .25s,opacity .3s}
.cur-ring{width:0;height:0}
.cur-ring::before{content:"";position:absolute;left:-18px;top:-18px;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--ink);transition:transform .4s var(--ease-out),border-color .25s}
.cur-dark .cur-dot{background:#fff}
.cur-dark .cur-ring::before{border-color:#fff}
.cur-ring.is-hover::before{transform:scale(1.18)}
.cur-ring.is-down::before{transform:scale(.85)}
.cur-ring span{display:none}
.curtain{position:fixed;inset:0;z-index:150;background:var(--ink);display:grid;place-items:center;transform:translateY(100%);pointer-events:none;visibility:hidden}
.curtain img{width:54px;filter:invert(1);opacity:0;transition:opacity .3s}
.curtain.is-enter,.curtain.is-cover,.curtain.is-leave{visibility:visible}
.curtain.is-enter{transform:translateY(0);transition:transform .52s cubic-bezier(.76,0,.24,1)}
.curtain.is-enter img{opacity:1;transition-delay:.25s}
.curtain.is-cover{transform:translateY(0);transition:none}
.curtain.is-cover img{opacity:1;transition:none}
.curtain.is-leave{transform:translateY(-100%);transition:transform .8s cubic-bezier(.76,0,.24,1) .05s}
@media (hover:none),(pointer:coarse){
  body::after{display:none}
  .curtain{transform:none;opacity:0;background:var(--stone);transition:none;will-change:opacity}
  .curtain::before{content:"";position:absolute;inset:0;background:linear-gradient(165deg,#FFFFFF 0%,#F3F3F3 40%,#CFCFCF 100%);opacity:1}
  .curtain img{position:relative;width:58px;filter:none;opacity:0;transform:scale(.86)}
  .curtain.is-enter{transform:none;opacity:1;transition:opacity .45s cubic-bezier(.33,0,.2,1)}
  .curtain.is-enter::before{opacity:0;transition:opacity .5s ease .12s}
  .curtain.is-enter img{opacity:1;transform:scale(1);transition:opacity .4s ease .12s,transform .6s var(--ease-out) .12s}
  .curtain.is-cover{transform:none;opacity:1;transition:none}
  .curtain.is-cover::before{opacity:0;transition:none}
  .curtain.is-cover img{opacity:1;transform:none;transition:none}
  .curtain.is-leave{transform:none;opacity:0;transition:opacity .55s cubic-bezier(.4,0,.2,1) .12s}
  .curtain.is-leave::before{opacity:0}
  .curtain.is-leave img{opacity:0;transform:scale(1.06);transition:opacity .45s ease,transform .7s var(--ease-out)}
}
@media (max-width:900px){html,body{overscroll-behavior-x:none}body{touch-action:pan-y pinch-zoom}}

/* scroll progress ring */
.sprog{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:60;width:60px;height:60px;padding:0;border:0;border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 30px -12px rgba(0,0,0,.35);opacity:0;transform:translateY(10px) scale(.92);pointer-events:none;transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}
.sprog.is-on{opacity:1;transform:none;pointer-events:auto}
.sprog svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.sprog__track{fill:none;stroke:var(--stone);stroke-width:3}
.sprog__bar{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .12s linear}
.sprog__n{position:relative;font-weight:800;font-size:.8rem;letter-spacing:-.02em}
.sprog:hover{transform:scale(1.06)}
@media (max-width:600px){.sprog{width:50px;height:50px;right:14px;bottom:max(14px,env(safe-area-inset-bottom))}.sprog__n{font-size:.72rem}}
@media (prefers-reduced-motion:reduce){.sprog,.sprog__bar{transition:none}}


/* ===================== Partnerský program (spolupraca.html) ===================== */
.phero2{padding:clamp(28px,4vw,64px) 0 clamp(64px,7vw,120px)}
.phero2__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:clamp(36px,5vw,80px);align-items:center}
.phero2 .phero2__h{font-size:clamp(2.4rem,1rem + 3vw,3.9rem);line-height:1;letter-spacing:-.04em;max-width:14ch}
.phero2 .hero__lead{margin:26px 0 32px;max-width:42ch}
@media (max-width:980px){.phero2__grid{grid-template-columns:1fr}}
@media (max-width:600px){.phero2 .phero2__h{font-size:clamp(2.1rem,9.6vw,2.6rem)}.phero2 .hero__actions .btn{width:100%}}

/* income chart */
.pchart{margin:0;background:var(--ink);color:#fff;border-radius:28px;padding:clamp(22px,2.6vw,34px);box-shadow:0 40px 90px -40px rgba(0,0,0,.5)}
.pchart__k{margin:0;font-size:.85rem;font-weight:700;color:var(--fog)}
.pchart__t{margin:4px 0 0;font-size:1.15rem;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.pchart__plot{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;align-items:end;height:220px;margin:26px 0 0;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.14);position:relative}
.pcol{position:relative;display:flex;flex-direction:column;gap:3px;height:100%;justify-content:flex-end}
.pcol span{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-size:.72rem;font-weight:700;color:#7c7c7c}
.pseg{display:block;height:calc(var(--h,1) * 30%);border-radius:6px;transform-origin:bottom;transition:transform .7s var(--ease-out),opacity .5s}
.pseg--a{background:#fff}
.pseg--b{background:#BDBDBD}
.pseg--c{background:#7A7A7A}
.pseg--free{background:transparent;box-shadow:inset 0 0 0 1.5px #5a5a5a;background-image:repeating-linear-gradient(135deg,transparent 0 4px,rgba(255,255,255,.12) 4px 6px)}
.pchart.is-ready .pseg{transform:scaleY(0);opacity:0}
.pchart.is-in .pseg{transform:none;opacity:1}
.pchart.is-in .pcol:nth-child(1) .pseg{transition-delay:.0s}.pchart.is-in .pcol:nth-child(2) .pseg{transition-delay:.12s}.pchart.is-in .pcol:nth-child(3) .pseg{transition-delay:.24s}.pchart.is-in .pcol:nth-child(4) .pseg{transition-delay:.36s}.pchart.is-in .pcol:nth-child(5) .pseg{transition-delay:.48s}.pchart.is-in .pcol:nth-child(6) .pseg{transition-delay:.6s}.pchart.is-in .pcol:nth-child(7) .pseg{transition-delay:.72s}.pchart.is-in .pcol:nth-child(8) .pseg{transition-delay:.84s}.pchart.is-in .pcol:nth-child(9) .pseg{transition-delay:.96s}.pchart.is-in .pcol:nth-child(10) .pseg{transition-delay:1.08s}.pchart.is-in .pcol:nth-child(11) .pseg{transition-delay:1.2s}.pchart.is-in .pcol:nth-child(12) .pseg{transition-delay:1.32s}
.pchart__axis{margin:6px 0 0;text-align:right;font-size:.72rem;font-weight:700;color:#7c7c7c}
.pchart__legend{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.84rem;font-weight:600;color:#d6d6d6}
.pchart__legend li{display:flex;align-items:center;gap:8px}
.pchart__legend i{display:inline-block;width:14px;height:14px;border-radius:4px}
.pchart__cap{margin:16px 0 0;font-size:.8rem;line-height:1.45;color:var(--fog)}
@media (max-width:600px){.pchart{border-radius:22px}.pchart__plot{height:170px;gap:4px}.pseg{border-radius:4px}}

/* who it is for */
.pfor__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pfor__list li{background:var(--mist);border-radius:24px;padding:clamp(22px,2.2vw,30px);display:flex;flex-direction:column;gap:10px}
.pfor__list b{font-size:1.2rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.pfor__list span{color:#3a3a3a;line-height:1.5}
@media (max-width:980px){.pfor__list{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.pfor__list{grid-template-columns:1fr}}

/* ICP */
.picp{padding-top:0}
.picp__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:clamp(36px,5vw,80px);align-items:center}
.picp__ex{margin:22px 0 0;font-size:.95rem;color:var(--ash);max-width:52ch}
.picp__card{background:var(--ink);color:#fff;border-radius:28px;padding:clamp(24px,3vw,40px)}
.picp__k{margin:0 0 18px;font-size:.9rem;font-weight:700;color:var(--fog)}
.picp__list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.picp__list li{display:flex;gap:12px;align-items:flex-start;line-height:1.45;font-size:1.02rem}
.picp__list .tick{--fill:1;border-color:#fff}
.picp__list .tick::before{background:#fff}
.picp__list .tick svg{stroke:var(--ink)}
@media (max-width:900px){.picp__grid{grid-template-columns:1fr}}

/* steps */
.psteps{padding-top:0}
.psteps__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:none}
.psteps__list li{display:flex;flex-direction:column;gap:10px;padding:26px 0 0;border-top:2px solid var(--ink)}
.psteps__list b{font-size:1.2rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.psteps__list span:last-child{color:#3a3a3a;line-height:1.5}
.psteps__n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;font-size:1rem;flex:0 0 auto}
@media (max-width:980px){.psteps__list{grid-template-columns:1fr 1fr;gap:28px 12px}}
@media (max-width:600px){.psteps__list{grid-template-columns:1fr}}

/* two models */
.pmodels__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pmodel{background:#fff;border-radius:28px;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column}
.pmodel--ink{background:var(--ink);color:#fff}
.pmodel__k{margin:0;font-size:.9rem;font-weight:700;color:var(--ash)}
.pmodel--ink .pmodel__k{color:var(--fog)}
.pmodel__pct{margin:14px 0 18px;font-size:clamp(3rem,2rem + 3vw,4.6rem);font-weight:800;letter-spacing:-.045em;line-height:.9}
.pmodel__pct small{display:block;margin-top:10px;font-size:.9rem;font-weight:600;letter-spacing:0;color:var(--ash)}
.pmodel--ink .pmodel__pct small{color:var(--fog)}
.pmodel__h{margin:6px 0 22px;font-size:clamp(1.4rem,1rem + 1vw,1.9rem);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.pmodel .fit__list li{color:inherit}
.pmodel .tick{--fill:1}
.pmodel--ink .tick{border-color:#fff}
.pmodel--ink .tick::before{background:#fff}
.pmodel--ink .tick svg{stroke:var(--ink)}
.pmodel__for{margin:auto 0 0;padding-top:22px;font-size:.92rem;font-weight:600;color:var(--ash)}
.pmodel--ink .pmodel__for{color:var(--fog)}
@media (max-width:820px){.pmodels__grid{grid-template-columns:1fr}}

/* form: what happens next */
.pform__next{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.pform__next li{display:flex;align-items:center;gap:14px;font-weight:600}
.pform__next .psteps__n{width:32px;height:32px;font-size:.88rem}
.cite a{color:inherit}

@media (max-width:600px){.phero2 .hero__actions{flex-direction:column-reverse;align-items:center}}

/* ---------- React Bits effects (assets/js/bits.js) ---------- */
/* Blur Text: headline words go from blurred and low to sharp */
@media (prefers-reduced-motion:no-preference){
  .bits-blur .bw{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(.32em);will-change:transform,filter,opacity}
  .bits-blur.is-in .bw{opacity:1;filter:blur(0);transform:none;transition:opacity .7s var(--ease-out),filter .7s var(--ease-out),transform .9s var(--ease-out);transition-delay:var(--d,0ms)}
}
/* Scroll Reveal words keep inline flow */
[data-reveal] .bw{display:inline}
/* Dot Grid behind the hero */
.has-dotgrid{position:relative;isolation:isolate}
.has-dotgrid>.dotgrid{position:absolute;inset:0;z-index:-1;pointer-events:none;display:block}
@media (max-width:820px){.has-dotgrid>.dotgrid{opacity:.7}}
/* Click Spark overlay */
.sparks{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:9998;display:none}
.sparks.is-on{display:block}
/* Text Pressure: footer wordmark letters */
.foot__word.has-tp .tp{display:inline-block;transform-origin:50% 100%;will-change:transform}
/* Spotlight Card */
.spot{position:relative;isolation:isolate}
.spot::before{content:"";position:absolute;inset:0 -22px;z-index:-1;border-radius:20px;pointer-events:none;opacity:0;transition:opacity .35s var(--ease-out);background:radial-gradient(280px circle at calc(var(--mx,50%) + 22px) var(--my,50%),rgba(11,11,11,.06),transparent 70%)}
.on-ink .spot::before{background:radial-gradient(280px circle at calc(var(--mx,50%) + 22px) var(--my,50%),rgba(255,255,255,.08),transparent 70%)}
.spot:hover::before{opacity:1}
/* Tilted Card */
.tilt-host{perspective:1600px}
/* Circular Text badge on the pilot card */
.ctext{position:absolute;top:clamp(16px,2.4vw,26px);right:clamp(16px,2.4vw,26px);width:clamp(78px,7vw,98px);aspect-ratio:1;pointer-events:none}
.ctext svg{width:100%;height:100%;display:block;overflow:visible;animation:ctextSpin 22s linear infinite}
.ctext text{fill:#cfcfcf;font-size:10.4px;font-weight:700;letter-spacing:.06em}
.ctext img{position:absolute;inset:0;margin:auto;width:28%;height:auto;filter:invert(1)}
.pplan__card:hover .ctext svg{animation-duration:9s}
@keyframes ctextSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ctext svg{animation:none}}
/* Animated FAQ */
.faq__item.is-closing .faq__ic::after{transform:translate(-50%,-50%) rotate(90deg)}

/* ===================== Spolupráca: redesign 8. 11. 2026 ===================== */
/* Persona picker */
.ppick{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,4vw,56px);align-items:start}
.ppick__tabs{display:flex;flex-direction:column;gap:6px}
.ppick__tab{appearance:none;border:0;background:transparent;text-align:left;font:inherit;font-weight:800;font-size:clamp(1.15rem,.9rem + 1vw,1.6rem);letter-spacing:-.025em;line-height:1.15;color:#B5B5B5;padding:12px 0 12px 26px;cursor:pointer;position:relative;transition:color var(--t-hover) ease}
.ppick__tab::before{content:"";position:absolute;left:0;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;border:2px solid currentColor;transition:background var(--t-hover),transform var(--t-ui) var(--ease-out)}
.ppick__tab:hover{color:var(--ash)}
.ppick__tab[aria-selected=true]{color:var(--ink)}
.ppick__tab[aria-selected=true]::before{background:var(--ink);transform:scale(1.15)}
.ppick__stage{position:relative;background:var(--ink);color:#fff;border-radius:32px;padding:clamp(26px,3.4vw,46px);min-height:100%}
.ppick__panel{animation:ppIn .55s var(--ease-out)}
@keyframes ppIn{from{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.ppick__h{font-size:clamp(1.5rem,1.1rem + 1.2vw,2.2rem);letter-spacing:-.035em;line-height:1.05;margin:0 0 16px;max-width:18ch}
.ppick__why{color:#d6d6d6;font-size:1.06rem;line-height:1.5;margin:0 0 24px;max-width:46ch}
.ppick__how{border-radius:20px;background:var(--graphite);padding:18px 20px;margin:0 0 24px}
.ppick__how p{margin:0;line-height:1.5}
.ppick__k{font-size:.82rem;font-weight:700;color:var(--fog);margin-bottom:6px!important}
.ppick__model{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin:0 0 26px}
.ppick__model b{font-size:clamp(2rem,1.4rem + 1.6vw,2.8rem);letter-spacing:-.04em;line-height:1}
.ppick__model span{color:var(--fog);font-weight:600;font-size:.92rem}
.ppick__cta{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.ppick__cta:hover{background:#E9E9E9}
html:not(.js) .ppick__tabs{display:none}
html:not(.js) .ppick__panel[hidden]{display:block}
html:not(.js) .ppick{grid-template-columns:1fr}
html:not(.js) .ppick__panel+.ppick__panel{margin-top:40px}
@media (max-width:900px){
  .ppick{grid-template-columns:1fr}
  .ppick__tabs{flex-direction:row;overflow-x:auto;gap:8px;margin:0 -16px;padding:2px 16px 6px;scrollbar-width:none}
  .ppick__tabs::-webkit-scrollbar{display:none}
  .ppick__tab{flex:0 0 auto;font-size:.95rem;font-weight:700;letter-spacing:0;padding:10px 16px;border-radius:999px;border:1.5px solid var(--stone);color:var(--ink);background:var(--paper)}
  .ppick__tab::before{display:none}
  .ppick__tab[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
  .ppick__cta{width:100%;white-space:normal;text-align:center}
}

/* "Ako to funguje" pinned story */
.psx{padding:clamp(72px,8vw,120px) 0}
.psx__title{font-size:var(--fs-h2);max-width:16ch;margin-bottom:clamp(28px,3vw,44px)}
.psx.is-pinned .psx__title{font-size:clamp(2rem,1rem + 2.4vw,3.2rem);margin-bottom:clamp(18px,2.4vw,32px)}
.psx.is-pinned .psx__steps{gap:clamp(12px,2.4vh,24px)}
.psx__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:center}
.psx__steps{list-style:none;margin:0;padding:0;display:grid;gap:26px}
.psx__step{display:flex;gap:16px;align-items:flex-start}
.psx__step b{display:block;font-size:1.2rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:6px 0 6px}
.psx__step span:not(.psteps__n){color:#3a3a3a;line-height:1.5}
.psx__stage{position:relative;background:var(--mist);border-radius:32px;min-height:clamp(360px,56vh,520px);display:grid;place-items:center;overflow:hidden}
.psx__scene{grid-area:1/1;position:relative;width:min(100% - 40px,400px);display:flex;flex-direction:column;align-items:center;gap:18px;padding:28px 0}
.psx__prog{display:none}
.psx-card{width:100%;padding:22px 22px 24px;border-radius:22px;font-size:.92rem}
.psx-k{margin:0 0 14px;font-weight:800;font-size:.95rem}
.psx-field{margin:0 0 10px;padding:11px 14px;border:1.5px solid var(--stone);border-radius:12px;display:flex;flex-direction:column;gap:2px;min-height:58px}
.psx-field small{font-size:.74rem;color:var(--ash);font-weight:600}
.psx-field span{font-weight:700;min-height:1.4em}
.psx-field span.is-typing::after{content:"";display:inline-block;width:2px;height:1.05em;background:var(--ink);margin-left:2px;vertical-align:-2px;animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.psx-send{margin-top:6px}
.psx-stamp{display:inline-flex;align-items:center;gap:10px;margin:0;padding:10px 18px 10px 12px;border-radius:999px;background:var(--ink);color:#fff;font-weight:800;font-size:.95rem;box-shadow:0 16px 40px -16px rgba(0,0,0,.5)}
.psx-stamp .tick{--fill:1;border-color:#fff;margin:0}
.psx-stamp .tick::before{background:#fff}
.psx-stamp .tick svg{stroke:var(--ink)}
.psx-bub{margin:0 0 10px;padding:12px 15px;border-radius:18px;max-width:86%;line-height:1.45;font-weight:600}
.psx-bub--out{margin-left:auto;background:var(--ink);color:#fff;border-bottom-right-radius:6px}
.psx-bub--in{background:var(--mist);border-bottom-left-radius:6px}
.psx-typing{display:inline-flex;gap:4px;margin:0 0 10px;padding:12px 15px;border-radius:18px;background:var(--mist)}
.psx-typing i{width:6px;height:6px;border-radius:50%;background:var(--ash);animation:typing 1s infinite}
.psx-typing i:nth-child(2){animation-delay:.15s}.psx-typing i:nth-child(3){animation-delay:.3s}
@keyframes typing{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-3px);opacity:1}}
.psx-call{display:inline-flex;align-items:center;gap:12px;margin:0;padding:8px 20px 8px 8px;border-radius:999px;background:#fff;font-weight:800;box-shadow:0 16px 40px -18px rgba(0,0,0,.35)}
.psx-ring{position:relative;width:38px;height:38px;border-radius:50%;background:var(--ink);display:grid;place-items:center}
.psx-ring svg{width:18px;height:18px;fill:#fff}
.psx-ring::before,.psx-ring::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--ink);animation:ring 1.6s var(--ease-out) infinite}
.psx-ring::after{animation-delay:.5s}
@keyframes ring{from{transform:scale(1);opacity:.6}to{transform:scale(1.9);opacity:0}}
.psx-cal__head{display:flex;justify-content:space-between;align-items:flex-start}
.psx-cal__price{margin:0;font-size:1.9rem;font-weight:800;letter-spacing:-.04em;line-height:1;text-align:right}
.psx-cal__price small{display:block;font-size:.72rem;letter-spacing:0;color:var(--ash);font-weight:600;margin-top:4px}
.psx-cal__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:6px 0 14px}
.psx-cal__grid i{aspect-ratio:1.6;border-radius:7px;background:var(--mist);position:relative;overflow:hidden}
.psx-cal__grid i::after{content:"";position:absolute;inset:0;background:var(--ink);transform:scale(var(--f,0));border-radius:inherit}
.psx-cal__note{margin:0;color:var(--ash);font-weight:600;font-size:.84rem}
.psx-pay__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.psx-pay__head .psx-k{margin:0}
.psx-pay__sw{display:flex;margin:0;padding:3px;border-radius:999px;background:var(--mist);flex:0 0 auto}
.psx-pay__sw span{padding:5px 11px;border-radius:999px;font-weight:800;font-size:.82rem;color:var(--ash);transition:background .35s var(--ease-out),color .35s var(--ease-out)}
.psx-pay__sw span.is-on{background:var(--ink);color:#fff}
.psx-pay__bars{display:flex;align-items:flex-end;gap:8px;height:150px;padding-top:10px;margin-bottom:10px;border-bottom:1.5px solid var(--stone)}
.psx-bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;position:relative}
.psx-bar i{display:block;width:100%;height:26%;border-radius:8px 8px 3px 3px;background:var(--ink)}
.psx-bar span{position:absolute;bottom:-24px;font-size:.72rem;font-weight:700;color:var(--ash)}
.psx-pay__note{margin:30px 0 0;color:var(--ash);font-weight:600;font-size:.84rem}
/* pinned mode (set by partner.js) */
.psx.is-pinned .psx__pin{min-height:100vh;display:flex;align-items:center;padding:90px 0 24px}
.psx.is-pinned .psx__pin>.wrap{width:100%}
.psx.is-pinned{padding:0}
.psx.is-pinned .psx__step{opacity:.28;transition:opacity .45s var(--ease-out)}
.psx.is-pinned .psx__step.is-on{opacity:1}
.psx.is-pinned .psx__prog{display:flex;gap:6px;margin-top:22px}
.psx__prog i{flex:1;height:3px;border-radius:3px;background:var(--stone);overflow:hidden}
.psx__prog b{display:block;height:100%;background:var(--ink);transform-origin:0 50%;transform:scaleX(0)}
.psx.is-skipping .psx__pin{opacity:0;transition:opacity .3s ease}
/* static mode: every scene visible, final state */
.psx:not(.is-pinned) .psx__stage{background:transparent;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.psx:not(.is-pinned) .psx__scene{grid-area:auto;width:100%;background:var(--mist);border-radius:24px;padding:22px}
.psx:not(.is-pinned) .psx-typing{display:none}
.psx:not(.is-pinned) .psx-bar:nth-child(n+5) i{height:78%}
@media (max-width:900px){
  .psx__grid{grid-template-columns:1fr}
  .psx:not(.is-pinned) .psx__stage{grid-template-columns:1fr}
  .psx.is-pinned .psx__pin{padding:76px 0 16px;align-items:flex-start}
  .psx.is-pinned .psx__title{margin-bottom:16px;font-size:clamp(1.8rem,8vw,2.3rem)}
  .psx.is-pinned .psx__grid{gap:16px}
  .psx.is-pinned .psx__steps{display:grid;order:2}
  .psx.is-pinned .psx__step{grid-area:1/1;opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
  .psx.is-pinned .psx__step.is-on{opacity:1;transform:none}
  .psx.is-pinned .psx__step span:not(.psteps__n){font-size:.95rem}
  .psx.is-pinned .psx__stage{min-height:min(46vh,380px);border-radius:24px}
  .psx.is-pinned .psx__scene{transform:scale(.86);padding:12px 0}
  .psx.is-pinned .psx__prog{margin-top:14px}
}

/* Partner cards: hover */
.pmodel{transition:translate .45s var(--ease-out),box-shadow .45s var(--ease-out)}
.pmodel:hover{translate:0 -6px;box-shadow:0 34px 70px -34px rgba(0,0,0,.35)}
.pmodel.spot::before{inset:0;border-radius:inherit}
.pmodel--ink.spot::before{background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.11),transparent 70%)}
.pmodel.spot:not(.pmodel--ink)::before{background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(11,11,11,.06),transparent 70%)}
.pmodels__grid{perspective:1600px}

/* Daniel: photo + note in the partner form section */
.pme{display:flex;gap:18px;align-items:center;margin:32px 0 0;padding:16px;border-radius:24px;background:var(--paper);max-width:520px}
.pme img{flex:0 0 auto;width:96px;height:112px;object-fit:cover;object-position:50% 22%;border-radius:18px;filter:grayscale(1) contrast(1.05)}
.pme figcaption{min-width:0}
.pme__q{margin:0 0 10px;font-weight:600;line-height:1.45}
.pme__n{margin:0;display:flex;flex-direction:column;gap:2px;font-size:.88rem}
.pme__n span{color:var(--ash)}
.pme__n a{color:inherit}
@media (max-width:520px){.pme{align-items:flex-start}.pme img{width:76px;height:92px}}

/* Partner type as chips */
.pchips{border:0;margin:0;padding:0;min-width:0}
.pchips legend{display:block;font-weight:700;font-size:.92rem;margin:0 0 10px;padding:0}
.pchips__row{display:flex;flex-wrap:wrap;gap:8px}
.pchip{position:relative;cursor:pointer}
.pchip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pchip span{display:inline-block;padding:9px 14px;border:1.5px solid var(--stone);border-radius:999px;background:#fff;font-weight:700;font-size:.88rem;transition:border-color var(--t-hover),background var(--t-hover),color var(--t-hover),transform var(--t-press) var(--ease-out)}
.pchip:hover span{border-color:var(--ink)}
.pchip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.pchip input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.pchip:active span{transform:scale(.97)}

/* ===================== Pre koho je Replix (8. 11. 2026) ===================== */
/* industries: pop in, hover inverts, arrow chips open the demo */
.whochips li{transition:background var(--t-hover),color var(--t-hover),translate .3s var(--ease-out)}
.whochips li:hover{background:var(--ink);color:#fff;translate:0 -2px}
.whochip--go{padding:0!important}
.whochip--go a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px 10px 18px;color:inherit;text-decoration:none;border-radius:inherit}
.whochip--go svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease-out)}
.whochip--go:hover svg{transform:translateX(3px)}
.whochips__hint{margin:14px 0 0;font-size:.88rem;font-weight:600;color:var(--ash)}
@media (max-width:820px){.whochip--go a{padding:9px 12px 9px 14px}}
@media (prefers-reduced-motion:no-preference){
  .whochips.is-wait li{opacity:0;transform:translateY(14px) scale(.85)}
  .whochips.is-pop li{animation:chipPop .6s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--i,0) * 70ms)}
}
@keyframes chipPop{from{opacity:0;transform:translateY(14px) scale(.85)}to{opacity:1;transform:none}}

/* self check in the dark card */
.fitq__hint{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-6px 0 18px;font-size:.88rem;color:var(--fog);font-weight:600}
.fitq__hint b{color:#fff;background:var(--graphite);border-radius:999px;padding:4px 11px;font-size:.82rem}
.fit--quiz .fit__list li{cursor:pointer;border-radius:14px;margin:0 -10px;padding:8px 10px;transition:background var(--t-hover)}
.fit--quiz .fit__list li:hover{background:rgba(255,255,255,.06)}
.fit--quiz .fit__list li:focus-visible{outline:2px solid #fff;outline-offset:2px}
.fit--quiz .fit__list{gap:6px}
.fit--quiz .tick{--fill:0;border-color:#6b6b6b;transition:border-color .25s,transform .45s cubic-bezier(.34,1.56,.64,1)}
.fit--quiz .tick::before{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.fit--quiz .tick svg path{stroke-dasharray:12;stroke-dashoffset:12;transition:stroke-dashoffset .35s .12s var(--ease-out)}
.fit--quiz li[aria-checked=true] .tick{--fill:1;border-color:#fff}
.fit--quiz li[aria-checked=true] .tick svg path{stroke-dashoffset:0}
.fit--quiz li[aria-checked=true]>span:last-child{color:#fff}
.fit--quiz li>span:last-child{color:#cfcfcf;transition:color .25s}
.fit--quiz.is-wait .tick{transform:scale(0)}
.fit--quiz.is-wait.is-drawn .tick{transform:none;transition-delay:calc(var(--i,0) * 110ms + 150ms)}
.fitq__res{margin-top:22px;padding:18px 20px;border-radius:20px;background:#fff;color:var(--ink);animation:fitIn .6s cubic-bezier(.34,1.56,.64,1)}
.fitq__res p{margin:0 0 14px;line-height:1.45}
.fitq__acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}
.fitq__acts .btn{min-height:46px}
.fitq__acts .link{color:var(--ink)}
@keyframes fitIn{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}

/* strike-through in the light card */
.fit--strike .fit__list li>span:last-child{position:relative;transition:color .5s ease;transition-delay:calc(var(--i,0) * 160ms + 250ms)}
.fit--strike .fs{background:linear-gradient(rgba(11,11,11,.45),rgba(11,11,11,.45)) no-repeat 0 58%/0% 1.5px;-webkit-box-decoration-break:slice;box-decoration-break:slice;transition:background-size .9s var(--ease-out);transition-delay:calc(var(--i,0) * 160ms + 120ms)}
.fit--strike .cross{transition:transform .35s var(--ease-out),opacity .3s;transition-delay:calc(var(--i,0) * 160ms)}
.fit--strike.is-struck .cross{transform:scaleX(1.6);opacity:.4}
.fit--strike.is-struck .fit__list li>span:last-child{color:var(--ash)}
.fit--strike.is-struck .fs{background-size:100% 1.5px}

/* tilt + spotlight on both cards */
.fitgrid{perspective:1600px}
.fit.spot::before{inset:0;border-radius:inherit;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.1),transparent 70%)}
.fit--no.spot::before{background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(11,11,11,.06),transparent 70%)}

/* Orbit curtain (meeting / partner buttons) */
.orbitc{position:fixed;inset:0;z-index:300;background:var(--ink);display:grid;place-items:center;visibility:hidden;pointer-events:none}
.orbitc__sys{position:relative;width:min(320px,80vw);aspect-ratio:1;display:grid;place-items:center}
.orbitc__sys>*{grid-area:1/1}
.orbitc__orbit{width:100%;height:100%;overflow:visible;z-index:2}
.orbitc__orbit ellipse{fill:none;stroke:#fff;stroke-linecap:round}
.orbitc__logo{position:relative;z-index:3;width:clamp(56px,7vw,72px);height:auto;filter:invert(1)}
.orbitc__planet{position:relative;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 14px 3px rgba(255,255,255,.45)}
.orbitc__glow{z-index:0;width:clamp(150px,18vw,200px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.26) 0%,rgba(255,255,255,.08) 45%,transparent 70%);filter:blur(6px)}
.orbitc__orbit{translate:0 3px} /* the fleur's visual centre sits a little below its box centre */
.orbitc__orbit--front{z-index:4}
