/* ExpertWood · produktový web v rukopise Richardových stránok · docs/dizajnovy-balik.md */
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 900;font-display:swap;src:url("fonts/schibsted-grotesk.woff2") format("woff2");unicode-range:U+0020-007E,U+00A0-00FF,U+0100-017F,U+02C6-02DC,U+2010-2027,U+2030-203A,U+20AC,U+2122,U+2212}

:root{
  --svetla:#FBF8F2;--biela:#FFFFFF;--kremova:#F4EFE6;
  --tma:#1D1E1C;--tma-2:#272825;--tma-3:#34352F;
  --med:#C8873A;--med-hover:#D9964A;--med-tmava:#B5732F;--dub:#8A4F1F;--med-svetla:#F3E4D0;
  --text:#19191A;--text-2:#6B6961;--on-dark:#F4F1EA;--on-dark-2:#C9C6BC;
  --ram:#E7E1D6;--ram-2:#D6CEC0;--ram-dark:rgba(244,241,234,.14);
  --state:#4A6752;
  --scrim:12,10,8;
  --tshadow:0 1px 2px rgba(12,10,8,.9),0 3px 12px rgba(12,10,8,.7),0 10px 44px rgba(12,10,8,.7);
  --body:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(1rem,4vw,4rem);--section:clamp(4rem,8vw,7rem);--max:84rem;
  --r:14px;--r-lg:22px;--r-sm:10px;
  --tien:0 10px 30px rgba(25,25,26,.06),0 2px 6px rgba(25,25,26,.04);--tien-hover:0 24px 50px rgba(25,25,26,.12),0 4px 10px rgba(25,25,26,.06);
  --t-small:.9375rem;--t-base:clamp(1.0625rem,1rem + .2vw,1.125rem);--t-lede:clamp(1.125rem,1rem + .5vw,1.35rem);
  --t-h3:clamp(1.25rem,1.1rem + .6vw,1.5rem);--t-h2:clamp(2rem,1.3rem + 2.6vw,3.4rem);--t-h1:clamp(2.2rem,1.4rem + 3.6vw,4.4rem);--t-num:clamp(1.9rem,1.2rem + 2vw,2.6rem);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-x:clip;background:var(--tma)}
body{margin:0;background:var(--tma);color:var(--on-dark);font-family:var(--body);font-size:var(--t-base);line-height:1.55;overflow-x:hidden;overflow-x:clip;opacity:0;animation:page-in .8s var(--ease) .05s forwards}
@keyframes page-in{to{opacity:1}}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
::selection{background:var(--med);color:var(--tma)}
h1,h2,h3,h4{font-weight:800;line-height:1.05;letter-spacing:-.03em;margin:0;text-wrap:balance}
h2{font-size:var(--t-h2);max-width:20ch}
h2 em,h1 em{font-style:normal;color:var(--med)}
.svetly h2 em{color:var(--med-tmava)}
h3{font-size:var(--t-h3);letter-spacing:-.02em;line-height:1.2;font-weight:800}
p{margin:0;text-wrap:pretty}
.lede{font-size:var(--t-lede);line-height:1.5;max-width:52ch}
.small{font-size:var(--t-small)}
.eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--med)}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--med)}
.skip{position:absolute;left:1rem;top:-3rem;background:var(--med);color:var(--tma);padding:.5rem .8rem;border-radius:var(--r-sm);z-index:100;transition:top .15s}
.skip:focus{top:1rem}
:focus-visible{outline:3px solid var(--med);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
main,header,footer{position:relative;z-index:1}
.env{display:none}

/* tlačidlá */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:700 1rem/1 var(--body);padding:1.05rem 1.5rem;border-radius:var(--r);border:1.5px solid transparent;text-decoration:none;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);text-shadow:none;min-height:50px}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--med);color:var(--tma);box-shadow:0 8px 24px rgba(200,135,58,.28)}
.btn-primary:hover{background:var(--med-hover);box-shadow:0 12px 30px rgba(200,135,58,.36)}
.btn-ghost{background:transparent;color:inherit;border-color:rgba(244,241,234,.35)}
.btn-ghost:hover{border-color:rgba(244,241,234,.8);background:rgba(244,241,234,.06)}
.svetly .btn-ghost{border-color:var(--ram-2);color:var(--text)}.svetly .btn-ghost:hover{border-color:var(--text);background:var(--biela)}
.btn-dark{background:var(--tma);color:var(--on-dark)}.btn-dark:hover{background:#000}
.link{font-weight:700;text-decoration:none;color:inherit;border-bottom:2px solid var(--med);padding-bottom:1px}
.link:hover{color:var(--med)}

/* hlavička */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top);background:rgba(29,30,28,.78);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);color:var(--on-dark);border-bottom:1px solid rgba(244,241,234,.08)}
.site-header .bar{display:flex;align-items:center;gap:1.5rem;min-height:4.5rem}
.brand{display:inline-flex;align-items:center;gap:.6rem;font:800 1.2rem/1 var(--body);letter-spacing:-.03em;text-decoration:none}
.brand svg{width:30px;height:30px;color:var(--med)}
.nav{display:flex;gap:1.6rem;margin-left:auto;font-size:.95rem;font-weight:600}
.nav a{text-decoration:none;color:var(--on-dark-2);transition:color .2s}.nav a:hover{color:var(--on-dark)}
.header-cta{display:flex;align-items:center;gap:1rem}
.tel{text-decoration:none;font-weight:700;font-size:.95rem;white-space:nowrap}
.site-header .btn{padding:.75rem 1.15rem;min-height:44px;border-radius:var(--r-sm)}
@media (max-width:900px){.nav,.tel{display:none}}

/* HERO (scrub) */
.hero{position:relative;height:420vh;padding:0;color:var(--on-dark)}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#2b2a26}
.stage .poster,.stage video,.stage .scrim{position:absolute;inset:0}
.stage .poster{background-size:cover;background-position:60% 50%}
.stage video{width:100%;height:100%;object-fit:cover;object-position:60% 50%;opacity:0;transition:opacity .6s var(--ease);will-change:transform;transform:translateZ(0)}
.stage.video-ready video{opacity:1}
.stage.video-failed video{display:none}
.stage .scrim{pointer-events:none;background:radial-gradient(ellipse 120% 90% at 58% 45%,rgba(12,10,8,0) 30%,rgba(12,10,8,.45) 100%)}
.stage .scrim::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(to top,rgba(29,30,28,.9),rgba(29,30,28,0))}
.ring{position:absolute;right:calc(var(--gutter) + .25rem);bottom:calc(1.5rem + env(safe-area-inset-bottom));width:34px;height:34px;color:var(--on-dark);opacity:.8;transform:rotate(-90deg)}
.ring circle{transition:stroke-dashoffset .2s linear}
.cue{position:absolute;left:50%;bottom:calc(1.4rem + env(safe-area-inset-bottom));transform:translateX(-50%);font-size:.8125rem;letter-spacing:.04em;opacity:.85;display:flex;flex-direction:column;align-items:center;gap:.35rem}
.cue i{display:block;width:1px;height:28px;background:currentColor;transform-origin:top;animation:cue 2.4s var(--ease) -1s infinite}
@keyframes cue{0%{transform:scaleY(0);opacity:0}30%{opacity:1}100%{transform:scaleY(1);opacity:0}}
.bands{position:absolute;inset:0;pointer-events:none}
.band{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(6.5rem + env(safe-area-inset-top));max-width:42rem;opacity:0;text-shadow:var(--tshadow);pointer-events:none;isolation:isolate}
.band::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:-100vw;top:-100vh;right:-360px;bottom:-320px;opacity:calc(.35 + .65*var(--k,1));background:linear-gradient(to right,rgba(var(--scrim),.82) 0,rgba(var(--scrim),.82) calc(100% - 300px),rgba(var(--scrim),0) 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 240px),transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 240px),transparent 100%)}
.band[data-band="4"]::before{top:-320px;bottom:-100vh;-webkit-mask-image:linear-gradient(to top,#000 0,#000 calc(100% - 240px),transparent 100%);mask-image:linear-gradient(to top,#000 0,#000 calc(100% - 240px),transparent 100%)}
.band[data-band="4"]{top:auto;bottom:calc(5.5rem + env(safe-area-inset-bottom))}
.band[data-band="4"] .btn,.band[data-band="1"] .btn{pointer-events:auto}
.tip{position:absolute;left:50%;bottom:calc(1.5rem + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:.7rem;padding:.6rem 1.1rem .6rem .8rem;border-radius:99px;background:rgba(29,30,28,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(244,241,234,.22);color:var(--on-dark);font-size:.9rem;font-weight:600;white-space:nowrap;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.tip i{position:relative;flex:none;width:24px;height:24px;border-radius:50%;background:var(--med);animation:tip-bounce 1.8s var(--ease) infinite}
.tip i::after{content:"";position:absolute;left:8px;top:6px;width:7px;height:7px;border-right:2px solid var(--tma);border-bottom:2px solid var(--tma);transform:rotate(45deg)}
.tip.off{opacity:0;transform:translate(-50%,10px)}
@keyframes tip-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.band .eyebrow{margin-bottom:1rem;text-shadow:none}
.band h1,.band .bh{font-weight:800;line-height:1.02;letter-spacing:-.035em;font-size:var(--t-h1);max-width:15ch;margin:0}
.band[data-band="2"] .bh,.band[data-band="3"] .bh{font-size:clamp(1.8rem,1.2rem + 3vw,3.6rem);max-width:16ch}
.band .bs{margin-top:1rem;font-size:var(--t-lede);max-width:40ch;line-height:1.45;color:var(--on-dark-2)}
.band .row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.w{display:inline-block;white-space:pre}
.c{display:inline-block}
.e-drift .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-22px))}
.e-approach .bh{--kc:clamp(0,var(--k,0)*1.6,1);opacity:var(--kc);transform:scale(calc(.84 + .16*var(--kc)))}
.e-approach .bs{--ks:clamp(0,(var(--k,0) - .45)*2.2,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*10px))}
.e-blur-on .bh{position:relative;display:block}
.e-blur-on .soft,.e-blur-on .sharp{display:block;transition:none}
.e-blur-on .soft{position:absolute;inset:0;filter:blur(12px);opacity:calc(1 - clamp(0,var(--k,0)*1.5,1))}
.e-blur-on .sharp{opacity:clamp(0,var(--k,0)*1.5,1)}
.e-blur-on .bs{--ks:clamp(0,(var(--k,0) - .5)*2.2,1);opacity:var(--ks)}
.e-rise .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*.35em))}
.e-rise .bs{--ks:clamp(0,(var(--k,0) - .62)*4,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*8px))}
.e-rise .row{--kb:clamp(0,(var(--k,0) - .76)*5,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*8px))}
.stage .static-copy{display:none}
@media (max-height:560px){.cue,.ring,.tip{display:none}}
@media (orientation:landscape) and (pointer:coarse) and (max-height:560px),(prefers-reduced-motion:reduce){
  .hero{height:auto}
  .stage{position:relative;height:auto;min-height:100svh;display:flex;align-items:flex-end}
  .stage video,.ring,.cue,.tip,.bands{display:none!important}
  .stage .poster{background-image:url("hero-ending.jpg")}
  .stage .static-copy{display:block;position:relative;isolation:isolate;padding:8.5rem var(--gutter) 3.5rem;max-width:44rem;text-shadow:var(--tshadow)}
  .stage .static-copy::before{content:"";position:absolute;z-index:-1;left:-100vw;right:-100vw;top:-40vh;bottom:-100vh;background:linear-gradient(to bottom,rgba(var(--scrim),0) 0,rgba(var(--scrim),.6) 35%,rgba(29,30,28,.92) 100%)}
  .stage .static-copy .eyebrow{font-size:.68rem;white-space:nowrap;letter-spacing:.12em}
  .stage .static-copy h1{font-size:var(--t-h1);max-width:14ch}
  .stage .static-copy p{margin-top:1rem;font-size:var(--t-lede);max-width:34ch;line-height:1.4;color:var(--on-dark-2)}
  .stage .static-copy .row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
}


