@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/caveat-latin-ext-60fd7f.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/caveat-latin-14ecf1.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: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/caveat-latin-ext-60fd7f.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/caveat-latin-14ecf1.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-ext-395290.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-567244.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-ext-395290.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-567244.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-ext-395290.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-567244.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-ext-395290.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-567244.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: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-ext-395290.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-567244.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;
}/* stepannemec.cz — doplňky ke kostře (2026-10-22): portfolio masonry, lightbox, layout */
html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#181818;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
.skip{position:absolute;left:-9999px;top:0;background:#181818;color:#fff;padding:.5rem 1rem;z-index:100}.skip:focus{left:1rem}
.logo img{height:52px;width:auto}.flogo{height:56px;width:auto}
nav a.is-active{color:#181818;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.nav-cta{background:#181818;color:#fff!important;padding:.55rem 1rem;border-radius:.25rem}.nav-cta:hover{background:#3a3a3a}
.mt-6{margin-top:1.5rem}.mt-16{margin-top:4rem}.mb-10{margin-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}
.max-w-3xl{max-width:48rem}.items-end{align-items:flex-end}.wrap{flex-wrap:wrap}.break{overflow-wrap:anywhere}
@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* hero */
.hero{display:grid;gap:2.5rem;padding-top:3.5rem;padding-bottom:3.5rem;align-items:center}
.hero-logo{width:96px;height:auto;margin-bottom:1.5rem}
.hero-collage{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1fr;gap:.75rem;min-height:340px}
.hc{overflow:hidden;border-radius:.375rem;box-shadow:0 18px 40px -18px rgba(24,24,24,.45);background:#e9e6f3}
.hc a,.hc picture{display:block;height:100%}.hc img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.hc:hover img{transform:scale(1.04)}.hc1{grid-row:1/3}
@media (min-width:900px){.hero{grid-template-columns:1fr 1.1fr;padding-top:5rem;padding-bottom:5rem}.hero-collage{min-height:520px}}
/* masonry */
.masonry{column-count:2;column-gap:.6rem}
.masonry figure{break-inside:avoid;margin:0 0 .6rem;overflow:hidden;border-radius:.25rem;background:#eceaf2}
.masonry a{display:block;position:relative;cursor:zoom-in}
.masonry img{width:100%;transition:transform .45s ease,opacity .3s}
.masonry a:hover img{transform:scale(1.035)}
.masonry a:focus-visible{outline:3px solid #181818;outline-offset:2px}
@media (min-width:768px){.masonry{column-count:3;column-gap:1rem}.masonry figure{margin-bottom:1rem}}
@media (min-width:1200px){.masonry.wide{column-count:4}}
/* gallery cards */
.gcards{display:grid;gap:1.25rem}@media (min-width:768px){.gcards{grid-template-columns:1fr 1fr}}
.gcard{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:.375rem;color:#fff;background:#222}
.gcard picture,.gcard img{width:100%;height:100%}.gcard img{object-fit:cover;transition:transform .6s}
.gcard:hover img{transform:scale(1.05)}
.gcard-t{position:absolute;inset:auto 0 0 0;padding:1.5rem;background:linear-gradient(to top,rgba(24,24,24,.85),rgba(24,24,24,0));display:flex;flex-direction:column;gap:.25rem}
.gcard-h{font-size:1.5rem;font-weight:800;line-height:1.2}
.crumbs a{text-decoration:underline;text-underline-offset:3px}
/* services */
.svc-grid{display:grid;gap:3rem}@media (min-width:768px){.svc-grid{grid-template-columns:1fr 1fr}}
.svc-img{display:block;aspect-ratio:3/2;overflow:hidden;border-radius:.375rem}.svc-img picture,.svc-img img{width:100%;height:100%}.svc-img img{object-fit:cover;transition:transform .6s}.svc-img:hover img{transform:scale(1.04)}
.more{display:inline-block;margin-top:1rem;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.prices{display:grid;gap:1.25rem}@media (min-width:640px){.prices{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.prices{grid-template-columns:repeat(3,1fr)}}
.price{background:#f7f6f4;border-radius:.375rem;overflow:hidden}.price>a{display:block;aspect-ratio:3/2;overflow:hidden;cursor:zoom-in}.price picture,.price img{width:100%;height:100%}.price img{object-fit:cover}
/* prose */
.prose{color:#3a3a3a;line-height:1.75}.prose p{margin:0 0 1.15rem}.prose h2{color:#181818;font-size:1.6rem;font-weight:800;margin:2.5rem 0 1rem;letter-spacing:-.01em}
.prose h3{color:#181818;font-size:1.15rem;font-weight:700;margin:1.75rem 0 .6rem}.prose a{text-decoration:underline;text-underline-offset:3px;color:#181818}
.wide-img{margin:1.5rem 0 1rem;border-radius:.375rem;overflow:hidden}.wide-img img{width:100%;max-height:640px;object-fit:cover}
.ba{display:grid;gap:1rem;margin-top:1.5rem}@media (min-width:640px){.ba{grid-template-columns:1fr 1fr}}.ba a{border-radius:.25rem;overflow:hidden;display:block}
@media (min-width:768px){.sticky-aside{position:sticky;top:6rem}}
/* lightbox */
.lb{position:fixed;inset:0;z-index:1000;background:rgba(12,12,12,.95);display:none;align-items:center;justify-content:center;touch-action:pan-y}
.lb.open{display:flex}.lb picture{display:contents}
.lb img{max-width:calc(100vw - 2rem);max-height:calc(100vh - 6rem);width:auto;height:auto;object-fit:contain;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lb button{position:absolute;background:rgba(255,255,255,.08);color:#fff;border:0;width:48px;height:48px;border-radius:999px;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb button:hover,.lb button:focus-visible{background:rgba(255,255,255,.22);outline:none}
.lb .lb-x{top:.75rem;right:.75rem}.lb .lb-p{left:.75rem;top:50%;transform:translateY(-50%)}.lb .lb-n{right:.75rem;top:50%;transform:translateY(-50%)}
.lb .lb-c{position:absolute;bottom:1rem;left:0;right:0;text-align:center;color:rgba(255,255,255,.75);font-size:.85rem;padding:0 4rem}
body.lb-lock{overflow:hidden}
