/* Poloprodukt webu (renderer). Všetky farby idú cez --pv-* nastavené na koreni bloku, takže engine ich môže prepísať.
   Písma: lokálne (Geist z css/fonts.css), nič sa nenačítava z internetu. */

.pv-page{position:relative;overflow:hidden;isolation:isolate}
.pv-slot{position:absolute;overflow:hidden}

.pv-b{box-sizing:border-box;position:relative;overflow:hidden;background:var(--pv-bg);color:var(--pv-fg);
  font-family:var(--pv-font);font-size:14px;line-height:1.35;font-weight:400;font-style:normal;text-align:left;
  letter-spacing:0;text-transform:none;text-indent:0;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;
  text-rendering:optimizeLegibility;font-kerning:normal}
.pv-b *,.pv-b *::before,.pv-b *::after{box-sizing:border-box;margin:0;padding:0;border:0}
.pv-b a{color:inherit;text-decoration:none;cursor:default}
.pv-b a.pv-btn{color:var(--pv-onp)}
.pv-b ol{list-style:none}
.pv-b img{display:block;max-width:none;border:0}
.pv-b .pv-ico{display:block;flex:none}

/* header */
.pv-header-in{height:100%;padding:0 8px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.pv-word{font-family:var(--pv-headf);font-weight:var(--pv-hw);letter-spacing:var(--pv-hls);line-height:1.12;min-width:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.pv-word.is-ph{color:var(--pv-mute);font-weight:600}
.pv-logo{object-fit:contain;object-position:left center;flex:0 1 auto;min-width:0}
.pv-plate{display:inline-flex;align-items:center;background:#fff;border-radius:8px;padding:6px 10px;min-width:0}
.pv-burger{width:44px;height:44px;display:grid;place-items:center;flex:none;color:var(--pv-fg)}

/* hero */
.pv-hero-in{height:100%;padding:14px 22px 20px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.pv-eyebrow{display:flex;align-items:center;gap:8px;height:16px;margin-bottom:8px;max-width:100%;
  font-size:13px;line-height:16px;font-weight:500;color:var(--pv-ptext)}
.pv-eyebrow span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-dot{display:block;flex:none;width:6px;height:6px;border-radius:50%;background:var(--pv-accent)}
.pv-h1{font-family:var(--pv-headf);font-weight:var(--pv-hw);letter-spacing:var(--pv-hls);color:var(--pv-head-c);
  overflow-wrap:anywhere;text-wrap:balance;max-width:100%}
.pv-h1.is-ph{color:var(--pv-mute);font-weight:600}
.pv-sub{margin-top:8px;font-size:14px;line-height:19px;color:var(--pv-mute);max-width:100%;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 20px;margin-top:16px;
  border-radius:min(var(--pv-r),23px);background:var(--pv-primary);color:var(--pv-onp);
  font-size:15px;line-height:1;font-weight:600;letter-spacing:0;white-space:nowrap;max-width:100%}
.pv-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis}

/* image */
.pv-mos{position:absolute;left:22px;right:22px;top:0;bottom:14px;display:grid;gap:6px}
.pv-mos--1{grid-template-columns:1fr}
.pv-mos--2{grid-template-columns:1.5fr 1fr}
.pv-mos--3{grid-template-columns:1.55fr 1fr;grid-template-rows:1fr 1fr}
.pv-mos--3 .pv-cell--1{grid-row:1 / span 2}
.pv-cell{position:relative;min-height:0;min-width:0;overflow:hidden;background:var(--pv-slab);border-radius:min(var(--pv-r),16px)}
.pv-cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pv-mos--ph{display:block}
.pv-slabbox{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  background:var(--pv-slab);color:var(--pv-slabfg);border-radius:min(var(--pv-r),16px);font-size:14px;line-height:18px;font-weight:500}

/* services */
.pv-services{background:var(--pv-surface);padding:16px 22px}
.pv-label{height:16px;margin-bottom:10px;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--pv-mute)}
.pv-rows{display:flex;flex-direction:column;gap:8px}
.pv-row{display:grid;grid-template-columns:30px minmax(0,1fr);height:38px;align-items:start}
.pv-idx{padding-top:3px;font-family:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:16px;font-weight:500;color:var(--pv-ptext-s)}
.pv-rt{font-family:var(--pv-headf);font-size:17px;line-height:21px;font-weight:600;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-rd{font-size:13px;line-height:17px;color:var(--pv-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-row.is-ph .pv-rt{color:var(--pv-mute);font-weight:500}
.pv-bar{display:block;height:8px;margin-top:8px;border-radius:4px;background:var(--pv-bar)}

/* contact */
.pv-contact{padding:14px 22px}
.pv-crow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px}
.pv-clabel{font-family:var(--pv-headf);font-size:22px;line-height:28px;font-weight:var(--pv-hw);letter-spacing:var(--pv-hls)}
.pv-btn--sm{margin:0;height:44px;padding:0 18px;max-width:66%}
.pv-line{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:20px}
.pv-crow + .pv-line{margin-top:10px}
.pv-line + .pv-line{margin-top:6px}
.pv-line .pv-ico{margin-top:2px;color:var(--pv-ptext)}
.pv-line span{min-width:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pv-line--one span{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.pv-cph{margin-top:14px;font-size:14px;line-height:20px;color:var(--pv-mute)}

/* footer */
.pv-footer{background:var(--pv-deep);color:var(--pv-ondeep)}
.pv-footer-in{height:100%;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.pv-fname{min-width:0;font-size:14px;line-height:18px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-fhost{flex:none;max-width:50%;font-size:12px;line-height:16px;color:var(--pv-deepmute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