/* mobil: scrub aj na telefóne, domček v strede orezu, tieň pod textom zhora (pásy 1 až 3) a zdola (pás 4) */
@media (max-width:720px){
  .hero{height:360vh}
  .stage .poster,.stage video{object-position:64% 50%;background-position:64% 50%}
  .band{top:calc(5.25rem + env(safe-area-inset-top))}
  .band::before{left:-100vw;right:-100vw;top:-100vh;bottom:-180px;background:linear-gradient(to bottom,rgba(var(--scrim),.8) 0,rgba(var(--scrim),.8) calc(100% - 200px),rgba(var(--scrim),0) 100%);-webkit-mask-image:none;mask-image:none}
  .band[data-band="4"]{bottom:calc(5rem + env(safe-area-inset-bottom))}
  .band[data-band="4"]::before{top:-200px;bottom:-100vh;background:linear-gradient(to top,rgba(var(--scrim),.84) 0,rgba(var(--scrim),.84) calc(100% - 200px),rgba(var(--scrim),0) 100%)}
  .band .eyebrow{font-size:.66rem;letter-spacing:.12em;white-space:nowrap}
  .band[data-band="2"] .bh,.band[data-band="3"] .bh{font-size:2rem}
  .band .row .btn{flex:1 1 auto}
  .ring{width:28px;height:28px}
}

/* sekcie a pásy */
section{padding-block:var(--section);scroll-margin-top:4.5rem}
.svetly{background:var(--svetla);color:var(--text)}
.svetly .lede,.svetly .small{color:var(--text-2)}
.tmavy{background:var(--tma);color:var(--on-dark)}
.tmavy .lede,.tmavy .small{color:var(--on-dark-2)}
.medeny{background:var(--med);color:var(--tma);position:relative}
.dosky{position:relative}
.dosky::before{content:"";position:absolute;left:0;right:0;top:0;height:12px;background:repeating-linear-gradient(90deg,var(--med-tmava) 0 46px,var(--tma) 46px 50px)}
.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.5rem)}
.sec-head h2{grid-column:1/8}
.sec-head .lede{grid-column:8/13;font-size:1.05rem}
.sec-head.center{display:block;text-align:center;max-width:44rem;margin-inline:auto}
.sec-head.center h2{max-width:none;margin-inline:auto}.sec-head.center .lede{margin:1rem auto 0}
@media (max-width:900px){.sec-head h2,.sec-head .lede{grid-column:1/-1}}

/* vstupy */
.reveal .part{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-out),transform .8s var(--ease-out)}
.reveal.in .part{opacity:1;transform:none}
.reveal.in .part:nth-child(2){transition-delay:.07s}.reveal.in .part:nth-child(3){transition-delay:.14s}.reveal.in .part:nth-child(4){transition-delay:.21s}.reveal.in .part:nth-child(5){transition-delay:.28s}.reveal.in .part:nth-child(6){transition-delay:.35s}.reveal.in .part:nth-child(7){transition-delay:.42s}
.reveal.in.done .part,.reveal.in.done .part:nth-child(n){transition-delay:0s}

