 

 
.hero-full{
  position:relative; min-height:clamp(580px, 84vh, 900px);
  display:flex; align-items:flex-end;
  padding:clamp(80px,10vh,130px) 0 clamp(64px,9vh,110px);
  overflow:hidden;
}
.hero-bg{ position:absolute; inset:0; z-index:0; background:#17110A; }
.hero-bg img, .hero-bg video{
  width:100%; height:100%; object-fit:cover; display:block;
  animation:heroDrift 26s ease-in-out infinite alternate;
}
@keyframes heroDrift{ from{ transform:scale(1); } to{ transform:scale(1.06); } }

.hero-veil{
  position:absolute; inset:0;
  background:
    linear-gradient(to top,   rgba(14,10,5,.88) 0%, rgba(14,10,5,.42) 44%, rgba(14,10,5,.16) 100%),
    linear-gradient(to right, rgba(14,10,5,.62) 0%, rgba(14,10,5,.14) 62%, transparent 100%);
}

.hero-inner{
  position:relative; z-index:2; display:grid; gap:20px; justify-items:start;
  max-width:var(--wrap); width:100%;
}
.hero-full .script{ color:var(--gold-light); margin-bottom:-14px; }
.hero-full h1{
  font-size:clamp(2.3rem,5.4vw,4.7rem); line-height:1.02; color:#fff;
  font-weight:300; letter-spacing:.003em; max-width:16ch;
}
.hero-full .lead{
  color:rgba(255,253,249,.92); max-width:50ch;
  font-size:clamp(1.08rem,1.45vw,1.28rem);
}
.hero-full .hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:12px; }

 
.btn-clear{ border-color:rgba(255,253,249,.5); color:#fff; }

.btn-clear:hover{ border-color:#fff; }

.hero-scroll{
  position:absolute; left:50%; bottom:clamp(20px,4vh,40px);
  transform:translateX(-50%); width:26px; height:44px; z-index:3;
  border:1px solid rgba(255,253,249,.38); border-radius:14px;
}
.hero-scroll span{
  position:absolute; left:50%; top:9px; width:3px; height:8px; margin-left:-1.5px;
  background:rgba(255,253,249,.85); border-radius:2px;
  animation:scrollHint 2.2s var(--ease) infinite;
}
@keyframes scrollHint{
  0%{ transform:translateY(0); opacity:1; }
  70%{ transform:translateY(17px); opacity:0; }
  100%{ transform:translateY(0); opacity:0; }
}
@media (max-width:760px){ .hero-scroll{ display:none; } }
@media (prefers-reduced-motion:reduce){
  .hero-bg img, .hero-bg video{ animation:none; }
  .hero-scroll span{ animation:none; }
}

 
.scena{
  position:relative; padding:clamp(60px,9vw,140px) 0; overflow:hidden;
   
  --s-bg:        var(--paper);
  --s-ink:       var(--ink);
  --s-ink-2:     var(--ink-2);
  --s-ink-3:     var(--ink-3);
  --s-akcent:    var(--gold-dark);
  --s-linka:     var(--line);
  --s-linka-tl:  var(--line-soft);
  --s-plocha:    var(--ivory);
  --s-ramec:     0;
  background:var(--s-bg); color:var(--s-ink);
}

 
.scena[data-svet="luxus"]{
  --s-bg:       #F7F6F3;
  --s-ink:      #16161A;
  --s-ink-2:    #3F4046;
  --s-ink-3:    #6E7079;
  --s-akcent:   #6B5C3C;
  --s-linka:    rgba(22,22,26,.14);
  --s-linka-tl: rgba(22,22,26,.07);
  --s-plocha:   #FFFFFF;
  --s-ramec:    0;
}
 
.scena[data-svet="luxus"]::before{
  content:''; position:absolute; left:var(--gutter); top:0; bottom:0; width:1px;
  background:linear-gradient(to bottom, transparent, rgba(22,22,26,.1) 18%, rgba(22,22,26,.1) 82%, transparent);
}

 
.scena[data-svet="boho"]{
  --s-bg:       #F2EADC;
  --s-ink:      #2A1F13;
  --s-ink-2:    #4E4032;
  --s-ink-3:    #786752;
  --s-akcent:   #82492F;
  --s-linka:    rgba(42,31,19,.16);
  --s-linka-tl: rgba(42,31,19,.08);
  --s-plocha:   #FBF6EC;
  --s-ramec:    3px;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(151,87,58,.06), transparent 44%),
    radial-gradient(circle at 88% 76%, rgba(126,120,80,.06), transparent 48%);
}

.scena-grid{
  position:relative; display:grid; grid-template-columns:1.06fr 1fr;
  gap:clamp(34px,5vw,90px); align-items:center;
}
.scena.is-flipped .scena-grid{ direction:rtl; }
.scena.is-flipped .scena-grid > *{ direction:ltr; }

 
.scena-media{ position:relative; }
.scena-figure{
  position:relative; aspect-ratio:4/3; overflow:hidden;
  background:var(--s-plocha); border-radius:var(--s-ramec);
  box-shadow:0 30px 70px rgba(20,14,8,.16);
}
.scena-figure img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 1.4s var(--ease);
}
.scena-media:hover .scena-figure img{ transform:scale(1.04); }

 
.scena-figure-2{
  position:absolute; right:-20px; bottom:-32px; width:37%; max-width:220px;
  aspect-ratio:1; overflow:hidden; border:7px solid var(--s-bg);
  border-radius:var(--s-ramec);
  box-shadow:0 18px 40px rgba(20,14,8,.15); background:var(--s-plocha);
}
.scena.is-flipped .scena-figure-2{ right:auto; left:-20px; }
.scena-figure-2 img{ width:100%; height:100%; object-fit:cover; }

