.security-note {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: .35fr 1.65fr;
  gap: 4vw;
  align-items: start;
  margin-top: 26px;
  padding: 30px 32px;
  background: #1e2a27;
  color: white;
  border-left: 4px solid var(--gold);
}
.security-note span { color: var(--gold); text-transform: uppercase; letter-spacing: .14em; font-size: .7rem; font-weight: 600; }
.security-note p { margin: 0; max-width: 970px; font-family: 'Playfair Display'; font-size: 1.45rem; line-height: 1.45; color: #edf0ee; }
.state-key { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.state-key span { padding: 7px 11px; border: 1px solid rgba(255,255,255,.22); font-size: .62rem; text-transform: uppercase; letter-spacing: .1em; }
.state-key .real { color: #d5dcda; background: rgba(255,255,255,.06); }
.state-key .vision { color: var(--ink); background: var(--gold); border-color: var(--gold); }
#family .before-after figure:last-child img { object-position: center center; }
#craft .business-visuals .wide { grid-column: 1 / -1; height: 330px; }
.value-story { display: grid; grid-template-columns: .72fr 1.28fr; gap: 7vw; margin-top: 88px; padding: 66px; background: #17211f; color: white; }
.value-story .eyebrow { color: var(--gold); }
.value-story h2 { font-size: clamp(2.6rem, 4.7vw, 5.5rem); margin: 0; line-height: .98; }
.value-copy h3 { font-family: 'Playfair Display'; font-size: 2.25rem; line-height: 1.15; font-weight: 500; margin: 0 0 24px; }
.value-copy p { color: #c4cbc8; }
.value-copy strong { color: white; }
.market-context { display: flex; align-items: center; gap: 22px; margin-top: 34px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.market-context b { font-family: 'Playfair Display'; font-size: 3.5rem; font-weight: 500; color: var(--gold); }
.market-context span { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.market-context small { display: block; margin-top: 5px; color: #9da7a3; text-transform: none; letter-spacing: 0; }
.source-link { display: inline-block; margin-top: 18px; color: var(--gold); border-bottom: 1px solid rgba(201,168,106,.6); font-size: .69rem; text-transform: uppercase; letter-spacing: .09em; }
.value-charts { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 34px; }
.value-card { padding: 34px; background: #f1f0e9; color: var(--ink); }
.value-card-head span { display: block; color: #806838; text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; }
.value-card-head b { display: block; max-width: 520px; margin-top: 8px; font-family: 'Playfair Display'; font-size: 1.75rem; line-height: 1.18; font-weight: 500; }
.value-card-head small { display: block; margin-top: 8px; color: #6b716e; font-size: .75rem; }
.growth-story { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; min-height: 190px; margin-top: 28px; padding: 30px 0; border-top: 1px solid #d5d3c9; border-bottom: 1px solid #d5d3c9; }
.growth-year { display: flex; flex-direction: column; }
.growth-year small { color: #7b807c; font-size: .72rem; letter-spacing: .12em; }
.growth-year strong { font-family: 'Playfair Display'; font-size: 3rem; line-height: 1; font-weight: 500; }
.growth-year em { margin-top: 8px; color: #777d79; font-size: .68rem; font-style: normal; }
.growth-year.finish { text-align: right; }
.growth-year.finish strong { color: #9b7839; }
.growth-bridge { display: grid; place-items: center; text-align: center; }
.growth-bridge span { padding: 8px 14px; border: 1px solid #b79454; border-radius: 999px; background: #fffdf7; color: #745823; font-weight: 700; }
.growth-bridge i { display: block; width: 100%; height: 2px; margin: 15px 0 9px; background: linear-gradient(90deg,#aeb4af,#b79454); position: relative; }
.growth-bridge i::after { content: ''; position: absolute; right: 0; top: 50%; width: 9px; height: 9px; border-top: 2px solid #b79454; border-right: 2px solid #b79454; transform: translateY(-50%) rotate(45deg); }
.growth-bridge small { color: #727874; font-size: .68rem; }
.plain-language { margin: 22px 0 0; color: #555d59; font-size: .88rem; line-height: 1.65; }
.plain-language b { color: #17211f; }
.simple-bars { display: grid; gap: 22px; margin-top: 30px; }
.simple-bar > div { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.simple-bar strong { font-size: .86rem; }
.simple-bar b { color: #4f5753; font-size: .82rem; }
.simple-bar i { position: relative; display: block; height: 12px; margin-top: 9px; overflow: hidden; border-radius: 999px; background: #d9d9d2; }
.simple-bar i::after { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--bar); border-radius: inherit; background: #89918c; }
.simple-bar.featured { padding: 16px; margin: -4px -16px 0; background: #17211f; color: white; }
.simple-bar.featured b { color: #e6c98c; }
.simple-bar.featured i { background: #35413e; }
.simple-bar.featured i::after { background: linear-gradient(90deg,#b28b48,#e0c486); }
.simple-bar.featured small { display: block; margin-top: 8px; color: #bfc6c2; font-size: .66rem; text-transform: uppercase; letter-spacing: .1em; }
.comparison-callout { margin-top: 26px; padding-top: 20px; border-top: 1px solid #d5d3c9; }
.comparison-callout strong, .comparison-callout span { display: block; }
.comparison-callout strong { font-family: 'Playfair Display'; font-size: 1.2rem; color: #806838; font-weight: 600; }
.comparison-callout span { margin-top: 8px; color: #5f6662; font-size: .82rem; line-height: 1.55; }
.buyer-summary { grid-column: 1 / -1; display: grid; grid-template-columns: .8fr 1fr 1fr 1fr; gap: 0; background: #101816; color: white; border-top: 1px solid rgba(255,255,255,.15); }
.buyer-summary > span, .buyer-summary > div { padding: 26px 28px; }
.buyer-summary > span { color: var(--gold); text-transform: uppercase; letter-spacing: .11em; font-size: .68rem; }
.buyer-summary > div { border-left: 1px solid rgba(255,255,255,.12); }
.buyer-summary b, .buyer-summary small { display: block; }
.buyer-summary b { font-family: 'Playfair Display'; font-size: 1.05rem; font-weight: 500; }
.buyer-summary small { margin-top: 7px; color: #aeb7b3; font-size: .72rem; line-height: 1.45; }
@media (max-width: 800px) {
  .location-head, .map-layout, .value-story, .security-note { grid-template-columns: 1fr; }
  .value-story { margin-top: 54px; padding: 38px 24px; }
  .value-copy h3 { font-size: 1.8rem; }
  .market-context { align-items: flex-start; }
  .security-note { padding: 24px; }
  .security-note p { font-size: 1.2rem; }
  .value-charts { grid-template-columns: 1fr; }
  .value-card { padding: 26px 20px; }
  .value-card-head b { font-size: 1.45rem; }
  .growth-story { grid-template-columns: 1fr; gap: 14px; text-align: center; }
  .growth-year.finish { text-align: center; }
  .growth-bridge i { max-width: 180px; }
  .buyer-summary { grid-template-columns: 1fr; }
  .buyer-summary > div { border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
  #craft .business-visuals .wide { grid-column: auto; height: 245px; }
}

/* Interaktivní půdorysy: více fotografií a přehledné dotykové ovládání */
.plan-canvas>img{display:block;width:100%;height:auto}
.room-preview{overflow:hidden;padding:10px}
.room-preview-stage{position:relative;padding:0!important}
.room-preview-stage img{display:block;width:100%;height:230px;object-fit:cover;background:#e7e1d6}
.room-preview-caption{padding:12px 8px 5px!important}
.room-preview-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.58);border-radius:50%;background:rgba(16,22,21,.78);color:#fff;font:400 1.75rem/1 Arial,sans-serif;cursor:pointer;backdrop-filter:blur(8px)}
.room-preview-nav:hover,.room-preview-nav:focus-visible{background:var(--gold);color:var(--ink);outline:2px solid #fff;outline-offset:2px}
.room-preview-nav.prev{left:10px}.room-preview-nav.next{right:10px}
.room-preview-nav[hidden]{display:none}
.room-preview-count{position:absolute;right:10px;bottom:10px;padding:5px 8px;border-radius:999px;background:rgba(16,22,21,.78);color:#fff;font:600 .68rem Manrope,Arial,sans-serif;letter-spacing:.06em}
.room-hotspot span{pointer-events:none}.room-hotspot[style*="23.5%"]{font-size:.51rem}
.mobile-room-list{display:none}
.plan-place-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0 12px 12px}
.plan-place-trigger{min-height:42px;padding:8px 14px;border:1px solid rgba(138,109,56,.4);border-radius:999px;background:#fff;color:var(--ink);font:600 .75rem Manrope,Arial,sans-serif;cursor:pointer}
.plan-place-trigger:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--gold)}
.plan-place-trigger:hover,.plan-place-trigger:focus-visible,.plan-place-trigger.active{background:var(--ink);color:#fff;outline:0}

@media(max-width:800px){
  .plan-card{padding:10px;overflow:visible}
  .drawing-frame{overflow:hidden}
  .drawing-label{align-items:flex-start;gap:10px;padding:14px}
  .drawing-label>a{width:100%;margin-top:4px;text-align:center}
  .plan-canvas{display:flex;flex-direction:column}
  .plan-canvas>img{order:1}
  .room-hotspot{display:none}
  .mobile-room-list{order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 0 0}
  .mobile-room-button{display:flex;align-items:center;gap:9px;min-width:0;min-height:52px;padding:8px 10px;border:1px solid rgba(138,109,56,.32);background:#fff;color:var(--ink);text-align:left;cursor:pointer}
  .mobile-room-button strong{display:grid;flex:0 0 38px;place-items:center;min-height:36px;border-radius:50%;background:var(--gold);font-size:.68rem}
  .mobile-room-button span{overflow:hidden;font-size:.72rem;line-height:1.25;text-overflow:ellipsis}
  .mobile-room-button.active{border-color:var(--ink);background:#f4ede2}
  .plan-place-list{order:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 0;padding:0}
  .plan-place-trigger{min-width:0;padding:8px 5px;font-size:.67rem}
  .plan-place-trigger:before{width:6px;height:6px;margin-right:5px}
  .room-preview{order:4;position:relative;right:auto;bottom:auto;display:none;width:100%;margin-top:12px;padding:8px}
  .plan-canvas.has-preview .room-preview{display:block}
  .room-preview-stage img{height:auto;max-height:68vh;aspect-ratio:4/3;object-fit:cover}
  .room-preview-caption{padding:10px 6px 5px!important}
  .room-preview b{font-size:1.15rem;line-height:1.25}
  .room-preview-nav{width:44px;height:44px}
  .plan-canvas:after{display:none!important}
}

@media(max-width:420px){
  .mobile-room-list{grid-template-columns:1fr 1fr}
  .mobile-room-button{min-height:50px;padding:7px 8px}
  .mobile-room-button strong{flex-basis:34px;min-height:34px;font-size:.62rem}
  .plan-place-list{grid-template-columns:1fr}
}

/* Kompletní galerie skutečných fotografií */
.gallery-grid--complete{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:260px;gap:14px}
.gallery-grid--complete img{grid-column:auto!important;grid-row:auto!important;height:100%;margin:0!important;border-radius:2px}
.gallery-grid--complete img:nth-child(1),.gallery-grid--complete img:nth-child(4),.gallery-grid--complete img:nth-child(8),.gallery-grid--complete img:nth-child(16),.gallery-grid--complete img:nth-child(27){grid-column:span 2!important;grid-row:span 2!important}
.gallery-grid--complete img:nth-child(6),.gallery-grid--complete img:nth-child(12),.gallery-grid--complete img:nth-child(23),.gallery-grid--complete img:nth-child(31){grid-column:span 2!important}
.gallery-grid--complete img:last-child{grid-column:span 4!important}

@media(max-width:900px){
  .gallery-grid--complete{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:230px;gap:10px}
  .gallery-grid--complete img:nth-child(n){grid-column:auto!important;grid-row:auto!important}
  .gallery-grid--complete img:nth-child(1),.gallery-grid--complete img:nth-child(4),.gallery-grid--complete img:nth-child(8),.gallery-grid--complete img:nth-child(16),.gallery-grid--complete img:nth-child(27){grid-column:span 2!important;grid-row:span 2!important}
}

@media(max-width:480px){
  .gallery-grid--complete{grid-template-columns:1fr;grid-auto-rows:250px}
  .gallery-grid--complete img:nth-child(n){grid-column:auto!important;grid-row:auto!important}
}