/* karty */
.karta{background:var(--biela);border:1.5px solid var(--ram);border-radius:var(--r-lg);box-shadow:var(--tien);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.karta:hover{transform:translateY(-3px);box-shadow:var(--tien-hover);border-color:var(--ram-2)}
.tmavy .karta{background:var(--tma-2);border-color:var(--ram-dark);color:var(--on-dark);box-shadow:none}
.tmavy .karta:hover{border-color:rgba(244,241,234,.28);box-shadow:0 20px 50px rgba(0,0,0,.35)}

/* fakty (medený pás) */
.fakty{padding-block:clamp(2.4rem,4vw,3.2rem) clamp(2rem,3.5vw,3rem)}
.fakty ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,3vw,3rem)}
.fakty .num{font-size:var(--t-num);font-weight:800;letter-spacing:-.035em;line-height:1;white-space:nowrap}
.fakty .small{margin-top:.4rem;font-weight:500;opacity:.85;color:inherit}
@media (max-width:900px){.fakty ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* návrhár domčeka: 3D model, zhrnutie a dopyt (bez cien) */
.konf .karta:hover{transform:none;box-shadow:var(--tien);border-color:var(--ram)}
.nv{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:clamp(37rem,calc(100vh - 7rem),46rem);color:var(--text)}
.nv-scene{position:relative;height:100%;min-height:0;border-radius:var(--r-lg) 0 0 var(--r-lg);overflow:hidden;background:linear-gradient(#EDF0E9,#F7F3EC);border-right:1.5px solid var(--ram)}
.nv-scene canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}
.nv-scene canvas.dragging{cursor:grabbing}
.nv-badge{position:absolute;left:1rem;bottom:1rem;background:var(--biela);border:1.5px solid var(--ram);border-radius:99px;padding:.35rem .85rem;font-size:.8rem;font-weight:700;color:var(--text);pointer-events:none}
.nv-hint{position:absolute;right:1rem;bottom:1.15rem;font-size:.75rem;color:var(--text-2);pointer-events:none}
.nv-views{position:absolute;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.4rem}
.nv-views button{min-width:44px;height:38px;padding:0 .65rem;border-radius:var(--r-sm);border:1.5px solid var(--ram);background:var(--biela);font:700 .8rem var(--body);color:var(--text);cursor:pointer;transition:border-color .2s}
.nv-views button:hover{border-color:var(--ram-2)}
.nv-panel{display:flex;flex-direction:column;min-height:0;border-radius:0 var(--r-lg) var(--r-lg) 0;overflow:hidden}
.nv-opts{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1.1rem clamp(1.25rem,2.5vw,1.75rem);display:grid;gap:.55rem;align-content:start;scrollbar-width:thin;scrollbar-color:var(--ram-2) transparent}
.nv-grp{display:grid;gap:.6rem;padding-bottom:1.25rem;border-bottom:1.5px solid var(--ram)}
.nv-grp:last-child{border-bottom:0;padding-bottom:0}
.nv-grp h3{font-size:1.05rem;display:flex;align-items:center;gap:.6rem}
.nv-grp h3 i{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--tma);color:var(--on-dark);font-style:normal;font-size:.8rem;flex:none}
.nv-grp h3 label{cursor:inherit}
.nv-krok{gap:0;padding-bottom:.55rem;scroll-margin-top:6rem}
.nv-krok h3{display:block}
.nv-hlava{display:flex;align-items:center;gap:.6rem;width:100%;min-height:44px;padding:.15rem 0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--r-sm)}
.nv-hlava:focus-visible{outline:2px solid var(--med);outline-offset:3px}
.nv-hlava::after{content:"";flex:none;width:8px;height:8px;margin:0 .3rem 0 .4rem;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ease)}
.nv-krok[data-open] .nv-hlava::after{transform:translateY(2px) rotate(-135deg)}
.nv-krok .nv-hlava i{background:var(--svetla);color:var(--text);box-shadow:inset 0 0 0 1.5px var(--ram);transition:background .25s,color .25s,box-shadow .25s}
.nv-krok[data-hotovo] .nv-hlava i{background:var(--med);color:var(--tma);box-shadow:none}
.nv-krok[data-open] .nv-hlava i{background:var(--tma);color:var(--on-dark);box-shadow:none}
.nv-nazov{flex:none}
.nv-volba{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;color:var(--text-2);transition:opacity .2s}
.nv-krok[data-open] .nv-volba{opacity:0}
.nv-telo{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.nv-krok[data-open] .nv-telo{grid-template-rows:1fr}
.nv-telo-in{min-height:0;overflow:hidden;display:grid;gap:.6rem;align-content:start;padding:0 4px;margin:0 -4px}
.nv-telo-in>:first-child{margin-top:.75rem}
.nv-telo-in>:last-child{margin-bottom:4px}
.nv-dalej{justify-self:start;margin-top:.35rem;min-height:44px;padding:.6rem 1.15rem;border-radius:var(--r-sm);border:1.5px solid var(--tma);background:var(--biela);color:var(--text);font:700 .9rem var(--body);cursor:pointer;transition:background .2s,color .2s}
.nv-dalej:hover{background:var(--tma);color:var(--on-dark)}
.nv-sub{display:grid;gap:.6rem}
.nv-sub[hidden]{display:none}
.nv-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.nv-row>label,.nv-lbl{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
.nv-row output{font-weight:800;font-size:1.05rem;font-variant-numeric:tabular-nums}
.nv-slider{display:flex;align-items:center;gap:.5rem}
.nv-slider button,.nv-cnt button{width:40px;height:40px;flex:none;border-radius:var(--r-sm);border:1.5px solid var(--ram);background:var(--biela);font:700 1.1rem/1 var(--body);color:var(--text);cursor:pointer}
.nv-slider button:hover,.nv-cnt button:hover{border-color:var(--ram-2)}
.nv-cnt button:disabled{opacity:.35;cursor:default}
.nv input[type=range]{flex:1;min-width:0;accent-color:var(--med);height:28px;cursor:pointer}
.nv select{font:inherit;font-size:.95rem;width:100%;padding:.7rem .8rem;border:1.5px solid var(--ram);border-radius:var(--r-sm);background:var(--svetla);color:var(--text);min-height:44px}
.nv-field{display:grid;gap:.35rem}
.nv .seg{display:flex;gap:.5rem;flex-wrap:wrap}
.nv .seg button{flex:1 1 0;min-height:44px;padding:.6rem;border:1.5px solid var(--ram);border-radius:var(--r-sm);background:var(--biela);font:600 .9rem var(--body);color:var(--text);cursor:pointer;transition:all .2s var(--ease)}
.nv .seg button[aria-pressed="true"]{background:var(--tma);border-color:var(--tma);color:var(--on-dark)}
.nv-check{display:flex;align-items:center;gap:.6rem;font-weight:600;cursor:pointer;min-height:40px}
.nv-check input{width:20px;height:20px;accent-color:var(--med);flex:none}
.nv-cnt{display:flex;align-items:center;gap:.6rem}
.nv-cnt output{min-width:1.5rem;text-align:center;font-weight:800;font-size:1.05rem}
.nv details{border:1.5px solid var(--ram);border-radius:var(--r-sm);padding:0 .9rem}
.nv details summary{cursor:pointer;font-weight:700;padding:.75rem 0;font-size:.9rem}
.nv details[open]{padding-bottom:.8rem}
.nv-enc{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:.5rem;align-items:center;margin:.35rem 0;font-size:.85rem;color:var(--text-2)}
.nv-plech .prow{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.4rem 0}
.nv-plech .prow .nv-check{min-width:5.5rem}
.nv-plech .prow select{width:auto;padding:.4rem .5rem;min-height:38px}
.nv-plech .prow[data-off] select,.nv-plech .prow[data-off] .nv-cnt{opacity:.35;pointer-events:none}
.nv-plech .nv-cnt button{width:34px;height:34px;font-size:.95rem}
.nv .swatches{display:flex;flex-wrap:wrap;gap:.5rem}
.nv .swatch{width:44px;height:34px;border-radius:8px;border:2px solid var(--ram);cursor:pointer;padding:0}
.nv .swatch[aria-pressed="true"]{border-color:var(--tma);box-shadow:0 0 0 3px var(--med-svetla)}
.nv-farba{font-size:.9rem;font-weight:700;color:var(--text)}
.nv-note{font-size:.85rem;color:var(--text-2)}
#navrhar,.nv-send{scroll-margin-top:5.5rem}
.nv-cta{flex:none;position:relative;display:grid;gap:.6rem;padding:1rem clamp(1.25rem,2.5vw,1.75rem) clamp(1.25rem,2.5vw,1.75rem);border-top:1.5px solid var(--ram);background:var(--biela);transition:box-shadow .25s var(--ease)}
.nv-panel[data-more] .nv-cta{box-shadow:0 -16px 20px -16px rgba(29,30,28,.28)}
.nv-cta .btn{width:100%;min-height:56px;font-size:1.05rem}
.nv-cta .nv-note{text-align:center}
.nv-upravit{margin-top:.9rem;padding:0;border:0;background:none;font:700 .9rem var(--body);color:var(--text);border-bottom:2px solid var(--med);cursor:pointer}
.nv-upravit:hover{color:var(--med-tmava)}
.nv-send[hidden]{display:none}
.nv-send.nv-in>.karta{animation:nv-in .5s var(--ease-out) both}
.nv-send.nv-in>.karta:nth-child(2){animation-delay:.08s}
@keyframes nv-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.nv-send{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:1rem;margin-top:1rem;align-items:start;color:var(--text)}
.nv-sum{padding:clamp(1.25rem,2.5vw,1.75rem)}
.nv-sum h3,.nv-form h3,.nv-ok h3{font-size:1.3rem;margin-bottom:.9rem}
.nv-sum dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem 1rem;font-size:.92rem}
.nv-sum dt{color:var(--text-2)}
.nv-sum dd{margin:0;font-weight:700}
.nv-sum .nv-note{margin-top:1.1rem;padding-top:1rem;border-top:1.5px solid var(--ram)}
.nv-form{padding:clamp(1.25rem,2.5vw,1.75rem);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.1rem}
.nv-form h3{grid-column:1/-1;margin-bottom:0}
.nv-f{display:flex;flex-direction:column;gap:.35rem}
.nv-f.full,.nv-err-full,.nv-gdpr,.nv-actions{grid-column:1/-1}
.nv-f label{font-size:.8rem;font-weight:700}
.nv-f input,.nv-f textarea{font:inherit;font-size:1rem;padding:.8rem .9rem;border:1.5px solid var(--ram);border-radius:var(--r-sm);background:var(--svetla);color:var(--text);min-height:48px;width:100%;transition:border-color .2s,box-shadow .2s}
.nv-f textarea{min-height:6rem;resize:vertical}
.nv-f input:focus,.nv-f textarea:focus{outline:none;border-color:var(--med);box-shadow:0 0 0 4px rgba(200,135,58,.18)}
.nv-f [aria-invalid="true"]{border-color:#B3261E}
.nv-err{font-size:.8rem;font-weight:600;color:#B3261E;margin:0}
.nv-gdpr{display:flex;gap:.65rem;align-items:flex-start;font-size:.85rem;color:var(--text-2);cursor:pointer}
.nv-gdpr input{width:20px;height:20px;margin-top:.1rem;accent-color:var(--med);flex:none}
.nv-actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center}
.nv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nv-ok{display:none;padding:clamp(1.25rem,2.5vw,1.75rem);border-color:var(--state);background:#EEF4EF}
.nv-send.sent .nv-form{display:none}
.nv-send.sent .nv-ok{display:block}
@media (max-width:980px){
  .nv{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;height:auto}
  .nv-opts{overflow:visible}
  .nv-panel{border-radius:0 0 var(--r-lg) var(--r-lg)}
  .nv-scene{position:relative;top:0;height:clamp(18rem,66vw,28rem);min-height:0;border-right:0;border-bottom:1.5px solid var(--ram);border-radius:var(--r-lg) var(--r-lg) 0 0}
  .nv-scene canvas{touch-action:pan-y}
  .nv-send{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .nv-form{grid-template-columns:minmax(0,1fr)}
  .nv-hint{display:none}
  .nv-views{flex-direction:row;flex-wrap:wrap;left:.75rem;right:.75rem;top:.75rem;justify-content:flex-end}
  .nv-views button{height:36px;min-width:40px;padding:0 .5rem}
  .nv-enc{grid-template-columns:minmax(0,1fr)}
}

/* realizácie */
.real-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,1.6vw,1.5rem)}
.real{position:relative;overflow:hidden;margin:0;border-radius:var(--r-lg);background:var(--kremova)}
.real img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.real:hover img{transform:scale(1.04)}
.real figcaption{position:absolute;left:1rem;bottom:1rem;background:var(--biela);color:var(--text);border-radius:var(--r-sm);padding:.6rem .85rem;font-size:.85rem;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.real figcaption small{display:block;font-weight:500;color:var(--text-2);margin-top:.1rem}
.real.big{grid-column:1/8;aspect-ratio:4/3}
.real.s1,.real.s2{grid-column:8/13;aspect-ratio:4/3}
.real.s3{grid-column:1/5;aspect-ratio:4/3}
.real.s4{grid-column:5/8;aspect-ratio:4/3}
.real-grid .more{grid-column:8/13;align-self:center;padding:1rem 0 0}
@media (max-width:900px){.real.big,.real.s1,.real.s2,.real.s3,.real.s4,.real-grid .more{grid-column:1/-1}}

/* stena (tmavý pás) */
.stena .body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);align-items:start}
.stena .rez{grid-column:1/6;position:sticky;top:6rem;padding:clamp(1rem,2vw,1.75rem)}
.stena .rez svg{width:100%;height:auto;overflow:visible}
.stena .rez .poz{margin-top:.75rem;font-size:.85rem;color:var(--on-dark-2)}
.stena ol{grid-column:6/13;list-style:none;margin:0;padding:0;counter-reset:v;display:grid;gap:.75rem}
.stena li{padding:1.1rem 1.25rem 1.1rem 4rem;position:relative;transition:opacity .4s var(--ease),transform .4s var(--ease);opacity:.45;transform:translateX(6px)}
.stena li.on{opacity:1;transform:none}
.stena li::before{counter-increment:v;content:counter(v);position:absolute;left:1.1rem;top:1.05rem;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--tma-3);color:var(--on-dark);font-weight:800;font-size:.9rem;transition:background .3s}
.stena li.on::before{background:var(--med);color:var(--tma)}
.stena li strong{display:block;font-weight:800;font-size:1.05rem}
.stena li span{display:block;color:var(--on-dark-2);font-size:var(--t-small);margin-top:.2rem}
.stena .vrstva{fill:#2C3237;stroke:rgba(244,241,234,.55);stroke-width:1;transition:fill .5s var(--ease)}
.stena .vrstva .obrys{fill:none;stroke:#F4F1EA;stroke-width:1.2;stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600);transition:stroke-dashoffset 1.1s var(--ease-out)}
.stena .vrstva.on .obrys{stroke-dashoffset:0}
.stena .vrstva.on{fill:var(--fill,#3A4147)}
.stena .vrstva.active{filter:drop-shadow(0 0 14px rgba(217,162,107,.45))}
.stena .popis{font:700 .75rem var(--body);fill:#C9C6BC;letter-spacing:.06em;opacity:0;transition:opacity .5s var(--ease)}
.stena .popis.on{opacity:1}
.stena .mier{stroke:#C9C6BC;stroke-width:1;fill:none}
.stena .mier text{font:700 .75rem var(--body);fill:#C9C6BC;letter-spacing:.06em}
@media (max-width:900px){.stena .rez,.stena ol{grid-column:1/-1}.stena .rez{position:static;max-width:34rem}}

/* postup (medený pás s kartami) */
.postup{padding-top:calc(var(--section) + 12px)}
.kroky{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:k}
.kroky li{padding:1.4rem 1.4rem 1.6rem;color:var(--text)}
.kroky li::before{counter-increment:k;content:counter(k);display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--tma);color:var(--on-dark);font-weight:800;font-size:.9rem;margin-bottom:.9rem}
.kroky strong{display:block;font-size:1.1rem;font-weight:800;margin-bottom:.35rem;letter-spacing:-.01em}
.kroky p{font-size:var(--t-small);color:var(--text-2);line-height:1.5}
.postup .cta-row{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.postup .btn-dark{background:var(--tma);color:var(--on-dark);box-shadow:0 8px 24px rgba(0,0,0,.18)}
@media (max-width:1000px){.kroky{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.kroky{grid-template-columns:1fr}}

/* zo stavby (svetlý, vodorovný pás) */
.pas{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);padding:.5rem var(--gutter) 1.5rem;scrollbar-width:thin;scrollbar-color:var(--ram-2) transparent}
.pas figure{flex:0 0 clamp(16rem,30vw,26rem);margin:0;scroll-snap-align:start;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r);background:var(--kremova)}
.pas img{width:100%;height:100%;object-fit:cover}
.pas figcaption{position:absolute;left:.85rem;bottom:.85rem;background:var(--biela);border-radius:var(--r-sm);padding:.5rem .75rem;font-size:.8rem;font-weight:700;color:var(--text);box-shadow:0 10px 30px rgba(0,0,0,.2)}
.pas figcaption b{color:var(--med-tmava);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:.1rem}

/* možnosti (karty s fotkou) */
.moz{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.moz article{overflow:hidden;display:flex;flex-direction:column}
.moz .ph{aspect-ratio:4/3;overflow:hidden}
.moz img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.moz article:hover img{transform:scale(1.04)}
.moz .txt{padding:1.2rem 1.3rem 1.4rem}
.moz h3{font-size:1.2rem}
.moz p{color:var(--text-2);font-size:var(--t-small);line-height:1.5;margin-top:.5rem}
@media (max-width:1000px){.moz{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.moz{grid-template-columns:1fr}}

/* cena (tmavý pás s fotkou) */
.cena .body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);align-items:center}
.cena .txt{grid-column:1/7}
.cena .txt .lede{margin-top:1rem}
.cena ul{list-style:none;margin:1.75rem 0 0;padding:0;display:grid;gap:.7rem}
.cena li{padding-left:2rem;position:relative;font-weight:500}
.cena li::before{content:"✓";position:absolute;left:0;top:0;color:var(--med);font-weight:800}
.cena .btn{margin-top:2rem}
.cena .ph{grid-column:7/13;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;position:relative}
.cena .ph img{width:100%;height:100%;object-fit:cover}
.cena .ph .tag{position:absolute;left:1rem;bottom:1rem;background:var(--biela);color:var(--text);border-radius:var(--r-sm);padding:.6rem .85rem;font-size:.85rem;font-weight:700}
@media (max-width:900px){.cena .txt,.cena .ph{grid-column:1/-1}}

/* recenzie (svetlé, karty s hviezdami) */
.rec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.rec blockquote{margin:0;padding:1.5rem 1.6rem 1.6rem}
.rec .stars{color:var(--med);letter-spacing:.12em;font-size:.95rem;margin-bottom:.8rem}
.rec blockquote p{font-size:1.05rem;line-height:1.55;font-style:italic}
.rec footer{margin-top:1rem;font-size:var(--t-small);color:var(--text-2);font-weight:600;display:flex;align-items:center;gap:.6rem}
.rec footer i{width:32px;height:32px;border-radius:50%;background:var(--med-svetla);color:var(--med-tmava);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:.8rem}
.rec .note{grid-column:1/-1;text-align:center;margin-top:.5rem}
@media (max-width:760px){.rec{grid-template-columns:1fr}}

/* kde staviame (tmavý) */
.kde .body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);align-items:center}
.kde .txt{grid-column:1/8}
.kde .chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.kde .chips span{padding:.55rem .9rem;border:1.5px solid var(--ram-dark);border-radius:99px;font-size:.9rem;font-weight:600;color:var(--on-dark-2)}
.kde .chips span.cz{border-color:rgba(200,135,58,.5);color:var(--on-dark)}
.kde .dielna{margin-top:1.75rem;font-size:var(--t-small);color:var(--on-dark-2)}
.kde .dron{grid-column:8/13;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3}
.kde .dron img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.kde .txt,.kde .dron{grid-column:1/-1}}

/* faq (tmavý) */
.faq .list{max-width:52rem;margin-inline:auto}
.faq details{border-top:1px solid var(--ram-dark)}
.faq details:last-child{border-bottom:1px solid var(--ram-dark)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.2rem 0;font-weight:700;font-size:1.1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:400;font-size:1.6rem;line-height:1;color:var(--med);transition:transform .25s var(--ease);flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 1.3rem;max-width:62ch;color:var(--on-dark-2)}

/* formulár (svetlý, karta) */
.ponuka .body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem)}
.ponuka .txt{grid-column:1/5}
.ponuka .txt .lede{margin-top:1rem}
.ponuka .kontakt{margin-top:2rem;display:grid;gap:.6rem;font-size:1.05rem;font-weight:700}
.ponuka .kontakt a{text-decoration:none}.ponuka .kontakt a:hover{color:var(--med-tmava)}
.ponuka form{grid-column:5/13;padding:clamp(1.25rem,2.5vw,2rem);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}
.ponuka form:hover{transform:none;box-shadow:var(--tien)}
.ponuka .f{display:flex;flex-direction:column;gap:.4rem}
.ponuka .f.full{grid-column:1/-1}
.ponuka label{font-size:.8rem;font-weight:700;letter-spacing:.02em;color:var(--text)}
.ponuka input,.ponuka select,.ponuka textarea{font:inherit;font-size:1rem;padding:.85rem 1rem;border:1.5px solid var(--ram);border-radius:var(--r-sm);background:var(--svetla);color:var(--text);min-height:48px;width:100%;transition:border-color .2s,box-shadow .2s}
.ponuka input:focus,.ponuka select:focus,.ponuka textarea:focus{outline:none;border-color:var(--med);box-shadow:0 0 0 4px rgba(200,135,58,.18)}
.ponuka textarea{min-height:7rem;resize:vertical}
.ponuka .actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:.25rem}
.ponuka .hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.ponuka .ok{grid-column:5/13;display:none;padding:1.5rem;border:1.5px solid var(--state);border-radius:var(--r);background:#E7EFE9;color:var(--text)}
.ponuka.sent form{display:none}.ponuka.sent .ok{display:block}
@media (max-width:900px){.ponuka .txt,.ponuka form,.ponuka .ok{grid-column:1/-1}.ponuka form{grid-template-columns:1fr}}

/* pätička */
.site-footer{background:var(--tma);padding:3rem 0 calc(5.5rem + env(safe-area-inset-bottom));font-size:var(--t-small);color:var(--on-dark-2);border-top:4px solid var(--med)}
.site-footer .cols{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,2rem)}
.site-footer .c1{grid-column:1/6}.site-footer .c2{grid-column:6/9}.site-footer .c3{grid-column:9/13}
.site-footer strong{color:var(--on-dark)}
.site-footer .label{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--med)}
.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--med)}
.site-footer ul{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.3rem}
.site-footer .ai{margin-top:2.5rem;border-top:1px solid var(--ram-dark);padding-top:1rem;max-width:64ch}
@media (max-width:900px){.site-footer .c1,.site-footer .c2,.site-footer .c3{grid-column:1/-1}}