.scena-media .orn-sprig{
  position:absolute; left:-42px; top:-36px; width:86px; height:86px;
  transform:scaleX(-1) rotate(-10deg);
}
.scena.is-flipped .scena-media .orn-sprig{ left:auto; right:-42px; transform:rotate(10deg); }
 
.scena[data-svet="luxus"] .orn-sprig{ display:none; }

 
.scena-text{ display:grid; gap:18px; align-content:start; }
.scena-text .eyebrow{ color:var(--s-akcent); }
.scena-text h2{
  font-size:clamp(2rem,3.6vw,3.2rem); line-height:1.06; color:var(--s-ink);
}
.scena[data-svet="luxus"] .scena-text h2{
  font-weight:300; letter-spacing:.005em;
}
.scena-sub{ color:var(--s-akcent); font-size:1.235rem; font-weight:500; margin-top:-8px; }
.scena-prose{ color:var(--s-ink-2); font-size:1rem; line-height:1.82; max-width:56ch; }
.scena-prose p{ margin-bottom:.92em; }
.scena-prose p:last-child{ margin-bottom:0; }

 
.cenik{ display:grid; border-top:1px solid var(--s-linka); margin-top:6px; }
.cenik-row{
  display:flex; align-items:baseline; justify-content:space-between; gap:20px;
  padding:16px 0; border-bottom:1px solid var(--s-linka-tl);
  transition:padding-left .35s var(--ease);
}
.cenik-row:hover{ padding-left:8px; }
.cenik-n{ font-size:1rem; color:var(--s-ink); line-height:1.4; }
.cenik-n small{ display:block; font-size:13px; color:var(--s-ink-3); margin-top:3px; }
.cenik-p{
  font-family:var(--head); font-size:1.55rem; color:var(--s-ink); font-weight:500;
  white-space:nowrap; font-variant-numeric:tabular-nums; text-align:right;
}
.cenik-p small{
  display:block; font-family:var(--body); font-size:13px; font-weight:400;
  letter-spacing:.14em; text-transform:uppercase; color:var(--s-ink-3);
}
.cenik-row.is-tip{ position:relative; }
.cenik-row.is-tip .cenik-n small{ color:var(--s-akcent); font-weight:500; }

.scena-actions{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:10px; }
.scena-od{ font-size:15px; color:var(--s-ink-3); }
.scena-od b{ font-family:var(--head); font-size:1.235rem; color:var(--s-ink); font-weight:500; }

 
.scena[data-svet="luxus"] .btn-primary{
  background:#16161A; border-color:#16161A; color:#fff;
}

.scena[data-svet="boho"] .btn-primary{
  background:#97573A; border-color:#97573A; color:#fff;
}


