/* NOLARO v3: grafiki markowe, interfejsy na tlach, zdjecia segmentow */
.hero{background:#fff}
.hero .kv{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--sh3);aspect-ratio:16/10;background:var(--bg2)}
.hero .kv img{width:100%;height:100%;object-fit:cover;display:block}
.hero .kv .calc{position:absolute;right:22px;bottom:22px;width:min(420px,calc(100% - 44px));box-shadow:0 30px 60px rgba(20,24,29,.28)}
@media (max-width:1100px){.hero .kv{aspect-ratio:auto}.hero .kv img{position:absolute;inset:0}.hero .kv .calc{position:relative;right:auto;bottom:auto;margin:22px;width:auto}}
.frame{position:relative;border-radius:22px;overflow:hidden;min-height:420px;display:flex;align-items:center;justify-content:center;padding:32px;isolation:isolate;box-shadow:var(--sh2)}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.frame .shot,.frame .live,.frame .calmini{width:100%;max-width:520px;box-shadow:0 30px 70px rgba(20,24,29,.28)}
.frame .live{max-width:600px}
.frame.dark .shot{box-shadow:0 30px 70px rgba(0,0,0,.5)}
@media (max-width:640px){.frame{padding:16px;min-height:0}}
.seg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.seg{min-height:300px}
.seg::after{z-index:-1}
.photo{border-radius:22px;overflow:hidden;box-shadow:var(--sh2);aspect-ratio:4/3;background:var(--bg2)}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo.tall{aspect-ratio:3/4}
.auto-wrap{position:relative;border-radius:22px;overflow:hidden;padding:2.4rem 1.6rem;isolation:isolate;background:var(--bg2)}
.auto-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.35}
.auto-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.6));z-index:-1}
.cta-bg{position:relative;overflow:hidden}
.cta-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.22;mix-blend-mode:luminosity}
.cta-bg .wrap{position:relative;z-index:1}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media (max-width:900px){.gal{grid-template-columns:1fr}}
.gal .ph{border-radius:18px;overflow:hidden;position:relative;aspect-ratio:4/3;box-shadow:var(--sh)}
.gal .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.gal .ph:hover img{transform:scale(1.04)}
.gal .ph span{position:absolute;left:1rem;bottom:1rem;background:rgba(255,255,255,.94);color:var(--ink);font-weight:700;font-size:.85rem;padding:.4rem .8rem;border-radius:999px}