/* spodná lišta na mobile */
.mbar{display:none}
@media (max-width:720px){
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom));background:rgba(29,30,28,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--ram-dark);transform:translateY(110%);transition:transform .35s var(--ease)}
  .mbar.show{transform:none}
  .mbar .btn{padding:.85rem .5rem;font-size:.95rem;border-radius:var(--r-sm)}
  .mbar .btn-ghost{border-color:rgba(244,241,234,.35);color:var(--on-dark)}
}
@media (pointer:coarse){.btn,.faq summary{min-height:48px}}
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){
  .nv-telo,.nv-hlava::after,.nv-volba{transition:none}
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important}
  body{opacity:1}
  .reveal .part{opacity:1;transform:none}
  .stena .vrstva .obrys{stroke-dashoffset:0}.stena .vrstva{fill:var(--fill,#3A4147)}.stena .popis{opacity:1}.stena li{opacity:1;transform:none}
  .mbar{transform:none}
}

/* ── Realizácie: karty na domove, zoznam, detail, lightbox (review/zostav-realizacie.mjs) ── */
a.real{display:block;text-decoration:none;color:inherit}
.real .cap{position:absolute;left:1rem;bottom:1rem;background:var(--biela);color:var(--text);border-radius:var(--r-sm);padding:.6rem .85rem;font-size:.85rem;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.real .cap small{display:block;font-weight:500;color:var(--text-2);margin-top:.1rem}
.real:focus-visible{outline:3px solid var(--med);outline-offset:3px}
body.pod{background:var(--svetla)}
.pod main{padding-top:calc(4.5rem + env(safe-area-inset-top))}
.rz{padding-block:clamp(2rem,4vw,3.5rem) var(--section)}
.rz-cesta{font-size:.9rem;color:var(--text-2);margin:0 0 1.25rem;display:flex;flex-wrap:wrap;gap:.45rem}
.rz-cesta a{color:inherit;text-decoration:none;border-bottom:1px solid var(--ram-2)}.rz-cesta a:hover{color:var(--med-tmava)}
.rz-cesta b{color:var(--text);font-weight:600}
.rz-hlava{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem 2rem;align-items:end;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.rz-hlava h1{grid-column:1/8;font-size:var(--t-h2)}
.rz-hlava h1 em{display:block;font-size:.5em;font-weight:700;letter-spacing:-.01em;margin-top:.4rem}
.rz-hlava .lede{grid-column:8/13;margin:0;color:var(--text-2);font-size:1.05rem}
.rz-hero{margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/9;background:var(--kremova)}
.rz-hero img{width:100%;height:100%;object-fit:cover}
.rz-telo{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);margin-top:clamp(2rem,4vw,3rem)}
.rz-text{grid-column:1/8;max-width:62ch}
.rz-text p{margin:0 0 1rem}
.rz-text blockquote{margin:1.5rem 0 0;padding:1.25rem 1.5rem;border-left:4px solid var(--med);background:var(--biela);border-radius:0 var(--r) var(--r) 0}
.rz-text blockquote p{margin:0}
.rz-text blockquote footer{margin-top:.6rem;font-size:.85rem;font-weight:700;color:var(--text-2)}
.rz-fakty{grid-column:8/13;align-self:start;padding:clamp(1.25rem,2.5vw,1.75rem)}
.rz-fakty h2{font-size:1.1rem;margin-bottom:1rem}
.rz-fakty dl{margin:0 0 1.25rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem 1rem;font-size:.95rem}
.rz-fakty dt{color:var(--text-2)}.rz-fakty dd{margin:0;font-weight:700}
.rz-fakty .btn{width:100%}.rz-fakty .pod-btn{margin:.75rem 0 0;font-size:.9rem;text-align:center;color:var(--text-2)}
.rz-galeria,.rz-video{margin-top:var(--section)}
.rz-galeria h2,.rz-video h2{font-size:var(--t-h3);margin-bottom:1.25rem}
.rz-mriezka{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.6rem,1.2vw,1rem)}
.rz-f{display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--kremova)}
.rz-f:nth-child(6n+1){grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.rz-f img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.rz-f:hover img{transform:scale(1.04)}
.rz-f:focus-visible{outline:3px solid var(--med);outline-offset:3px}
.rz-yt{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:var(--tma)}
.rz-yt img{width:100%;height:100%;object-fit:cover;opacity:.7}
.rz-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.rz-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.5rem;border-radius:99px;border:0;background:var(--med);color:var(--tma);font:700 1.05rem var(--body);cursor:pointer;box-shadow:0 12px 40px rgba(0,0,0,.35)}
.rz-play:hover{background:var(--med-hover)}
.rz-video .note{font-size:.85rem;color:var(--text-2);margin:.75rem 0 0}
.rz-cta{padding-block:clamp(3rem,6vw,5rem)}
.rz-cta .wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem 1.5rem;align-items:center}
.rz-cta h2{grid-column:1/8}.rz-cta p{grid-column:1/8;margin:0;max-width:52ch}
.rz-cta .btns{grid-column:8/13;grid-row:1/3;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}
.rz-cta .btn-ghost{border-color:rgba(29,30,28,.35);color:var(--tma)}
.rz-dalsie{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin-top:var(--section);padding-top:1.5rem;border-top:1.5px solid var(--ram)}
.rz-dalsie a{text-decoration:none;color:inherit;font-weight:700}
.rz-dalsie a small{display:block;font-weight:500;color:var(--text-2);font-size:.8rem;margin-bottom:.15rem}
.rz-dalsie .n{text-align:right}.rz-dalsie .v{border-bottom:2px solid var(--med);padding-bottom:1px}
.rz-filtre{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;align-items:center}
.rz-filtre button{min-height:42px;padding:.55rem 1rem;border:1.5px solid var(--ram-2);border-radius:99px;background:var(--biela);font:600 .9rem var(--body);color:var(--text);cursor:pointer}
.rz-filtre button[aria-pressed="true"]{background:var(--tma);border-color:var(--tma);color:var(--on-dark)}
.rz-pocet{font-size:.9rem;color:var(--text-2);margin-left:auto}
.rz-karty{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,1.6vw,1.5rem)}
.rz-karta{display:block;text-decoration:none;color:inherit;overflow:hidden}
.rz-karta[hidden]{display:none}
.rz-karta img{aspect-ratio:4/3;width:100%;object-fit:cover;transition:transform 1s var(--ease)}.rz-karta:hover img{transform:scale(1.04)}
.rz-karta-t{padding:1rem 1.15rem 1.15rem;display:grid;gap:.15rem}
.rz-karta-t strong{font-size:1.1rem}.rz-karta-t span{font-size:.9rem;color:var(--text-2)}
.rz-znak{display:inline-flex;align-items:center;gap:.35rem;margin-top:.45rem;font-size:.75rem;font-weight:700;color:var(--med-tmava)}
.rz-znak::before{content:"";width:0;height:0;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent}
.lb{position:fixed;inset:0;z-index:100;background:rgba(12,10,8,.94);display:grid;place-items:center;padding:3.5rem 1rem 2rem}
.lb[hidden]{display:none}
.lb figure{margin:0;max-width:min(1600px,96vw);display:grid;gap:.6rem;justify-items:center}
.lb img{max-width:100%;max-height:calc(100vh - 8rem);width:auto;object-fit:contain;border-radius:var(--r-sm)}
.lb figcaption{color:var(--on-dark-2);font-size:.85rem;text-align:center}
.lb button{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}
.lb button:hover{background:rgba(255,255,255,.28)}
.lb-x{top:1rem;right:1rem}.lb-p{left:.75rem;top:50%;transform:translateY(-50%)}.lb-n{right:.75rem;top:50%;transform:translateY(-50%)}
@media (max-width:900px){
  .rz-hlava h1,.rz-hlava .lede,.rz-text,.rz-fakty,.rz-cta h2,.rz-cta p{grid-column:1/-1}
  .rz-cta .btns{grid-column:1/-1;grid-row:auto;justify-content:flex-start}
  .rz-mriezka,.rz-karty{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rz-dalsie{grid-template-columns:1fr 1fr}.rz-dalsie .v{grid-column:1/-1;justify-self:center}
}
@media (max-width:560px){.rz-mriezka,.rz-karty{grid-template-columns:1fr}.rz-f:nth-child(6n+1){grid-column:auto;grid-row:auto;aspect-ratio:4/3}}

/* zoznam realizácií: tmavý úvod, mozaika, dlaždice */
.pod main.rz-zoznam{padding-top:0}
.rz-uvod{padding-block:calc(4.5rem + env(safe-area-inset-top) + 2rem) 2.25rem}
.rz-uvod .rz-cesta{color:var(--on-dark-2)}.rz-uvod .rz-cesta b{color:var(--on-dark)}.rz-uvod .rz-cesta a{border-color:var(--ram-dark)}.rz-uvod .rz-cesta a:hover{color:var(--med)}
.rz-uvod-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem 2rem;align-items:end;margin-bottom:2rem}
.rz-uvod h1{grid-column:1/8;font-size:var(--t-h1)}.rz-uvod .lede{grid-column:8/13;margin:0;color:var(--on-dark-2);font-size:var(--t-lede)}
.rz-uvod .rz-filtre{margin:0}
.rz-uvod .rz-filtre button{background:transparent;border-color:var(--ram-dark);color:var(--on-dark)}
.rz-uvod .rz-filtre button:hover{border-color:var(--on-dark-2)}
.rz-uvod .rz-filtre button[aria-pressed="true"]{background:var(--med);border-color:var(--med);color:var(--tma)}
.rz-uvod .rz-pocet{color:var(--on-dark-2)}
.rz-mozaika{padding-block:clamp(1.5rem,3vw,2.5rem) var(--section)}
.rz-karta.velka{grid-column:span 2}.rz-karta.velka img{aspect-ratio:16/9}
.rz-farba{display:inline-block;width:.85em;height:.85em;border-radius:50%;background:var(--f);box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.14);vertical-align:-.08em;margin-right:.4rem}
.rz-kraj{font-size:.8rem}
.rz-dlazdica{border-radius:var(--r-lg);padding:clamp(1.25rem,2.5vw,1.75rem);display:grid;align-content:end;gap:.6rem;min-height:16rem;margin:0}
.rz-dlazdica.medena{background:var(--med);color:var(--tma)}
.rz-dlazdica.medena strong{font-size:var(--t-num);font-weight:800;letter-spacing:-.03em;line-height:1}
.rz-dlazdica.medena span{font-weight:600;max-width:26ch}.rz-dlazdica.medena a{color:inherit}
.rz-dlazdica.tmava{background:var(--tma);color:var(--on-dark);grid-column:span 2}
.rz-dlazdica.tmava p{margin:0;font-size:var(--t-lede);font-weight:600;line-height:1.35;max-width:44ch;text-wrap:pretty}
.rz-dlazdica.tmava footer{color:var(--on-dark-2);font-size:.9rem}.rz-dlazdica.tmava a{color:var(--med);text-decoration:none;border-bottom:1px solid currentColor}
.rz-dlazdica .stars{color:var(--med);letter-spacing:.12em;font-size:.9rem}
@media (max-width:900px){.rz-uvod h1,.rz-uvod .lede{grid-column:1/-1}.rz-karta.velka,.rz-dlazdica.tmava{grid-column:span 2}}
@media (max-width:560px){.rz-karta.velka,.rz-dlazdica.tmava{grid-column:auto}.rz-karta.velka img{aspect-ratio:4/3}.rz-dlazdica{min-height:12rem}}