@media (max-width:920px){
  .scena-grid{ grid-template-columns:1fr; gap:36px; }
  .scena.is-flipped .scena-grid{ direction:ltr; }
  .scena-media{ order:-1; }
  .scena-figure-2{ width:31%; right:-10px; bottom:-22px; border-width:5px; }
  .scena.is-flipped .scena-figure-2{ left:auto; right:-10px; }
  .scena-media .orn-sprig{ display:none; }
  .scena[data-svet="luxus"]::before{ display:none; }
}

 
.schema-wrap{
  position:relative;
  margin-top:clamp(50px,7vw,90px); padding-top:clamp(36px,4.5vw,58px);
  border-top:1px solid var(--s-linka);
}
.schema-head{ display:grid; gap:12px; justify-items:center; text-align:center; margin-bottom:28px; }
.schema-head .eyebrow{ color:var(--s-akcent); }
.schema-head p{ max-width:64ch; color:var(--s-ink-2); font-size:1rem; line-height:1.72; }
.schema-box{
  background:var(--s-plocha); border:1px solid var(--s-linka-tl);
  border-radius:var(--s-ramec);
  padding:clamp(20px,3vw,38px); overflow-x:auto;
}
.schema{ display:block; width:100%; min-width:640px; height:auto; }

.schema .s-zem{ stroke:var(--s-linka); stroke-width:1; stroke-dasharray:3 4; }
.schema .s-kota line, .schema .s-kota path{ stroke:var(--s-akcent); stroke-width:1; fill:none; }
.schema .s-kota text{
  font-family:'Jost',sans-serif; font-size:13px; fill:var(--s-akcent); letter-spacing:.06em;
}
.schema .s-kota-du line, .schema .s-kota-du path{ stroke-width:1.6; }
.schema .s-kota-du text{ font-weight:500; font-size:15px; }
.schema .s-popis{
  font-family:'Jost',sans-serif; font-size:13px; fill:var(--s-ink-3);
  letter-spacing:.11em; text-transform:uppercase;
}
.schema .s-popis-du{ fill:var(--s-akcent); font-weight:500; }
.schema .s-sipka{ stroke:var(--s-akcent); stroke-width:1.5; fill:none; }
.schema .s-stan{ stroke:var(--s-akcent); stroke-width:1.4; fill:none; opacity:.8; }
.schema .s-uroven{
  font-family:'Cormorant Garamond',serif; font-size:21px; fill:var(--s-ink); font-weight:500;
}
.schema .s-detail{ font-family:'Jost',sans-serif; font-size:13px; fill:var(--s-ink-3); }
.schema .s-pribyva{ font-family:'Jost',sans-serif; font-size:13px; fill:var(--s-akcent); }

.schema-params{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1px; background:var(--s-linka-tl);
  border:1px solid var(--s-linka-tl); border-top:0; margin:0;
}
.schema-params > div{ background:var(--s-plocha); padding:16px 20px; display:grid; gap:4px; }
.schema-params dt{
  font-size:13px; letter-spacing:.15em; text-transform:uppercase; color:var(--s-ink-3);
}
.schema-params dd{ margin:0; font-size:1.02rem; color:var(--s-ink); }

 
.namitky{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(20px,2.6vw,32px); }
@media (max-width:760px){ .namitky{ grid-template-columns:1fr; } }
.namitka{
  background:var(--ivory); border:1px solid var(--line-soft);
  border-left:2px solid var(--gold);
  padding:clamp(24px,3vw,34px); display:grid; gap:11px; align-content:start;
  transition:border-left-color .4s ease, transform .4s var(--ease);
}
.namitka:hover{ border-left-color:var(--terra); transform:translateX(3px); }
.namitka h3{ font-size:1.529rem; color:var(--ink); }
.namitka p{ color:var(--ink-2); font-size:1rem; line-height:1.7; }
.namitka b{ color:var(--ink); font-weight:500; }

 
.zaver{
  background:var(--ink); color:rgba(250,246,239,.9);
  padding:clamp(60px,9vw,120px) 0; text-align:center; position:relative;
}
.zaver .orn-div{ color:var(--gold-light); margin-bottom:28px; }
.zaver h2{ font-size:clamp(2rem,4vw,3.3rem); color:var(--paper); margin-bottom:18px; font-weight:300; }
.zaver p{ max-width:56ch; margin:0 auto; color:rgba(250,246,239,.8); font-size:1rem; line-height:1.74; }
.zaver-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:34px; }
.zaver .btn-clear{ border-color:rgba(250,246,239,.38); color:var(--paper); }

.zaver .btn-clear:hover{ border-color:var(--paper); }
