.k-katalog{--ink:#151a21;--ink-2:#5c6470;--ground:#e9ebef;--tile:#fff;--tile-2:#f3f4f7;--accent:#4f46c8;--accent-ink:#fff;--ok:#2f7a5a;--radius:20px;--gap:.625rem;--tap:44px;background:var(--ground);min-height:100dvh;color:var(--ink);font-family:var(--f-dmsans), system-ui, sans-serif;-webkit-font-smoothing:antialiased;padding:var(--gap) var(--gap) 2rem;line-height:1.45}.k-katalog .grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(9.5rem,auto);grid-auto-flow:dense;gap:var(--gap);max-width:72rem;margin-inline:auto;display:grid}.k-katalog .tile{background:var(--tile);border-radius:var(--radius);min-width:0;animation:.5s cubic-bezier(.2,.8,.2,1) both k-katalog-in;animation-delay:calc(var(--i,0) * 60ms);padding:1rem;position:relative;overflow:hidden}.k-katalog .hero,.k-katalog .map,.k-katalog .services,.k-katalog .review,.k-katalog .address{grid-column:span 2}.k-katalog .hero{background:var(--accent);color:var(--accent-ink);flex-direction:column;grid-row:span 2;justify-content:space-between;gap:1rem;padding:1.25rem;display:flex}.k-katalog .cat{opacity:.85;margin:0;font-size:.875rem}.k-katalog h1{font-family:var(--f-fraunces), Georgia, serif;letter-spacing:-.02em;overflow-wrap:anywhere;margin:.25rem 0 0;font-size:clamp(2rem,8vw,3.5rem);font-weight:500;line-height:1.02}.k-katalog .sub{opacity:.92;max-width:34rem;margin:.75rem 0 0;font-size:.9375rem}.k-katalog .cta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.k-katalog .phone{color:inherit;font-variant-numeric:tabular-nums;letter-spacing:.01em;min-height:var(--tap);align-items:center;font-size:clamp(1.375rem,6vw,2rem);font-weight:700;text-decoration:none;display:inline-flex}.k-katalog .btn{min-height:var(--tap);background:var(--accent-ink);color:var(--accent);border-radius:999px;align-items:center;padding:0 1.125rem;font-weight:700;text-decoration:none;display:inline-flex}.k-katalog .stack{flex-direction:column;gap:.375rem;height:100%;display:flex}.k-katalog .small{color:var(--ink-2);font-size:.8125rem}.k-katalog .hero .small{color:inherit}.k-katalog .mid{font-weight:600;line-height:1.3}.k-katalog .big{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(1.0625rem,4.6vw,1.75rem);font-weight:700;line-height:1.15}.k-katalog .score{font-family:var(--f-fraunces), Georgia, serif;letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:clamp(3rem,14vw,4.5rem);font-weight:500;line-height:.95}.k-katalog .link{color:var(--accent);min-height:var(--tap);align-items:center;margin-top:auto;font-weight:700;text-decoration:none;display:inline-flex}.k-katalog .state{color:var(--ink-2);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;display:inline-flex}.k-katalog .state .dot{background:var(--ink-2);border-radius:50%;width:8px;height:8px}.k-katalog .state.open{color:var(--ok)}.k-katalog .state.open .dot{background:var(--ok)}.k-katalog details{height:100%}.k-katalog summary{cursor:pointer;min-height:var(--tap);flex-direction:column;gap:.375rem;padding-right:2rem;list-style:none;display:flex}.k-katalog summary::-webkit-details-marker{display:none}.k-katalog .more{background:var(--tile-2);border-radius:50%;width:28px;height:28px;position:absolute;top:.875rem;right:.875rem}.k-katalog .more:before,.k-katalog .more:after{content:"";background:var(--ink);width:12px;height:2px;transition:transform .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.k-katalog .more:after{transform:translate(-50%,-50%)rotate(90deg)}.k-katalog details[open] .more:after{transform:translate(-50%,-50%)rotate(0)}.k-katalog details table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:.875rem;font-size:.9375rem}.k-katalog details th{text-align:left;color:var(--ink-2);padding:.25rem .5rem .25rem 0;font-weight:500}.k-katalog details td{text-align:right;padding:.25rem 0}.k-katalog details .today th,.k-katalog details .today td{color:var(--accent);font-weight:700}.k-katalog .note{color:var(--ink-2);margin:.5rem 0 0;font-size:.875rem}.k-katalog .list{flex-wrap:wrap;gap:.375rem;display:flex}.k-katalog .chip{background:var(--tile-2);border-radius:999px;padding:.375rem .75rem;font-size:.9375rem;font-weight:500}.k-katalog .chip.ghost{color:var(--ink-2);border:1px dashed var(--ink-2);background:0 0}.k-katalog details ul{gap:.625rem;margin:.875rem 0 0;padding:0;list-style:none;display:grid}.k-katalog .services li{border-top:1px solid var(--tile-2);gap:.125rem;padding-top:.625rem;display:grid}.k-katalog .services li span{color:var(--ink-2);font-size:.9375rem}.k-katalog .quote{font-family:var(--f-fraunces), Georgia, serif;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:1.0625rem;line-height:1.35;display:-webkit-box;overflow:hidden}.k-katalog details[open] .quote{-webkit-line-clamp:unset;line-clamp:unset;display:block}.k-katalog .author{color:var(--ink-2);font-size:.8125rem}.k-katalog .review li{border-top:1px solid var(--tile-2);padding-top:.625rem}.k-katalog .review li p{font-family:var(--f-fraunces), Georgia, serif;margin:0 0 .25rem;font-size:1rem}.k-katalog .review .empty{color:var(--ink-2);font-size:.875rem}.k-katalog .photo{aspect-ratio:1;background:var(--tile-2);padding:0}.k-katalog .map{background:var(--tile-2);min-height:12rem;padding:0}.k-katalog .map iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.k-katalog .btn.float{background:var(--accent);color:var(--accent-ink);position:absolute;bottom:.75rem;left:.75rem;box-shadow:0 4px 16px #151a212e}.k-katalog .foot{max-width:72rem;color:var(--ink-2);margin:1.25rem auto 0;padding:0 .5rem;font-size:.8125rem}.k-katalog a:focus-visible,.k-katalog summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}@media (min-width:48rem){.k-katalog{--gap:.875rem;padding:var(--gap) var(--gap) 2.5rem}.k-katalog .grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(11rem,auto)}.k-katalog .tile{padding:1.25rem}.k-katalog .hero{grid-area:span 2/span 2;padding:1.75rem}.k-katalog .map{grid-column:span 2;min-height:0}.k-katalog .services,.k-katalog .review,.k-katalog .address{grid-column:span 2}.k-katalog .more{top:1.125rem;right:1.125rem}}@keyframes k-katalog-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.k-katalog .tile{animation:none}.k-katalog .more:before,.k-katalog .more:after{transition:none}}