/* domov: mozaika realizácií s pevnou výškou, aby sa karty nerozpadli */
.real-mozaika{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(1rem,1.6vw,1.5rem);height:clamp(26rem,44vw,40rem)}
.real-mozaika .real{height:100%;min-height:0}
.real-mozaika .velka{grid-column:1/8;grid-row:1/3}
.real-mozaika .real:not(.velka){grid-column:8/13}
.real-rad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,1.6vw,1.5rem);margin-top:clamp(1rem,1.6vw,1.5rem)}
.real-rad .real{aspect-ratio:4/3}
.real-vsetky{display:grid;align-content:end;gap:.5rem;padding:clamp(1.25rem,2.5vw,1.75rem);border-radius:var(--r-lg);background:var(--med);color:var(--tma);text-decoration:none;aspect-ratio:4/3;transition:background .25s var(--ease)}
.real-vsetky:hover{background:var(--med-hover)}
.real-vsetky strong{font-size:var(--t-num);font-weight:800;letter-spacing:-.03em;line-height:1}
.real-vsetky span{font-weight:600;max-width:26ch;line-height:1.35}
.real-vsetky b{margin-top:.5rem;width:max-content;font-weight:800;border-bottom:2px solid var(--tma);padding-bottom:1px}
@media (max-width:900px){
  .real-mozaika{grid-template-columns:1fr;grid-template-rows:none;height:auto}
  .real-mozaika .velka,.real-mozaika .real:not(.velka){grid-column:auto;grid-row:auto;aspect-ratio:4/3}
  .real-rad{grid-template-columns:1fr}.real-vsetky{aspect-ratio:auto;min-height:12rem}
}

/* interaktívna mapa realizácií (domov aj zoznam) */
.mapa{position:relative;margin-top:clamp(1rem,2vw,1.5rem);border-radius:var(--r-lg);background:radial-gradient(110% 90% at 50% 45%,#2a2b27,#1D1E1C 75%);border:1px solid var(--ram-dark)}
.mapa-svg{display:block;width:100%;height:auto;border-radius:var(--r-lg)}
.mapa-svg .okolie path{fill:#232421;stroke:rgba(244,241,234,.07);stroke-width:1}
.mapa-svg .krajiny path{fill:#34352F;stroke:rgba(244,241,234,.34);stroke-width:1.4;stroke-linejoin:round}
.mapa-svg .popisky text{fill:rgba(244,241,234,.26);font:800 24px var(--body);letter-spacing:.08em;text-transform:uppercase}
.mapa-svg .ciary line{stroke:var(--med);stroke-width:1.3;opacity:.75}.mapa-svg .ciary circle{fill:var(--med)}
.mapa-pozn{margin:.9rem 0 0;font-size:var(--t-small);color:var(--on-dark-2)}
.pin{position:absolute;width:clamp(24px,5%,60px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:2.5px solid var(--med);background:var(--tma);box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:1;transition:transform .25s var(--ease),border-color .25s}
.pin img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.pin:hover,.pin:focus-visible{transform:translate(-50%,-50%) scale(1.18);z-index:6;outline:none;border-color:var(--on-dark)}
.pin-t{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,4px);background:var(--biela);color:var(--text);border-radius:var(--r-sm);padding:.5rem .75rem;white-space:nowrap;font-size:.85rem;line-height:1.25;box-shadow:0 10px 30px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s var(--ease),transform .2s var(--ease)}
.pin-t b{display:block;font-weight:800}.pin-t small{display:block;color:var(--text-2);font-size:.78rem}
.pin-t::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--biela)}
.pin:hover .pin-t,.pin:focus-visible .pin-t,.pin-t.stale{opacity:1;transform:translate(-50%,0)}
.pin.dole .pin-t{bottom:auto;top:calc(100% + 10px)}.pin.dole .pin-t::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--biela)}
.pin.dielna{width:clamp(20px,2.6%,32px);cursor:default;border-color:var(--on-dark);background:var(--med);display:grid;place-items:center;z-index:2}
.pin.dielna i{width:56%;height:56%;background:var(--tma);clip-path:polygon(50% 0,100% 46%,84% 46%,84% 100%,16% 100%,16% 46%,0 46%)}
.pin.dielna .pin-t{background:var(--med);color:var(--tma);font-size:.8rem}.pin.dielna .pin-t small{color:rgba(29,30,28,.75)}.pin.dielna .pin-t::after{border-top-color:var(--med)}
@media (hover:none){.pin-t:not(.stale){display:none}}
@media (max-width:560px){.pin.dielna .pin-t{display:none}.mapa-svg .popisky text{font-size:34px}}

.mapa-posun{margin-top:clamp(1rem,2vw,1.5rem)}
.mapa-posun .mapa{margin-top:0}
.len-mobil{display:none}
@media (max-width:700px){
  .mapa-posun{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scrollbar-width:none}
  .mapa-posun::-webkit-scrollbar{display:none}
  .mapa-posun .mapa{width:760px}
  .len-mobil{display:inline}
}

/* recenzie: súhrn z Google, karty, stránka /recenzie/ */
.rec-suhrn{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem 1.5rem;align-items:center;padding:clamp(1.1rem,2vw,1.5rem) clamp(1.25rem,2.5vw,1.75rem);border-radius:var(--r-lg);background:var(--med);color:var(--tma)}
.rec-suhrn .rec-cislo{display:grid;justify-items:center;gap:.15rem}
.rec-suhrn strong{font-size:var(--t-num);font-weight:800;letter-spacing:-.03em;line-height:1}
.rec-suhrn .stars{letter-spacing:.1em;font-size:.95rem}
.rec-suhrn p{margin:0;font-weight:600;line-height:1.4;max-width:40ch}.rec-suhrn .rec-aktual{display:block;font-weight:500;font-size:.8rem;opacity:.75}
.rec-suhrn .btn-ghost{border-color:rgba(29,30,28,.4);color:var(--tma)}
.rec .rec-suhrn{grid-column:1/-1}
.rec-karta{padding:1.5rem 1.6rem 1.6rem;display:grid;gap:.8rem;align-content:start}
.rec-karta .stars{color:var(--med);letter-spacing:.12em;font-size:.95rem}
.rec-karta p{margin:0;font-size:1.02rem;line-height:1.55}
.rec-odpoved{font-size:.9rem;color:var(--text-2);padding:.75rem .9rem;border-left:3px solid var(--ram-2);background:var(--svetla);border-radius:0 var(--r-sm) var(--r-sm) 0}
.rec-odpoved b{display:block;font-size:.75rem;letter-spacing:.04em;margin-bottom:.2rem;color:var(--text)}
.rec-karta footer{margin-top:.2rem;font-size:var(--t-small);color:var(--text-2);display:flex;align-items:center;gap:.7rem}
.rec-karta footer i{flex:none;width:36px;height:36px;border-radius:50%;background:var(--med-svetla);color:var(--med-tmava);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:.85rem}
.rec-karta footer b{color:var(--text)}.rec-karta footer small{display:block;font-size:.8rem}
.rec-karta footer a{color:var(--med-tmava);font-weight:700;text-decoration:none;border-bottom:1.5px solid currentColor}
.rec-karta.nova{outline:2px solid var(--med);outline-offset:-2px}
.rec-strana{padding-block:clamp(1.5rem,3vw,2.5rem) var(--section)}
.rec-zoznam{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,1.6vw,1.5rem)}
.rec-pozn{margin:1.5rem 0 0;font-size:var(--t-small);color:var(--text-2)}
.rz-uvod .rec-suhrn{margin-top:.5rem}
@media (max-width:760px){.rec-suhrn{grid-template-columns:auto minmax(0,1fr)}.rec-suhrn .btn-ghost{grid-column:1/-1;justify-self:start}.rec-zoznam{grid-template-columns:1fr}}

/* realizácia: čistá hlavička, veľká titulná fotka */
.rz-hlava{grid-template-columns:1fr;margin-bottom:clamp(1.25rem,2.5vw,2rem)}
.rz-hlava h1{grid-column:auto;font-size:var(--t-h1)}
.rz-hlava h1 em{font-size:.42em;color:var(--text-2)}
.rz-hero{aspect-ratio:2/1}
@media (max-width:700px){.rz-hero{aspect-ratio:4/3}}
.ponuka .kontakt span{font-weight:500;color:var(--text-2);font-size:.95rem}
.ponuka .chyba{grid-column:1/-1;margin:0;font-size:.9rem;font-weight:600;color:#B3261E}
.ponuka .ok{align-self:start}

/* rez stenou: technický výkres so strechou a osadením, tri skupiny vrstiev */
.stena .zoznam{grid-column:6/13;display:grid;gap:.6rem;counter-reset:v}
.stena .zoznam ol{grid-column:auto;counter-reset:none;gap:.6rem}
.stena .sk{font-size:.95rem;font-weight:800;color:var(--on-dark);margin:.5rem 0 0}
.stena .zoznam .sk:first-child{margin-top:0}
.stena .rez{grid-column:1/6}
.stena .vrstva.folia .obrys{stroke:#7FA0B2;stroke-width:3;stroke-linecap:round}
.stena .vrstva .vzduch,.stena .vrstva .letokruh{fill:none;stroke:#7FA0B2;stroke-width:1.2;opacity:0;transition:opacity .6s var(--ease) .4s}
.stena .vrstva .letokruh{stroke:rgba(29,30,28,.35)}
.stena .vrstva.on .vzduch,.stena .vrstva.on .letokruh{opacity:1}
.stena .zlom{fill:none;stroke:#C9C6BC;stroke-width:1}
.stena .kotka,.stena text.kotka{font:700 9px var(--body);fill:#C9C6BC;letter-spacing:.04em}
.stena .cislo .vodic{fill:none;stroke:var(--med);stroke-width:1}
.stena .cislo circle{fill:var(--med)}
.stena .cislo text{font:800 10px var(--body);fill:var(--tma)}
.stena .zaklad text{font:700 9px var(--body);fill:#C9C6BC}
@media (max-width:900px){.stena .zoznam,.stena .rez{grid-column:1/-1}}

/* stena: izometrický model, vrstvy priletia na miesto */
.stena .vr{transition:filter .3s var(--ease)}
.stena .vr polygon{stroke:rgba(20,18,15,.35);stroke-width:.6;stroke-linejoin:round}
.stena .vr.active{filter:drop-shadow(0 0 10px rgba(217,162,107,.6))}
.stena .zoznam ol{counter-reset:v}
.stena .dalsie{display:grid;gap:.6rem;margin-top:.75rem}
.stena .dalsie .karta{padding:1rem 1.25rem}
.stena .dalsie strong{display:block;font-weight:800;font-size:1rem;color:var(--med)}
.stena .dalsie span{display:block;color:var(--on-dark-2);font-size:var(--t-small);margin-top:.25rem;line-height:1.5}

/* stena: posuvník rozložiť/poskladať (objaví sa, keď kresba príde na obrazovku) */
.stena .ovlad{margin-top:.9rem;display:grid;gap:.3rem;visibility:hidden;opacity:0;transition:opacity .5s var(--ease)}
.stena .ovlad.on{visibility:visible;opacity:1}
.stena .ovlad label{font-size:.8rem;font-weight:800;color:var(--on-dark)}
.stena .ovlad input[type=range]{width:100%;margin:0;height:30px;accent-color:var(--med);cursor:pointer;touch-action:pan-y}
.stena .ovlad .kraje{display:flex;justify-content:space-between;font-size:.72rem;color:var(--on-dark-2);letter-spacing:.02em}

/* skok na Konfigurátor: nadpis tesne pod lištou, aby bol vidno celý panel s tlačidlom */
#konfigurator{scroll-margin-top:calc(6.5rem - var(--section))}

/* realizácie: zoznam len z fotiek na tmavom podklade, popisok cez fotku */
.kremovy{background:var(--kremova);color:var(--text)}
.rz-mozaika{padding-block:0 var(--section)}
.rz-uvod{padding-bottom:1.75rem}
.rz-karta.foto{position:relative;border-radius:var(--r-lg);background:var(--tma-2);isolation:isolate}
.rz-karta.foto img{aspect-ratio:4/3;display:block}
.rz-karta.foto.velka{grid-column:span 2}.rz-karta.foto.velka img{aspect-ratio:16/9;height:100%}
.rz-karta.foto .rz-karta-t{position:absolute;inset:auto 0 0 0;padding:3.5rem 1.15rem 1.1rem;background:linear-gradient(to top,rgba(20,18,15,.88) 0%,rgba(20,18,15,.55) 55%,rgba(20,18,15,0) 100%);color:#fff;gap:.1rem}
.rz-karta.foto .rz-karta-t strong{font-size:1.15rem;letter-spacing:-.01em}
.rz-karta.foto .rz-karta-t span{color:rgba(255,255,255,.8);font-size:.88rem}
.rz-karta.foto .rz-kraj{color:var(--med);font-weight:700;font-size:.78rem;letter-spacing:.02em}
.rz-karta.foto .rz-znak{color:var(--med)}
.rz-karta.foto::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);pointer-events:none}
.rz-karta.foto:hover .rz-karta-t{background:linear-gradient(to top,rgba(20,18,15,.92) 0%,rgba(20,18,15,.6) 55%,rgba(20,18,15,0) 100%)}
.rz-karta.foto:focus-visible{outline:3px solid var(--med);outline-offset:3px}
.rz-filtre button{background:rgba(255,255,255,.06);color:var(--on-dark);border-color:var(--ram-dark)}
.rz-filtre button[aria-pressed="true"]{background:var(--med);color:var(--tma);border-color:var(--med)}
.rz-filtre .rz-pocet{color:var(--on-dark-2)}
@media (max-width:900px){.rz-karta.foto.velka{grid-column:1/-1}}
@media (max-width:560px){.rz-karta.foto.velka{grid-column:auto}.rz-karta.foto.velka img{aspect-ratio:4/3}}

/* detail realizácie: tmavá hlava s veľkou fotkou, obsah na svetlom, galéria na krémovom, video na tmavom */
.pod main.rz-detail{padding:0}
.rz-vrch{padding-block:calc(4.5rem + env(safe-area-inset-top) + 2rem) 0}
.rz-vrch .rz-cesta{color:var(--on-dark-2)}.rz-vrch .rz-cesta b{color:var(--on-dark)}.rz-vrch .rz-cesta a{border-color:var(--ram-dark)}.rz-vrch .rz-cesta a:hover{color:var(--med)}
.rz-vrch .rz-hlava{align-items:end;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.rz-vrch .rz-hlava h1{grid-column:1/8;font-size:var(--t-h1);color:var(--on-dark)}
.rz-vrch .rz-hlava h1 em{display:block;font-style:normal;font-weight:600;font-size:.42em;color:var(--med);margin-top:.35rem;letter-spacing:0}
.rz-vrch .rz-hlava .lede{grid-column:8/13;margin:0;color:var(--on-dark-2);font-size:var(--t-lede);max-width:44ch}
.rz-vrch .rz-hero{margin-bottom:calc(-1 * clamp(3rem,6vw,5.5rem));position:relative;z-index:1;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);background:var(--tma-2)}
.rz-obsah{padding-block:calc(clamp(3rem,6vw,5.5rem) + clamp(2rem,4vw,3rem)) var(--section)}
.rz-obsah .rz-telo{margin-top:0}
.rz-text p:first-child{font-size:1.08rem}
.rz-stavba{margin-top:clamp(2rem,4vw,3rem);padding:clamp(1.25rem,2.5vw,1.75rem);border-radius:var(--r-lg);background:var(--kremova);border:1.5px solid var(--ram)}
.rz-stavba h2{font-size:1.15rem;margin:0 0 .5rem}
.rz-stavba p{margin:0 0 .9rem;color:var(--text-2);font-size:.95rem}
.rz-stavba ul{margin:0 0 1rem;padding:0;list-style:none;display:grid;gap:.6rem}
.rz-stavba li{padding-left:1.1rem;position:relative;font-size:.95rem;line-height:1.5}
.rz-stavba li::before{content:"";position:absolute;left:0;top:.62em;width:.5rem;height:.5rem;border-radius:2px;background:var(--med)}
.rz-stavba-odkaz{font-weight:700;color:var(--med-tmava);text-decoration:none;border-bottom:2px solid var(--med)}
.rz-fakty{border-top:5px solid var(--med)}
.rz-galeria.kremovy,.rz-video.tmavy{margin-top:0;padding-block:var(--section)}
.rz-galeria h2 span{display:inline-grid;place-items:center;min-width:2rem;height:2rem;padding:0 .5rem;margin-left:.5rem;border-radius:99px;background:var(--med);color:var(--tma);font-size:.85rem;vertical-align:middle}
.rz-galeria.kremovy .rz-f{background:var(--biela)}
.rz-video.tmavy h2{color:var(--on-dark)}.rz-video.tmavy .note a{color:var(--on-dark-2)}
.rz-dalsie-pas{padding-block:clamp(1.5rem,3vw,2.5rem) var(--section)}
.rz-dalsie-pas .rz-dalsie{margin-top:0;padding-top:0;border-top:0}
@media (max-width:900px){.rz-vrch .rz-hlava h1,.rz-vrch .rz-hlava .lede{grid-column:1/-1}.rz-vrch .rz-hero{margin-bottom:calc(-1 * clamp(2rem,5vw,3rem))}.rz-obsah{padding-top:calc(clamp(2rem,5vw,3rem) + 1.5rem)}}

/* blog: zoznam článkov a článok */
.pod main.bl-zoznam,.pod main.bl-clanok{padding:0}
.bl-mozaika{padding-block:clamp(2rem,4vw,3rem) var(--section)}
.bl-karty{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,1.6vw,1.5rem)}
.bl-karta{display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:inherit;background:var(--biela);border-radius:var(--r-lg);overflow:hidden;border:1.5px solid var(--ram)}
.bl-karta figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--kremova)}
.bl-karta img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.bl-karta:hover img{transform:scale(1.04)}
.bl-karta-t{padding:1.1rem 1.25rem 1.25rem;display:grid;gap:.4rem;align-content:start}
.bl-karta-t strong{font-size:1.15rem;line-height:1.25;letter-spacing:-.01em}
.bl-karta-t p{margin:0;color:var(--text-2);font-size:.92rem;line-height:1.5}
.bl-karta-t small{color:var(--text-2);font-size:.8rem;margin-top:.2rem}
.bl-kat{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.02em;color:var(--med-tmava)}
.bl-karta.velka{grid-column:span 2;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:none}
.bl-karta.velka figure{aspect-ratio:auto;height:100%;min-height:18rem}
.bl-karta.velka .bl-karta-t{padding:1.75rem;align-content:center}.bl-karta.velka strong{font-size:1.5rem}
.bl-karta:focus-visible{outline:3px solid var(--med);outline-offset:3px}
.bl-hlava{max-width:64rem;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.bl-hlava .bl-kat{color:var(--med);margin-bottom:.6rem}
.bl-hlava h1{font-size:var(--t-h1);color:var(--on-dark);text-wrap:balance;margin:0 0 .9rem}
.bl-hlava .lede{margin:0;color:var(--on-dark-2);font-size:var(--t-lede);max-width:52ch}
.bl-meta{margin:.9rem 0 0;color:var(--on-dark-2);font-size:.85rem}
.bl-obsah{padding-block:calc(clamp(3rem,6vw,5.5rem) + clamp(2rem,4vw,3rem)) var(--section)}
.bl-obsah .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.bl-text{max-width:68ch;font-size:1.05rem;line-height:1.65}
.bl-text>p:first-child{font-size:1.15rem}
.bl-text h2{font-size:var(--t-h3);margin:2.2rem 0 .8rem;letter-spacing:-.01em}
.bl-text h3{font-size:1.15rem;margin:1.6rem 0 .5rem}
.bl-text p{margin:0 0 1rem}
.bl-text ul,.bl-text ol{margin:0 0 1.2rem;padding-left:1.4rem}.bl-text li{margin:.3rem 0}
.bl-text a{color:var(--med-tmava);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}
.bl-poznamka{margin:1.6rem 0;padding:1.1rem 1.4rem;border-left:4px solid var(--med);background:var(--kremova);border-radius:0 var(--r) var(--r) 0}
.bl-poznamka p{margin:0;font-weight:600}
.bl-obr{margin:1.8rem 0;border-radius:var(--r-lg);overflow:hidden;background:var(--kremova)}
.bl-obr img{display:block;width:100%;height:auto}
.bl-obr figcaption{padding:.6rem .9rem;font-size:.82rem;color:var(--text-2)}
.bl-tab{margin:1.4rem 0 1.8rem;overflow-x:auto;border:1.5px solid var(--ram);border-radius:var(--r-lg);background:var(--biela)}
.bl-tab table{border-collapse:collapse;width:100%;font-size:.95rem}
.bl-tab th,.bl-tab td{padding:.7rem .9rem;text-align:left;vertical-align:top;border-top:1px solid var(--ram)}
.bl-tab th{background:var(--kremova);font-size:.8rem;letter-spacing:.02em;color:var(--text-2);border-top:0}
.bl-tab td:first-child{font-weight:700;white-space:nowrap}
.bl-bok{position:sticky;top:6rem;display:grid;gap:1rem}
.bl-cta{padding:1.4rem;border-top:5px solid var(--med)}
.bl-cta strong{display:block;font-size:1.1rem;margin-bottom:.3rem}.bl-cta p{margin:0 0 1rem;color:var(--text-2);font-size:.92rem}.bl-cta .btn{width:100%}
.bl-dalsie{padding:1.4rem;display:grid;gap:.8rem}
.bl-dalsie strong{font-size:1rem}
.bl-dalsie a{display:grid;gap:.15rem;text-decoration:none;color:inherit;font-weight:700;line-height:1.3;padding-top:.8rem;border-top:1px solid var(--ram)}
.bl-dalsie a:hover{color:var(--med-tmava)}
@media (max-width:900px){.bl-karty{grid-template-columns:repeat(2,minmax(0,1fr))}.bl-karta.velka{grid-column:1/-1;grid-template-columns:1fr}.bl-karta.velka figure{aspect-ratio:16/9;min-height:0}.bl-obsah .wrap{grid-template-columns:1fr}.bl-bok{position:static}.bl-obsah{padding-top:calc(clamp(2rem,5vw,3rem) + 1.5rem)}}
@media (max-width:560px){.bl-karty{grid-template-columns:1fr}.bl-tab td:first-child{white-space:normal}}

.bl-text h2,.bl-text h3{text-wrap:initial}
.blog-domov .lede a{color:var(--med-tmava);font-weight:700}
.blog-domov .bl-karty{margin-top:0}

.nv .nv-warn{margin:.5rem 0 0;padding:.6rem .8rem;border-radius:var(--r);background:#FBEFD9;border:1.5px solid #E8C48A;color:#7A4E12;font-size:.85rem;line-height:1.45}

/* pás z montáže: na telefóne širšie karty a popisok pod fotkou, aby fotku neprekrýval */
@media (max-width:700px){
  .pas figure{flex-basis:min(78vw,22rem);aspect-ratio:auto;display:grid;grid-template-rows:auto auto;background:var(--biela);border:1.5px solid var(--ram)}
  .pas figure img{aspect-ratio:4/3;height:auto}
  .pas figcaption{position:static;box-shadow:none;border-radius:0;padding:.6rem .8rem .7rem;font-size:.82rem}
}

/* telefón: prvý pás = pevný tmavý panel s nadpisom a jedným tlačidlom, domček čistý pod ním */
@media (max-width:720px){
  .stage .poster,.stage video{top:auto;bottom:0;height:62svh;object-position:58% 62%;background-position:58% 62%}
  .stage .scrim{display:none}
  .band{top:calc(4.6rem + env(safe-area-inset-top));right:var(--gutter);max-width:none;text-shadow:none}
  .band::before{top:-100vh;bottom:-.9rem;left:-100vw;right:-100vw;background:var(--tma);opacity:1;mask-image:none;-webkit-mask-image:none}
  .band[data-band="1"] .bh{font-size:clamp(1.85rem,8.2vw,2.3rem);line-height:1.08}
  .band[data-band="1"] .bs{display:none}
  .band[data-band="1"] .row{margin-top:1rem}
  #heroPlay{display:none}
  .band[data-band="2"] .bh,.band[data-band="3"] .bh{font-size:1.7rem}
  .tip{bottom:calc(.9rem + env(safe-area-inset-bottom));font-size:.78rem;padding:.4rem .75rem .4rem .45rem}
}

@media (max-width:720px){
  .stage .poster,.stage video{object-position:58% 48%;background-position:58% 48%;height:64svh}
  .band[data-band="4"]{top:auto;bottom:calc(3.4rem + env(safe-area-inset-bottom))}
  .band[data-band="4"]::before{top:-1rem;bottom:-100vh;background:linear-gradient(to top,rgba(29,30,28,.96) 0,rgba(29,30,28,.96) calc(100% - 3rem),rgba(29,30,28,0) 100%)}
  .band[data-band="4"] .bh{font-size:1.7rem}
}

@media (max-width:720px){.stage{background:var(--tma)}}

.nv-scene{background:linear-gradient(#DFE8EF 0,#F2F3EC 45%,#9DB575 45%,#8CA867 100%)}

/* zoznam realizácií: mozaika na krémovom podklade (tmavý ostáva len úvod a mapa) – zladené s domovom */
.rz-mozaika.kremovy{padding-block:clamp(2rem,4vw,3rem) var(--section)}
.rz-mozaika.kremovy .rz-karta.foto{box-shadow:0 14px 34px -18px rgba(29,30,28,.45)}
.rz-mozaika.kremovy .rz-karta.foto::after{box-shadow:inset 0 0 0 1px rgba(29,30,28,.08)}

.brand .brand-znak{width:30px;height:30px;object-fit:contain;flex:0 0 auto}

/* modely (stena, strecha) vložené do článku */
.bl-clanok .stena{padding-block:var(--section)}
.bl-obsah.dalsia{padding-top:var(--section)}
.bl-obsah[hidden]{display:none}

/* päta: právne odkazy */
.site-footer .pravne-odkazy{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:1.5rem 0 .5rem;font-size:.82rem}
.site-footer .pravne-odkazy a{color:var(--on-dark-2);text-decoration:none;border-bottom:1px solid var(--ram-dark)}
.site-footer .pravne-odkazy a:hover{color:var(--on-dark)}
/* cookies lišta */
.cookies-lista{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;width:min(44rem,calc(100% - 2rem));display:flex;gap:1rem;align-items:center;padding:.9rem 1.1rem;border-radius:var(--r-lg);background:var(--tma);color:var(--on-dark);box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.cookies-lista p{margin:0;font-size:.85rem;line-height:1.45;color:var(--on-dark-2)}
.cookies-lista p a{color:var(--on-dark)}
.cookies-lista button{flex:0 0 auto;min-height:40px;padding:.5rem 1rem;border:0;border-radius:99px;background:var(--med);color:var(--tma);font:700 .9rem var(--body);cursor:pointer}
@media (max-width:700px){.cookies-lista{flex-direction:column;align-items:stretch;bottom:calc(5.2rem + env(safe-area-inset-bottom))}}
/* právne stránky */
.rz-vrch.bez-hero{padding-bottom:clamp(2rem,4vw,3rem)}
.pr-obsah{padding-top:clamp(2rem,4vw,3rem)}
.pr-text{max-width:76ch;font-size:1rem}
.pr-text h2{font-size:1.35rem;margin-top:2rem}
.pr-text h3{font-size:1.1rem}
.pr-pozn{color:var(--text-2);font-size:.92rem}
.pr-form{padding:1.25rem 1.5rem;border:1.5px solid var(--ram);border-radius:var(--r-lg);background:var(--biela);margin:0 0 1rem}
.pr-form p{margin:0 0 1rem;line-height:2}
.pr-riadok{display:inline-block;min-width:22rem;max-width:100%;border-bottom:1px solid var(--text-2);vertical-align:bottom;height:1.4em}
.pr-riadok.kratky{min-width:12rem}
@media print{.site-header,.site-footer,.mbar,.cookies-lista,.rz-cesta,.bl-meta,button{display:none!important}.rz-vrch{background:#fff;color:#000;padding:0}.rz-vrch h1{color:#000}.pr-form{border-color:#000}.pr-riadok{border-color:#000}}

.brand img{height:44px;width:auto;display:block}
@media (max-width:720px){.brand img{height:34px}}

/* model: karta s kresbou má výšku legendy, kresba v nej vyplní priestor; popisok a posuvník dole */
.stena .body{align-items:stretch}
.stena .rez{position:static;display:flex;flex-direction:column;gap:.5rem}
.stena .rez svg{flex:1 1 auto;min-height:0;width:100%;height:auto;max-height:none}
.stena .rez .poz{margin-top:auto}
@media (max-width:900px){.stena .rez{max-width:none}.stena .rez svg{max-height:70vw}}

/* šesť krokov sa musí zmestiť do stĺpca volieb bez posúvania */
.nv-hlava{min-height:40px;padding:.1rem 0}
.nv-krok{padding-bottom:.4rem}
.nv-opts{gap:.4rem}

/* model: oba stĺpce rovnako vysoké – kratšia legenda (strecha) sa rozloží na výšku kresby */
.stena .zoznam{display:grid;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;gap:.6rem}
.stena .zoznam ol{grid-auto-rows:minmax(0,1fr);align-content:stretch}
.stena .zoznam li{display:flex;flex-direction:column;justify-content:center}
.stena .zoznam .dalsie{margin-top:0}

.stena li::before{top:50%;transform:translateY(-50%)}
