/* =========================================================
   VILADŮM OKRUŽNÍ - Design system
   Barvy: #152F22 zelená · #C8B383 zlatá · #FEFEFE bílá
   Písmo: Space Grotesk (nadpisy) + Inter (text)
   Pravidlo: nikdy dlouhá pomlčka, jen spojovník "-"
   ========================================================= */

:root{
  --green:#152F22;
  --green-2:#1E4030;
  --green-3:#2A5540;
  --green-deep:#0F231A;
  --gold:#C8B383;
  --gold-2:#D8C79B;
  --gold-dark:#9C824F;      /* tmavší zlatá pro text na světlém - WCAG AA */
  --white:#FEFEFE;
  --cream:#F5EFE2;
  --sand:#E7DCC5;
  --sand-2:#EDE4D0;
  --ink:#20261D;
  --muted:#525A4C;          /* ztmaveno pro AA kontrast na krémové */
  --line:rgba(21,47,34,.14);
  --line-light:rgba(200,179,131,.25);

  --serif:'Space Grotesk','Inter',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --sans:'Inter',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;

  --container:1180px;
  --measure:720px;          /* max šířka delších textů */
  --radius:2px;
  --shadow:0 24px 60px -34px rgba(15,35,26,.4);
  --shadow-sm:0 8px 24px -16px rgba(15,35,26,.4);
  --ease:cubic-bezier(.4,0,.2,1);
  --header-h:92px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;font-family:var(--sans);font-weight:400;color:var(--ink);
  background:var(--white);line-height:1.7;font-size:16.5px;letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body.menu-open{overflow:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
button{font-family:inherit}

/* ---------- Focus (přístupnost) ---------- */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.skip-link{position:absolute;left:-999px;top:0;z-index:200;background:var(--gold);color:var(--green);
  padding:.8em 1.4em;font-weight:500;letter-spacing:.04em}
.skip-link:focus{left:8px;top:8px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Typografie ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.12;margin:0;color:var(--green);letter-spacing:-.03em;text-wrap:balance}
h1{font-size:clamp(2.4rem,5.4vw,4rem);font-weight:600}
h2{font-size:clamp(1.85rem,3.8vw,2.8rem)}
h3{font-size:clamp(1.25rem,2.2vw,1.7rem);letter-spacing:-.02em}
p{margin:0 0 1rem}
.eyebrow{font-family:var(--sans);font-weight:500;font-size:.76rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold-dark);display:inline-block;margin-bottom:1rem}
.eyebrow--light{color:var(--gold)}
.lead{font-size:1.14rem;color:var(--muted);max-width:var(--measure)}
.prose p{max-width:var(--measure)}
.serif-quote{font-family:var(--sans);font-style:italic;font-weight:400;font-size:1.35rem;letter-spacing:-.01em;color:var(--gold)}

/* ---------- Layout ---------- */
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.container--narrow{max-width:860px}
.section{padding:clamp(60px,8vw,112px) 0}
.section--green{background:var(--green);color:var(--cream)}
.section--green h2,.section--green h3,.section--green h4{color:var(--white)}
.section--sand{background:var(--sand)}
.section--cream{background:var(--cream)}
.section--tight{padding:clamp(44px,6vw,72px) 0}
.center{text-align:center}
.section-head{max-width:var(--measure);margin:0 auto clamp(36px,5vw,56px)}
.section-head.left{margin-left:0;margin-right:0;text-align:left}
.divider-leaf{width:52px;height:2px;background:var(--gold);margin:1.2rem auto 0}
.section-head.left .divider-leaf{margin-left:0}
.stack-sm>*+*{margin-top:.6rem}

/* ---------- Motiv: linka Vltavy ---------- */
.wave{display:block;width:100%;height:38px;color:var(--gold);overflow:hidden;line-height:0}
.wave svg{width:100%;height:100%}
.wave path{fill:none;stroke:currentColor;stroke-width:1.4;opacity:.55;
  stroke-dasharray:2600;stroke-dashoffset:2600;transition:stroke-dashoffset 2.4s var(--ease)}
.wave.in path{stroke-dashoffset:0}
.wave--faint path{opacity:.3}
@media (prefers-reduced-motion:reduce){.wave path{stroke-dashoffset:0;transition:none}}

/* ---------- Tlačítka (hranatá, zlatá) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:44px;
  font-family:var(--sans);font-weight:500;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.95em 1.9em;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;
  transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);
  white-space:nowrap}
.btn--gold{background:var(--gold);color:var(--green)}
.btn--gold:hover{background:var(--gold-2);transform:translateY(-2px);box-shadow:0 14px 30px -16px rgba(200,179,131,.9)}
.btn--outline{background:transparent;color:var(--green);border-color:var(--green)}
.btn--outline:hover{background:var(--green);color:var(--white)}
.btn--ghost-light{background:transparent;color:var(--white);border-color:rgba(254,254,254,.45)}
.btn--ghost-light:hover{background:var(--gold);color:var(--green);border-color:var(--gold)}
.btn--sm{min-height:38px;padding:.6em 1.2em;font-size:.72rem}
.btn .arrow{transition:transform .25s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){.btn,.btn .arrow{transition:none}.btn:hover{transform:none}}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- Header / Nav ---------- */
/* Trvale neprůhledná zelená hlavička (stejná před i po scrollu, bez poskakování) */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(15,35,26,.98);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(200,179,131,.16);
  transition:box-shadow .3s var(--ease)}
.site-header.solid,.site-header.scrolled{box-shadow:0 6px 18px -16px rgba(0,0,0,.5)}
.nav{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.nav__logo{display:flex;align-items:center;z-index:120}
.nav__logo img{height:66px;width:auto}
.nav__menu{display:flex;align-items:center;gap:clamp(16px,2.2vw,34px)}
.nav__link{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(254,254,254,.82);
  font-weight:400;position:relative;padding:8px 0;transition:color .2s var(--ease)}
.nav__link::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:1px;background:var(--gold);transition:width .28s var(--ease)}
.nav__link:hover,.nav__link[aria-current="page"]{color:var(--white)}
.nav__link:hover::after,.nav__link[aria-current="page"]::after{width:100%}
.nav__cta{margin-left:6px}
.nav__toggle{display:none;background:none;border:0;cursor:pointer;padding:10px;flex-direction:column;gap:5px;z-index:120}
.nav__toggle span{display:block;width:26px;height:2px;background:var(--white);transition:.3s var(--ease)}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:min(88vh,760px);display:flex;align-items:flex-end;color:var(--white);overflow:hidden}
.hero--short{min-height:min(56vh,460px)}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media img{width:100%;height:100%;object-fit:cover}
/* jemný lokální gradient - hlavně v oblasti textu (dole vlevo), ne plošně tmavý */
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(103deg,rgba(15,35,26,.8) 0%,rgba(15,35,26,.5) 34%,rgba(15,35,26,.12) 62%,rgba(15,35,26,0) 100%),
             linear-gradient(to top,rgba(15,35,26,.72) 0%,rgba(15,35,26,.12) 40%,rgba(15,35,26,0) 70%)}
.hero--short::after{background:linear-gradient(to top,rgba(15,35,26,.78) 0%,rgba(15,35,26,.34) 55%,rgba(15,35,26,.2) 100%)}
.hero__inner{padding-bottom:clamp(48px,7vw,84px);padding-top:calc(var(--header-h) + 60px);max-width:760px}
.hero h1{color:var(--white);text-shadow:0 2px 26px rgba(0,0,0,.28)}
.hero__sub{font-size:1.12rem;font-weight:400;max-width:54ch;margin:1.2rem 0 0;color:rgba(255,255,255,.94)}
.hero__quote{margin:1.4rem 0 1.8rem;padding-left:1rem;border-left:2px solid var(--gold)}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:.4rem}
.hero__badge{position:absolute;bottom:16px;right:clamp(16px,4vw,32px);z-index:1;font-size:.64rem;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.22);padding:.45em .9em;border-radius:var(--radius)}
.hero--short .hero__badge{bottom:12px}

/* ---------- Fact bar ---------- */
.factbar{background:var(--green-deep);color:var(--cream)}
.factbar__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{padding:clamp(20px,3vw,34px) clamp(16px,2vw,28px);border-left:1px solid rgba(200,179,131,.16)}
.fact:first-child{border-left:0}
.fact__k{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2rem);color:var(--gold);font-weight:600;line-height:1}
.fact__v{font-size:.92rem;color:rgba(245,239,226,.82);margin-top:.35rem}

/* ---------- Media / placeholder ---------- */
.media{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--sand-2)}
.media img{width:100%;height:100%;object-fit:cover}
.media--tall{aspect-ratio:3/4}
.media--wide{aspect-ratio:16/10}
.media--square{aspect-ratio:1/1}
.media__tag{position:absolute;left:12px;bottom:12px;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--white);background:rgba(15,35,26,.6);padding:.4em .8em;border-radius:2px}

/* ---------- Tiles (číslo + jemná linka) ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.tile{padding:clamp(20px,3vw,34px) clamp(20px,3vw,36px);border-left:1px solid var(--line)}
.tile:first-child{border-left:0;padding-left:0}
.tile__num{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3rem);color:var(--gold-dark);line-height:1;font-weight:600}
.tile h3{margin:.5rem 0 .4rem;font-size:1.22rem}
.tile p{margin:0;color:var(--muted);font-size:.95rem}

/* ---------- Split / redakční ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.split--reverse .split__media{order:2}
.split__body h2{margin-bottom:1rem}
.split__media{position:relative}
.pullfact{margin-top:1.4rem;padding:1.1rem 1.3rem;border-left:3px solid var(--gold);background:rgba(200,179,131,.1)}
.pullfact strong{color:var(--green);font-weight:600}
.section--green .pullfact strong{color:var(--gold)}

/* ---------- Features (asymetrický grid) ---------- */
.features{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line-light);border:1px solid var(--line-light);border-radius:var(--radius);overflow:hidden}
.feature{background:var(--green);padding:clamp(22px,2.6vw,32px)}
.feature__icon{width:42px;height:42px;color:var(--gold);margin-bottom:.9rem}
.feature__icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.feature h3{font-size:1.22rem;margin-bottom:.5rem;color:var(--white)}
.feature p{margin:0;color:rgba(245,239,226,.82);font-size:.95rem}
/* rozložení: #1 velké, #4 široké */
.feature--1{grid-column:span 3;grid-row:span 1}
.feature--2{grid-column:span 3}
.feature--3{grid-column:span 2}
.feature--4{grid-column:span 2}
.feature--5{grid-column:span 2}
.feature--6{grid-column:span 3}
.feature--7{grid-column:span 3}
.feature--hl{background:var(--green-2)}
.feature--hl h3{font-size:1.5rem}

/* ---------- Byt selektor (homepage + ceník sdílené prvky) ---------- */
.filters{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;margin-bottom:1.6rem}
.filter{display:flex;flex-direction:column;gap:.5rem}
.filter__label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:38px;padding:.4em 1em;border:1px solid var(--line);background:var(--white);color:var(--ink);
  font-size:.82rem;font-weight:500;border-radius:2px;cursor:pointer;transition:all .2s var(--ease)}
.chip:hover{border-color:var(--gold)}
.chip[aria-pressed="true"]{background:var(--green);color:var(--white);border-color:var(--green)}
.filters__meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:1rem}
.result-count{font-size:.9rem;color:var(--muted)}
.result-count strong{color:var(--green);font-weight:600}
.link-reset{background:none;border:0;color:var(--gold-dark);font-size:.85rem;cursor:pointer;text-decoration:underline;padding:6px}

.unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.unit-card{display:flex;flex-direction:column;gap:.5rem;padding:1.2rem 1.3rem;border:1px solid var(--line);
  border-radius:var(--radius);background:var(--white);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.unit-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:var(--gold)}
.unit-card__top{display:flex;justify-content:space-between;align-items:baseline}
.unit-card__no{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--green)}
.unit-card__disp{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);font-weight:600}
.unit-card__meta{font-size:.9rem;color:var(--muted)}
.unit-card__meta span{display:block}
.unit-card .btn{margin-top:.4rem}
.unit-empty{padding:2rem;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}

/* ---------- Timeline ---------- */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:1.5rem;position:relative}
.timeline::before{content:"";position:absolute;top:9px;left:8%;right:8%;height:1px;background:rgba(200,179,131,.4)}
.tl__item{position:relative;text-align:center;padding-top:30px}
.tl__dot{position:absolute;top:2px;left:50%;transform:translateX(-50%);width:15px;height:15px;border-radius:50%;
  background:var(--green);border:2px solid var(--gold)}
.tl__item.is-active .tl__dot{background:var(--gold);box-shadow:0 0 0 5px rgba(200,179,131,.22)}
.tl__date{font-family:var(--serif);font-size:1.4rem;color:var(--gold);display:block;font-weight:600}
.tl__label{font-size:.82rem;color:rgba(245,239,226,.85);margin-top:.2rem}
.tl__state{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-top:.4rem;color:rgba(200,179,131,.7)}
.tl__item.is-active .tl__state{color:var(--gold)}
/* na světlém pozadí */
.section--sand .tl__label,.section--cream .tl__label{color:var(--muted)}
.section--sand .timeline::before,.section--cream .timeline::before{background:rgba(21,47,34,.18)}

/* ---------- Partneři ---------- */
.partners{display:flex;flex-wrap:wrap;gap:clamp(20px,4vw,48px);align-items:stretch;justify-content:center}
.partner{display:flex;flex-direction:column;gap:.4rem;text-align:center;max-width:300px}
.partner__logo{height:56px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);
  font-size:1.15rem;font-weight:600;color:var(--green);letter-spacing:.02em;border:1px solid var(--line);
  padding:0 1.4rem;border-radius:2px}
.section--green .partner__logo{color:var(--white);border-color:rgba(200,179,131,.3)}
.partner__role{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.section--green .partner__role{color:rgba(245,239,226,.72)}
.partner__desc{font-size:.92rem;color:var(--muted)}
.section--green .partner__desc{color:rgba(245,239,226,.8)}

/* ---------- Video / placeholder ---------- */
.video-frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  background:var(--green-2);max-width:920px;margin:0 auto}
.video-frame img{width:100%;height:100%;object-fit:cover;opacity:.85}
.video-frame__label{position:absolute;left:16px;bottom:14px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--white);background:rgba(15,35,26,.6);padding:.45em .9em;border-radius:2px}

/* ---------- Tabulka ceníku ---------- */
.pricetable-wrap{overflow-x:auto;border-radius:var(--radius);box-shadow:var(--shadow);background:var(--white)}
table.price{width:100%;border-collapse:collapse;min-width:820px;font-size:.94rem}
table.price caption{text-align:left;padding:14px 16px;font-size:.85rem;color:var(--muted);caption-side:top}
table.price thead th{background:var(--green);color:var(--cream);font-family:var(--sans);font-weight:500;font-size:.7rem;
  letter-spacing:.1em;text-transform:uppercase;padding:15px 14px;text-align:left;white-space:nowrap}
table.price thead th.sortable{cursor:pointer;user-select:none}
table.price thead th.sortable:hover{color:var(--white)}
table.price th .sort-ind{opacity:.5;font-size:.8em;margin-left:4px}
table.price th[aria-sort="ascending"] .sort-ind::after{content:"▲";opacity:1}
table.price th[aria-sort="descending"] .sort-ind::after{content:"▼";opacity:1}
table.price th[aria-sort="none"] .sort-ind::after{content:"↕"}
table.price tbody td{padding:14px;border-bottom:1px solid var(--line);color:var(--ink)}
table.price tbody tr{cursor:pointer;transition:background .18s var(--ease)}
table.price tbody tr:hover,table.price tbody tr:focus-within{background:var(--cream)}
table.price tbody tr:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
table.price .unit{font-family:var(--serif);font-size:1.1rem;color:var(--green);font-weight:600}
.badge-status{display:inline-block;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:.3em .7em;border-radius:2px;white-space:nowrap}
.badge-status.info{background:rgba(200,179,131,.2);color:var(--gold-dark)}
.price-cta{color:var(--gold-dark);font-weight:500;white-space:nowrap}
.row-link{color:var(--gold-dark);font-weight:600;white-space:nowrap}
tr:hover .row-link{text-decoration:underline}

/* ---------- Info karty ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem}
.section--green .card{background:var(--green-2);border-color:rgba(200,179,131,.2)}
.card h3{font-size:1.22rem;margin-bottom:.5rem}
.card p{margin:0;color:var(--muted);font-size:.94rem}
.section--green .card p{color:rgba(245,239,226,.82)}
.card__price{font-family:var(--serif);font-size:1.5rem;color:var(--gold-dark);display:block;margin-top:.4rem;font-weight:600}
.section--green .card__price{color:var(--gold)}
.card__sub{font-size:.82rem;color:var(--muted);margin-top:.2rem}
.section--green .card__sub{color:rgba(245,239,226,.7)}
.note-band{margin-top:1.6rem;padding:1.1rem 1.3rem;background:rgba(200,179,131,.12);border-left:3px solid var(--gold);
  font-size:.94rem;color:var(--green);border-radius:0 2px 2px 0}

/* ---------- Standardy ---------- */
.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(16px,2vw,26px)}
.spec{background:var(--white);border-radius:var(--radius);border:1px solid var(--line);overflow:hidden}
.spec__head{width:100%;display:flex;align-items:center;gap:.7rem;padding:1.3rem 1.6rem;background:none;border:0;
  text-align:left;cursor:default}
.spec__head svg{width:24px;height:24px;stroke:var(--gold-dark);fill:none;stroke-width:1.5;flex:none}
.spec__head h3{font-size:1.18rem}
.spec__toggle{display:none}
.spec__body{padding:0 1.6rem 1.5rem}
.spec ul li{position:relative;padding-left:1.3rem;margin-bottom:.5rem;color:var(--muted);font-size:.94rem}
.spec ul li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;background:var(--gold);border-radius:50%}
.brands{margin-top:1.4rem;font-size:.9rem;color:var(--muted)}

/* ---------- Lokalita: POI + interaktivní mapa ---------- */
.poi-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.poi{display:flex;align-items:center;gap:.85rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1.1rem}
.section--green .poi{background:var(--green-2);border-color:rgba(200,179,131,.2)}
.poi__icon{width:28px;height:28px;color:var(--gold);flex:none}
.poi__icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.poi__name{font-weight:500;color:var(--ink);font-size:.94rem;line-height:1.25}
.section--green .poi__name{color:var(--white)}
.poi__time{font-size:.8rem;color:var(--gold-dark)}
.section--green .poi__time{color:var(--gold)}

.mapwrap{display:grid;grid-template-columns:280px 1fr;gap:20px;align-items:start}
.map-cats{display:flex;flex-direction:column;gap:8px}
.map-cat{display:flex;align-items:center;gap:.7rem;min-height:44px;padding:.7em 1em;border:1px solid var(--line);
  background:var(--white);border-radius:var(--radius);cursor:pointer;font-size:.9rem;font-weight:500;color:var(--ink);
  transition:all .2s var(--ease);text-align:left}
.map-cat:hover{border-color:var(--gold)}
.map-cat[aria-pressed="true"]{background:var(--green);color:var(--white);border-color:var(--green)}
.map-cat__dot{width:12px;height:12px;border-radius:50%;background:var(--gold);flex:none}
.map-frame{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/10;background:var(--sand-2)}
.map-frame iframe{width:100%;height:100%;border:0}
.map-poi-list{margin-top:14px}
.map-poi-list h3{font-size:1rem;margin-bottom:.6rem}
.poi-tags{display:flex;flex-wrap:wrap;gap:8px}
.poi-tag{font-size:.82rem;padding:.4em .8em;border:1px solid var(--line);border-radius:2px;color:var(--muted);background:var(--white)}
.poi-tag[hidden]{display:none}
.map-note{font-size:.82rem;color:var(--muted);margin-top:.8rem}

/* ---------- Financování ---------- */
.fin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fin-col{background:var(--white);border-radius:var(--radius);padding:2rem;border-top:3px solid var(--gold)}
.fin-col h3{margin-bottom:1rem}
.fin-row{display:flex;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.fin-row:last-child{border-bottom:0}
.fin-row .pct{font-family:var(--serif);font-size:1.7rem;color:var(--gold-dark);flex:none;min-width:2.2em;font-weight:600;line-height:1.2}
.fin-row .mark{font-size:1.2rem;color:var(--gold-dark);flex:none;min-width:2.2em}
.fin-row p{margin:0;color:var(--muted);font-size:.94rem}
.fin-hypo{margin-top:20px;text-align:center;background:var(--green-2);border-radius:var(--radius);padding:2rem;color:var(--cream)}
.fin-hypo h3{color:var(--white)}
.fin-hypo p{color:rgba(245,239,226,.85);max-width:60ch;margin:.6rem auto 1.4rem}

/* ---------- Aktuálně: stavební deník ---------- */
.diary{display:grid;gap:26px;max-width:900px;margin:0 auto}
.diary__item{display:grid;grid-template-columns:150px 1fr;gap:24px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.diary__item:last-child{border-bottom:0}
.diary__date{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);font-weight:600;padding-top:.2rem}
.diary__item--current .diary__date{color:var(--green)}
.diary__item--current{background:rgba(200,179,131,.08);border-left:3px solid var(--gold);padding:1.4rem;border-bottom:1px solid var(--line);border-radius:0 2px 2px 0}
.diary__badge{display:inline-block;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);
  background:var(--gold);padding:.3em .7em;border-radius:2px;margin-bottom:.7rem}
.diary__item h3{font-size:1.3rem;margin-bottom:.5rem}
.diary__item p{margin:0;color:var(--muted)}
.diary__media{margin-top:1rem}

/* ---------- Kontakty ---------- */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px;max-width:760px;margin:0 auto}
.person{text-align:center}
.person__photo{aspect-ratio:1/1;border-radius:50%;overflow:hidden;width:160px;margin:0 auto 1.1rem;border:2px solid var(--gold)}
.person__photo img{width:100%;height:100%;object-fit:cover}
.person h3{font-size:1.3rem}
.person__role{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);margin:.2rem 0 .8rem;font-weight:600}
.person a{color:var(--muted);display:inline-block;font-size:.96rem;padding:4px 0}
.person a:hover{color:var(--green)}
.person span.todo{color:var(--muted);font-size:.9rem;display:block}
.office{text-align:center;margin-top:2.2rem;color:var(--muted)}
.office strong{color:var(--green)}

/* ---------- Formulář ---------- */
.form-card{background:var(--green);border-radius:var(--radius);padding:clamp(26px,4vw,48px);color:var(--cream)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.field{display:flex;flex-direction:column;gap:.4rem}
.field.full{grid-column:1/-1}
.field label{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.field input,.field textarea,.field select{background:rgba(254,254,254,.06);border:1px solid rgba(200,179,131,.3);
  border-radius:2px;padding:.85em 1em;color:var(--white);font-family:var(--sans);font-size:.98rem;font-weight:400;
  min-height:44px;transition:border .2s}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23C8B383' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1em center}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold);background:rgba(254,254,254,.1)}
.field textarea{resize:vertical;min-height:120px}
.field input:user-invalid,.field textarea:user-invalid{border-color:#E4A3A3}
.field__err{font-size:.8rem;color:#F0B8B8;min-height:1em}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.86rem;color:rgba(245,239,226,.85)}
.consent input{margin-top:.2rem;width:20px;height:20px;accent-color:var(--gold);flex:none}
.consent a{color:var(--gold);text-decoration:underline}
.form-actions{margin-top:1.4rem;display:flex;flex-direction:column;gap:.8rem;align-items:flex-start}
.form-note{font-size:.82rem;color:rgba(245,239,226,.7)}
.form-msg{margin-top:.4rem;font-size:.95rem;color:var(--gold-2);min-height:1.2em}
.form-msg.ok{color:#BFE3C0}
.btn[aria-disabled="true"],.btn:disabled{opacity:.6;cursor:not-allowed}

/* ---------- CTA band ---------- */
.cta-band{background:var(--green);color:var(--white);text-align:center}
.cta-band h2{color:var(--white);margin-bottom:1rem}
.cta-band p{color:rgba(245,239,226,.85);max-width:52ch;margin:0 auto 1.8rem}
.cta-band .hero__actions{justify-content:center}
/* ---------- Závěrečná CTA (vyvrcholení stránky) ---------- */
.cta-final{overflow:hidden;isolation:isolate;border-top:1px solid rgba(200,179,131,.16)}
/* velmi jemný světelný přechod (motiv vody), nízká intenzita - čitelnost zůstává */
.cta-final::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 12%,rgba(200,179,131,.10),transparent 60%)}
.cta-final__wave{position:absolute;top:0;left:0;right:0;z-index:0;pointer-events:none;color:var(--gold);opacity:.16;line-height:0}
.cta-final__wave svg{width:100%;height:clamp(26px,3.4vw,44px);display:block}
.cta-final .container{position:relative;z-index:1}
.cta-final h2{margin:0 auto;max-width:20ch;font-size:clamp(2.1rem,4.8vw,3.5rem);line-height:1.08;letter-spacing:-.015em}
.cta-final__action{margin-top:clamp(28px,4vw,44px)}
.cta-final .btn--gold{padding:1.05em 2.6em;font-size:1.02rem}

/* ---------- Footer ---------- */
.site-footer{background:var(--green-deep);color:rgba(245,239,226,.75);padding:clamp(52px,6vw,80px) 0 30px;
  border-top:1px solid rgba(200,179,131,.14)}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(26px,4vw,52px);padding-bottom:2.2rem;border-bottom:1px solid rgba(200,179,131,.16)}
.footer-brand img{height:84px;margin-bottom:1.1rem}
.footer-brand p{font-size:.92rem;max-width:34ch}
.footer h4{font-family:var(--sans);font-weight:500;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem}
.footer-col a{display:block;font-size:.92rem;padding:.28rem 0;color:rgba(245,239,226,.75);transition:color .2s}
.footer-col a:hover{color:var(--gold)}
.footer-col span{display:block;font-size:.92rem;padding:.28rem 0;color:rgba(245,239,226,.55)}
.footer-bottom{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;padding-top:1.5rem;font-size:.82rem;color:rgba(245,239,226,.5)}
.footer-partners{display:flex;gap:16px;flex-wrap:wrap;margin-top:1.1rem}
.footer-partners span{font-family:var(--serif);font-size:1rem;color:rgba(245,239,226,.7);border:1px solid rgba(200,179,131,.25);padding:.3em .9em;border-radius:2px}

/* ---------- Sticky mobilní konverzní lišta ---------- */
.mobilebar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;gap:1px;background:rgba(200,179,131,.3);
  padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 24px -18px rgba(0,0,0,.5)}
.mobilebar a{flex:1;display:flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;
  font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.mobilebar a.is-primary{background:var(--gold);color:var(--green)}
.mobilebar a.is-secondary{background:var(--green);color:var(--white)}
.mobilebar.is-hidden{transform:translateY(120%)}
.mobilebar{transition:transform .3s var(--ease)}
@media (prefers-reduced-motion:reduce){.mobilebar{transition:none}}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .features{grid-template-columns:repeat(4,1fr)}
  .feature--1,.feature--6,.feature--7{grid-column:span 2}
  .feature--2{grid-column:span 2}
  .feature--3,.feature--4,.feature--5{grid-column:span 2}
  .mapwrap{grid-template-columns:1fr}
  .map-cats{flex-direction:row;flex-wrap:wrap}
}
@media (max-width:820px){
  .split{grid-template-columns:1fr;gap:28px}
  .split--reverse .split__media{order:0}
  .fin-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .timeline{grid-template-columns:1fr;gap:0;margin-top:1rem}
  .timeline::before{left:7px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .tl__item{text-align:left;padding:14px 0 14px 34px}
  .tl__dot{left:0;top:18px;transform:none}
  .factbar__grid{grid-template-columns:repeat(2,1fr)}
  .fact:nth-child(2){border-left:0}
  .fact:nth-child(3),.fact:nth-child(4){border-top:1px solid rgba(200,179,131,.16)}
}
@media (max-width:720px){
  body{font-size:16px}
  .nav__toggle{display:flex}
  .nav__menu{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:6px;
    background:var(--green-deep);transform:translateX(100%);transition:transform .35s var(--ease);padding:104px 32px 32px}
  .nav__menu.open{transform:none}
  .nav__link{padding:14px 0;width:100%;font-size:1rem;text-align:center}
  .nav__cta{margin:14px 0 0}
  .nav__cta .btn{width:100%}
  @media (prefers-reduced-motion:reduce){.nav__menu{transition:none}}
  .tiles{grid-template-columns:1fr;gap:0}
  .tile{border-left:0;border-top:1px solid var(--line);padding:1.4rem 0}
  .tile:first-child{padding-top:0;border-top:0}
  .features{display:flex;flex-direction:column;gap:1px}
  .feature--hl h3{font-size:1.3rem}
  .form-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .diary__item{grid-template-columns:1fr;gap:8px}
  .mobilebar{display:flex}
  /* ceník -> karty */
  .pricetable-wrap{overflow:visible;box-shadow:none;background:none}
  table.price{min-width:0;font-size:.92rem}
  table.price caption{padding-left:0}
  table.price thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  table.price,table.price tbody,table.price tr,table.price td{display:block;width:100%}
  table.price tr[hidden]{display:none}  /* filtr: skryté řádky nesmí přebít kartový display:block */
  table.price tr{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    margin-bottom:12px;padding:14px 16px;box-shadow:var(--shadow-sm)}
  table.price td{border:0;padding:5px 0;display:flex;justify-content:space-between;gap:16px;text-align:right}
  table.price td::before{content:attr(data-label);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;
    color:var(--muted);font-weight:500;text-align:left;flex:none}
  table.price td.td-unit{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:6px}
  table.price td.td-unit::before{content:"Byt"}
  body:has(.mobilebar) .site-footer{padding-bottom:84px}
}
@media (max-width:400px){
  .factbar__grid{grid-template-columns:1fr}
  .fact{border-left:0;border-top:1px solid rgba(200,179,131,.16)}
  .fact:first-child{border-top:0}
}

/* =====================================================================
   KREATIVNÍ VRSTVA - "Mezi klidem přírody a rytmem města"
   (pouze vizuál: typografie, textura, motiv Vltavy, kompozice, interakce)
   ===================================================================== */
:root{
  --accent-serif:'Fraunces', Georgia, 'Times New Roman', serif;
  --shadow:0 18px 50px -34px rgba(15,35,26,.35);
  --shadow-sm:0 6px 20px -16px rgba(15,35,26,.3);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---- Serifové akcenty (jen klíčová slova / citát) ---- */
.ser{font-family:var(--accent-serif);font-style:italic;font-weight:400;letter-spacing:0}
h1 .ser{font-weight:400}
/* Homepage bez serifu: citát je bezpatkový italic, světle zlatý, vyšší váha */
.serif-quote{font-family:var(--sans);font-style:italic;font-weight:500;font-size:1.3rem;letter-spacing:-.005em;line-height:1.5}
.hero__quote{padding-left:1.2rem;margin:1.5rem 0 1.9rem}
.eyebrow{font-weight:500}

/* ---- Jemná textura ploch ---- */
.section, .factbar, .cta-band{position:relative}
.section--cream::before,.section--sand::before,.factbar::before,.section--green::before,.cta-band::before{
  content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--grain);background-size:150px 150px}
.section--cream::before,.section--sand::before{opacity:.05;mix-blend-mode:multiply}
.factbar::before,.section--green::before,.cta-band::before{opacity:.05;mix-blend-mode:overlay}
.section>.container,.factbar>.container,.cta-band>.container,.section>.wave{position:relative;z-index:1}

/* ---- Motiv Vltavy: kultivovaná linka ---- */
.wave path{stroke-width:1.2;opacity:.5}
.wave--gold path{stroke:var(--gold)}
.hero__inner::before{content:"";position:absolute;left:clamp(20px,5vw,40px);top:calc(var(--header-h) + 30px);
  width:56px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.cta-wave{max-width:340px;margin:0 auto 1.4rem;color:var(--gold)}

/* ---- Hero: větší nadpis + pomalý pohyb obrazu + gradient pod textem ---- */
.hero h1{font-size:clamp(2.7rem,6.6vw,5rem);line-height:1.04}
.hero--home{min-height:min(94vh,880px)}
.hero__media img{will-change:transform;animation:heroDrift 26s ease-in-out infinite alternate}
@keyframes heroDrift{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.1) translate3d(-1.5%,-1.5%,0)}}
.hero__inner{max-width:820px}
.hero__inner{--tint:0}
/* lokální gradient soustředěný pod textovým sloupcem */
/* Overlay pro čitelnost: jemný celoplošný + silnější lokální gradient pod textem, slábne doprava */
.hero--home::after{background:
  radial-gradient(ellipse at 42% 60%,
    rgba(8,28,23,.82) 0%, rgba(8,28,23,.58) 30%, rgba(8,28,23,.26) 60%, rgba(8,28,23,.08) 100%),
  linear-gradient(90deg,
    rgba(5,22,18,.36) 0%, rgba(5,22,18,.14) 62%, rgba(5,22,18,.06) 100%)}
/* čitelnost jednotlivých textů v hero */
.hero__sub{color:rgba(255,255,255,.97);font-weight:400}
.hero .eyebrow--light{color:var(--gold-2)}
.hero .serif-quote{color:var(--gold-2)}
.hero h1{text-shadow:0 1px 18px rgba(0,0,0,.22)}
/* mobil: gradient přizpůsobený jinému ořezu fotky (text je níž / uprostřed) */
@media (max-width:720px){
  .hero--home::after{background:
    radial-gradient(ellipse at 50% 64%,
      rgba(8,28,23,.8) 0%, rgba(8,28,23,.52) 44%, rgba(8,28,23,.22) 78%, rgba(8,28,23,.1) 100%),
    linear-gradient(to top,
      rgba(5,22,18,.62) 0%, rgba(5,22,18,.2) 52%, rgba(5,22,18,0) 84%)}
}

/* ---- Karty & stíny: otevřenější, lehčí ---- */
.card{box-shadow:none;transition:transform .3s var(--ease),border-color .3s var(--ease)}
.card:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:var(--shadow-sm)}
.spec{box-shadow:none}
.unit-card{box-shadow:none}

/* ---- Architektonická mozaika výhod ---- */
.feature__icon{width:38px;height:38px}
.feature--media{padding:0;position:relative;overflow:hidden;background:var(--green-2);min-height:220px}
.feature--media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.feature--media:hover img{transform:scale(1.05)}
.feature--media .media__tag{position:absolute;left:12px;bottom:12px}
@media (min-width:901px){
  .features{grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr;gap:1px}
  .feature--1{grid-column:1 / span 4;grid-row:1 / span 2}
  .feature--media{grid-column:5 / span 2;grid-row:1 / span 2}
  .feature--2{grid-column:1 / span 2;grid-row:3}
  .feature--3{grid-column:3 / span 2;grid-row:3}
  .feature--4{grid-column:5 / span 2;grid-row:3}
  .feature--5{grid-column:1 / span 2;grid-row:4}
  .feature--6{grid-column:3 / span 2;grid-row:4}
  .feature--7{grid-column:5 / span 2;grid-row:4}
  .feature--1{display:flex;flex-direction:column;justify-content:flex-end}
  .feature--hl h3{font-size:1.7rem}
  .feature--hl h3 .ser{font-size:1.05em}
}
@media (max-width:900px){ .feature--media{display:none} }

/* ---- Lišta filtrů: jedna elegantní řada, podtržení aktivního ---- */
.filters{gap:26px 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;align-items:center}
.filter{gap:.6rem}
.filter__label{font-size:.66rem;letter-spacing:.2em}
.chip{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:.3em .1em;color:var(--muted);
  min-height:auto;letter-spacing:.02em;transition:color .2s var(--ease),border-color .2s var(--ease)}
.chip:hover{border-color:rgba(200,179,131,.5);color:var(--green)}
.chip[aria-pressed="true"]{background:none;color:var(--green);border-bottom-color:var(--gold)}
/* dynamický počet u možnosti */
.chip__count{margin-left:.32em;font-size:.8em;opacity:.6;font-variant-numeric:tabular-nums}
.chip__count:empty{margin-left:0}
.chip[aria-pressed="true"] .chip__count{opacity:.85}
/* nemožná (facetově prázdná) možnost: viditelná, zeslabená, skutečně deaktivovaná */
.chip:disabled,.chip[aria-disabled="true"]{opacity:.4;cursor:not-allowed;color:var(--muted);
  border-bottom-color:transparent;transform:none}
.chip:disabled:hover,.chip[aria-disabled="true"]:hover{color:var(--muted);border-bottom-color:transparent}
.map-cat[aria-pressed="true"]{background:var(--green)}

/* ---- Karty jednotek: výrazná typografie ---- */
.unit-card{padding:1.4rem 1.4rem 1.2rem;transition:transform .25s var(--ease),border-color .25s var(--ease)}
.unit-card:hover{transform:translateY(-3px)}
.unit-card__no{font-size:1.55rem;letter-spacing:-.02em}
.unit-card__disp{font-size:.72rem}
.unit-card__meta{font-size:.92rem;line-height:1.5;border-top:1px solid var(--line);padding-top:.6rem;margin-top:.2rem}

/* ---- Standardy: materiálový editorial + čísla 01-06 ---- */
.spec-grid{counter-reset:spec}
.spec{border:0;border-top:1px solid var(--line);border-radius:0;background:none}
.spec__head{gap:1rem;padding:1.4rem 0 1rem;align-items:baseline}
.spec__head::before{counter-increment:spec;content:"0" counter(spec);font-family:var(--accent-serif);
  font-style:italic;font-size:1.5rem;color:var(--gold-dark);line-height:1;min-width:1.8em}
.spec__head svg{display:none}
.spec__body{padding:0 0 1.4rem 2.6em}
@media (min-width:721px){ .spec-grid{grid-template-columns:1fr 1fr;column-gap:clamp(32px,5vw,72px)} }
@media (max-width:720px){
  .spec__head{cursor:pointer;width:100%}
  .spec__head::after{content:"+";margin-left:auto;font-size:1.3rem;color:var(--gold-dark);transition:transform .25s var(--ease)}
  .spec.open .spec__head::after{content:"–"}
  .spec__body{max-height:0;overflow:hidden;padding-top:0;padding-bottom:0;transition:max-height .3s var(--ease)}
  .spec.open .spec__body{max-height:520px;padding-bottom:1.2rem}
}

/* ---- Lokalita: velká typografie orientačních časů ---- */
.bigtimes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(200,179,131,.22);border:1px solid rgba(200,179,131,.22);margin-top:.5rem}
.bigtime{background:var(--green);padding:clamp(20px,3vw,34px);display:flex;flex-direction:column;gap:.2rem}
.bigtime__n{font-family:var(--accent-serif);font-style:italic;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--gold);line-height:1}
.bigtime__l{font-size:.95rem;color:var(--white)}
.bigtime__s{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(200,179,131,.7);margin-top:.3rem}
.bigtime--img{padding:0;overflow:hidden;background:var(--green-2)}
.bigtime--img img{width:100%;height:100%;object-fit:cover;min-height:150px}
@media (max-width:720px){ .bigtimes{grid-template-columns:1fr 1fr} .bigtime--img{display:none} }

/* ---- Editorial fotopásy ---- */
.fullbleed{position:relative;height:clamp(280px,44vw,520px);overflow:hidden}
.fullbleed img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.fullbleed:hover img{transform:scale(1.04)}
.fullbleed .media__tag{position:absolute;left:16px;bottom:14px}
.imgrow{display:grid;grid-template-columns:1.4fr .8fr;gap:14px;align-items:stretch}
.imgrow .media--tall{align-self:center}
@media (max-width:720px){ .imgrow{grid-template-columns:1fr} }

/* ---- Harmonogram: rýsující se budova ---- */
.buildline{max-width:220px;margin:0 auto 1.4rem;color:var(--gold)}
.buildline svg{width:100%;height:auto;display:block}
.buildline path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:1;stroke-dashoffset:1}
@media (prefers-reduced-motion:reduce){ .buildline path{stroke-dashoffset:0} }

/* ---- Klidnější CTA (ne banner) ---- */
.cta-band{padding-top:clamp(72px,10vw,132px);padding-bottom:clamp(72px,10vw,132px)}
.cta-band h2{font-size:clamp(2rem,4.4vw,3.2rem)}
.cta-band .hero__actions{gap:26px;align-items:center}
.cta-band .btn--ghost-light{background:none;border:0;padding:.6em 0;letter-spacing:.06em;text-transform:none;
  font-size:.95rem;position:relative}
.cta-band .btn--ghost-light::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:1px;background:var(--gold);transition:width .3s var(--ease)}
.cta-band .btn--ghost-light:hover{background:none;color:var(--gold);transform:none}
.cta-band .btn--ghost-light:hover::after{width:100%}

/* ---- Mikrointerakce ---- */
.media img{transition:transform 1.2s var(--ease)}
.split__media .media:hover img,.person__photo:hover img{transform:scale(1.04)}
.footer-col a{position:relative;display:inline-block}
.footer-col a::after{content:"";position:absolute;left:0;bottom:1px;width:0;height:1px;background:var(--gold);transition:width .28s var(--ease)}
.footer-col a:hover::after{width:100%}
.reveal{transition:opacity .9s var(--ease),transform .9s var(--ease)}
.tiles .tile.reveal:nth-child(2){transition-delay:.08s}
.tiles .tile.reveal:nth-child(3){transition-delay:.16s}
.features .feature.reveal:nth-child(2){transition-delay:.06s}
.features .feature.reveal:nth-child(3){transition-delay:.12s}
@media (prefers-reduced-motion:reduce){
  .hero__media img{animation:none}
  .media img,.feature--media img,.fullbleed img{transition:none}
  .reveal{transition-delay:0s!important}
}
.bigtime__n span{font-family:var(--sans);font-style:normal;font-size:.34em;color:rgba(200,179,131,.85);letter-spacing:.04em;font-weight:500}

/* ===================================================================
   PRÉMIOVÝ FAKT-PANEL (homepage) - vrstvený přechod hero -> světlá sekce
   =================================================================== */
.factbar{background:var(--cream);position:relative;z-index:2;padding:0}
.factbar::before{opacity:.04}
.factbar > .container{position:relative;z-index:1}
.factpanel{position:relative;overflow:hidden;margin-top:-44px;
  background:var(--green-deep);color:var(--cream);
  border-radius:3px;border-top:2px solid rgba(200,179,131,.5);
  box-shadow:0 22px 50px -36px rgba(0,0,0,.55);
  padding:clamp(26px,3.4vw,44px) clamp(22px,3vw,46px)}
/* motiv Vltavy - jemná topografická linka */
.factpanel__wave{position:absolute;left:0;right:0;bottom:8px;width:100%;height:34px;color:var(--gold);pointer-events:none;z-index:0}
.factpanel__wave svg{width:100%;height:100%;display:block}
.factpanel__wave path{fill:none;stroke:currentColor;stroke-width:1;opacity:.38;
  stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s var(--ease)}
.factpanel__wave.reveal{opacity:1;transform:none}
.factpanel__wave.in path{stroke-dashoffset:0}
/* asymetrický grid */
.factpanel__grid{display:grid;grid-template-columns:.8fr 1.05fr 1.2fr 1.25fr;position:relative;z-index:1}
.factpanel .fact{position:relative;padding:2px clamp(16px,1.8vw,30px);background:none;border:0}
.factpanel .fact:first-child{padding-left:4px}
.factpanel .fact:last-child{padding-right:4px}
/* jemné krátké dělítko (nedotýká se okrajů, nízká opacita) */
.factpanel .fact::before{content:"";position:absolute;left:0;top:16%;height:68%;width:1px;
  background:linear-gradient(to bottom,transparent,rgba(200,179,131,.3),transparent)}
.factpanel .fact:first-child::before{display:none}
/* číslování 01-04 */
.fact__index{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.3em;
  color:rgba(200,179,131,.5);font-weight:500;margin-bottom:.55rem;transition:color .3s var(--ease)}
/* hlavní hodnoty */
.fact__value{display:block;font-family:var(--serif);font-weight:600;color:var(--gold-2);line-height:1.04;
  font-size:clamp(1.35rem,1.85vw,1.75rem);letter-spacing:-.01em;
  transition:transform .3s var(--ease),color .3s var(--ease)}
.factpanel .fact:first-child .fact__value{font-size:clamp(2.4rem,3.4vw,3.1rem);font-weight:700}
/* popisky */
.fact__label{display:block;font-size:.86rem;color:rgba(245,239,226,.8);margin-top:.5rem;line-height:1.35}
/* mikrointerakce */
@media (hover:hover){
  .factpanel .fact:hover .fact__value{transform:translateY(-3px);color:#E7DBB6}
  .factpanel .fact:hover .fact__index{color:rgba(200,179,131,.9)}
}
@media (max-width:900px){
  .factpanel__grid{grid-template-columns:.9fr 1.1fr 1.15fr 1.2fr}
}
@media (max-width:720px){
  .factpanel{margin-top:-20px;padding:22px 20px}
  .factpanel__grid{grid-template-columns:1fr 1fr;gap:1px;background:rgba(200,179,131,.16)}
  .factpanel .fact{background:var(--green-deep);padding:16px 16px;min-height:72px;
    display:flex;flex-direction:column;justify-content:center}
  .factpanel .fact::before{display:none}
  .fact__value{font-size:clamp(1.3rem,5vw,1.6rem)}
  .factpanel .fact:first-child .fact__value{font-size:clamp(2rem,7.5vw,2.5rem)}
  .factpanel__wave{opacity:.7}
}
@media (max-width:380px){
  .factpanel__grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .factpanel__wave path{stroke-dashoffset:0;transition:none}
}

/* ===================================================================
   PLNOŠÍŘKOVÝ ZELENÝ INFORMAČNÍ PRUH (navazuje přímo na hero, bez karty)
   Přepisuje předchozí "plovoucí panel".
   =================================================================== */
.factbar{background:var(--green-deep);color:var(--cream);position:relative;z-index:1;overflow:hidden;
  margin:0;border:0;border-radius:0;box-shadow:none;
  padding:clamp(42px,5.5vw,56px) 0 clamp(48px,6.5vw,64px)}
.factbar::before{opacity:.05;mix-blend-mode:overlay}
.factbar > .container{position:relative;z-index:1}
/* vlnka Vltavy - přes celou šířku sekce (nepůsobí useknutě na hraně kontejneru) */
.factbar__wave{position:absolute;left:0;right:0;bottom:clamp(14px,2.4vw,26px);width:100%;height:36px;
  color:var(--gold);pointer-events:none;z-index:0}
.factbar__wave svg{width:100%;height:100%;display:block}
.factbar__wave path{fill:none;stroke:currentColor;stroke-width:1;opacity:.32;
  stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s var(--ease)}
.factbar__wave.reveal{opacity:1;transform:none}
.factbar__wave.in path{stroke-dashoffset:0}
/* rozložení do čtyř částí */
.factbar__grid{display:grid;grid-template-columns:.8fr 1.4fr 1.05fr 1.1fr;align-items:center;position:relative;z-index:1}
.factbar .fact{position:relative;padding:0 clamp(18px,2vw,34px);background:none;border:0}
.factbar .fact:first-child{padding-left:0}
.factbar .fact:last-child{padding-right:0}
/* krátká svislá dělítka jen mezi položkami (ne přes celou výšku, nízká opacita) */
.factbar .fact::before{content:"";position:absolute;left:0;top:14%;height:72%;width:1px;
  background:linear-gradient(to bottom,transparent,rgba(200,179,131,.26),transparent)}
.factbar .fact:first-child::before{display:none}
/* hodnoty a popisy */
.factbar .fact__value{display:block;font-family:var(--serif);font-weight:600;color:var(--gold-2);line-height:1.05;
  font-size:clamp(1.35rem,1.85vw,1.75rem);letter-spacing:-.01em}
.factbar .fact:first-child .fact__value{font-size:clamp(2.4rem,3.4vw,3.1rem);font-weight:700}
.factbar .fact__label{display:block;font-size:.86rem;color:rgba(245,239,226,.8);margin-top:.5rem;line-height:1.35}
/* tablet + mobil: 2 x 2 */
@media (max-width:820px){
  .factbar{padding:clamp(30px,6vw,40px) 0 clamp(32px,6vw,44px)}
  .factbar__grid{grid-template-columns:1fr 1fr;gap:1px;background:rgba(200,179,131,.16)}
  .factbar .fact{background:var(--green-deep);padding:16px 16px;min-height:72px;
    display:flex;flex-direction:column;justify-content:center}
  .factbar .fact::before{display:none}
  .factbar .fact__value{font-size:clamp(1.3rem,3.6vw,1.7rem)}
  .factbar .fact:first-child .fact__value{font-size:clamp(2rem,5.4vw,2.6rem)}
}
/* velmi úzký displej: 1 sloupec */
@media (max-width:360px){
  .factbar__grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .factbar__wave path{stroke-dashoffset:0;transition:none}
}

/* Dispozice: "1+kk, 2+kk, 3+kk" na jednom řádku (desktop), lehce menší, na mobilu smí zalomit před 3+kk */
.factbar .fact--disp .fact__value{font-size:clamp(1.35rem,1.75vw,1.7rem)}
@media (min-width:821px){ .factbar .fact--disp .fact__value{white-space:nowrap} }
@media (max-width:820px){ .factbar .fact--disp .fact__value{white-space:normal} }

/* ===================================================================
   Sekce "Místo, kde se dobře bydlí" - 4 sloupce + bílá vlnka-linka
   =================================================================== */
.section--wave-host{position:relative}
.tiles--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.tiles--4 .tile{position:relative;border-left:0;padding:clamp(16px,2.1vw,28px) clamp(20px,2.4vw,34px)}
.tiles--4 .tile:first-child{padding-left:0}
.tiles--4 .tile:last-child{padding-right:0}
.tiles--4 .tile h3{margin:.55rem 0 .5rem}
.tiles--4 .tile p{margin:0}
.nowrap{white-space:nowrap}
/* jemná krátká svislá dělítka pouze mezi položkami (ne u první, nedotýkají se okrajů) */
.tiles--4 .tile::before{content:"";position:absolute;left:0;top:12%;height:76%;width:1px;
  background:linear-gradient(to bottom,transparent,var(--line),transparent);transition:background .3s var(--ease)}
.tiles--4 .tile:first-child::before{display:none}
/* mikrointerakce */
.tile__num{transition:color .3s var(--ease)}
.tiles .tile.reveal:nth-child(4){transition-delay:.24s}
@media (hover:hover){
  .tiles--4 .tile:hover .tile__num{color:var(--gold)}
  .tiles--4 .tile:hover::before{background:linear-gradient(to bottom,transparent,rgba(200,179,131,.5),transparent)}
}
/* tablet: 2 x 2, žádné dlouhé svislé linky, jemná vodorovná linka mezi řádky */
@media (max-width:1024px){
  .tiles--4{grid-template-columns:1fr 1fr;column-gap:clamp(22px,3vw,36px);row-gap:0}
  .tiles--4 .tile{padding:clamp(16px,3vw,24px) clamp(14px,2.4vw,22px)}
  .tiles--4 .tile::before{display:none}
  .tiles--4 .tile:nth-child(odd){padding-left:0}
  .tiles--4 .tile:nth-child(even){padding-right:0}
  .tiles--4 .tile:nth-child(n+3){border-top:1px solid var(--line);padding-top:clamp(18px,3.4vw,26px);margin-top:clamp(6px,1.6vw,14px)}
}
/* úzký mobil: pod sebe */
@media (max-width:560px){
  .tiles--4{grid-template-columns:1fr}
  .tiles--4 .tile{padding:1.2rem 0;border-top:1px solid var(--line);margin-top:0}
  .tiles--4 .tile:first-child{border-top:0;padding-top:0}
}
/* vlnka Vltavy - pouze tenká bílá linka (stroke), překrývá přechod, bez výplně a bez pruhu */
.section-wave{position:absolute;left:0;right:0;bottom:-16px;width:100%;height:36px;
  pointer-events:none;z-index:2;line-height:0}
.section-wave svg{width:100%;height:100%;display:block}
.section-wave path{fill:none;stroke:rgba(255,255,255,.5);stroke-width:1.25;
  stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease)}
.section-wave.reveal{opacity:1;transform:none}
.section-wave.in path{stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){ .section-wave path{stroke-dashoffset:0;transition:none} }

/* ===================================================================
   Sekce "O projektu" - redakční kompozice + vlnitý přechod do zelené
   =================================================================== */
.oproj__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(32px,5vw,72px);align-items:center}
/* redakční foto - vertikální, jemná zlatá linka nahoře a vlevo, jemný hover zoom */
.oproj__media{margin:0;position:relative}
.oproj__media::before{content:"";position:absolute;left:-8px;top:-8px;
  width:clamp(70px,26%,150px);height:clamp(70px,26%,150px);pointer-events:none;
  border-top:1.5px solid rgba(200,179,131,.55);border-left:1.5px solid rgba(200,179,131,.55)}
.oproj__frame{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:4/5;
  box-shadow:0 16px 44px -34px rgba(15,35,26,.35)}
.oproj__frame img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s var(--ease)}
@media (hover:hover){ .oproj__frame:hover img{transform:scale(1.03)} }
@media (prefers-reduced-motion:reduce){ .oproj__frame img{transition:none} }
/* úvodní odstavec */
.oproj__lead{max-width:600px;line-height:1.7;color:var(--muted);font-size:1.08rem;margin:1.1rem 0 0;text-align:left}
/* otevřený typografický blok "16" (bez béžové karty) */
.project-stat{display:flex;align-items:center;gap:clamp(18px,2.4vw,30px);margin:1.9rem 0}
.project-stat__number{display:flex;flex-direction:column;line-height:1;flex:none}
.project-stat__number strong{font-family:var(--serif);font-weight:700;color:var(--gold-dark);
  font-size:clamp(2.2rem,3.1vw,2.8rem);letter-spacing:-.02em}
.project-stat__number span{font-size:.8rem;color:var(--muted);margin-top:.45rem;letter-spacing:.02em}
.project-stat__divider{width:1px;align-self:stretch;min-height:54px;flex:none;
  background:linear-gradient(to bottom,transparent,var(--line),transparent)}
.project-stat>p{margin:0;color:var(--muted);max-width:34ch;font-size:1rem}
/* dvě stručné výhody s lineárními ikonami (bez karet, bez koleček) */
.oproj__features{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.6vw,34px);margin:1.6rem 0 2rem}
.oproj__feature{display:flex;gap:.85rem;align-items:flex-start}
.oproj__ico{width:30px;height:30px;color:var(--green);flex:none;margin-top:1px}
.oproj__ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.oproj__feature h3{font-size:1.04rem;margin:0 0 .25rem;color:var(--green)}
.oproj__feature p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}
.oproj .btn--outline{margin-top:.2rem}
/* postupné odhalení (rychlé, nenápadné) */
.oproj__body>.reveal:nth-child(1){transition-delay:.04s}
.oproj__body>.reveal:nth-child(2){transition-delay:.09s}
.oproj__body>.reveal:nth-child(3){transition-delay:.14s}
.oproj__body>.reveal:nth-child(4){transition-delay:.2s}
.oproj__body>.reveal:nth-child(5){transition-delay:.26s}
.oproj__body>.reveal:nth-child(6){transition-delay:.32s}
/* responzivita: tablet/mobil pod sebe, foto přes (téměř) celou šířku */
@media (max-width:900px){
  .oproj__grid{grid-template-columns:1fr;gap:clamp(24px,5vw,34px)}
  .oproj__media{max-width:460px;margin-inline:auto;width:100%}
  .oproj__features{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .oproj__media{max-width:none}
  .oproj__features{grid-template-columns:1fr;gap:1.2rem}
  .project-stat{flex-direction:column;align-items:flex-start;gap:.8rem}
  .project-stat__divider{width:56px;height:1px;min-height:0;align-self:flex-start;
    background:linear-gradient(to right,var(--line),transparent)}
  .project-stat>p{max-width:none}
}
/* vlnitý přechod do zelené sekce: horní část sand, spodní zelená, žádný bílý pruh */
.section-transition{display:block;width:100%;line-height:0;background:var(--sand)}
.section-transition svg{display:block;width:100%;height:clamp(48px,7vw,100px)}
.section-transition__line{stroke:rgba(255,255,255,.28);stroke-width:1.2}
@media (max-width:560px){ .section-transition svg{height:clamp(40px,10vw,64px)} }

/* ===================================================================
   Sekce "Proč si Viladům Okružní zamilujete"
   Voda jako jemný podklad + silný zelený overlay + motiv vodních linií
   4sloupcový asymetrický grid (bez karet, jemná mřížka linek)
   =================================================================== */
.whyfeat{position:relative;isolation:isolate;overflow:hidden;background:var(--green)}
.whyfeat::before{content:none}                 /* vypnout obecný grain (jedna dekorace) */
.whyfeat__bg{position:absolute;inset:0;z-index:-3;overflow:hidden}
.whyfeat__bg img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.5) contrast(.92)}
/* silný zelený overlay (voda viditelná ~10-15 %), sladěný s barevností webu */
.whyfeat::after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:linear-gradient(180deg, rgba(21,47,34,.9) 0%, rgba(15,35,26,.85) 45%, rgba(21,47,34,.93) 100%)}
/* vlastní motiv Vltavy - jemné vodní linie (jeden celek s vodou) */
.whyfeat__deco{position:absolute;inset:0;z-index:-1;pointer-events:none;color:var(--gold)}
.whyfeat__deco svg{width:100%;height:100%;display:block}
.whyfeat__deco path{fill:none;stroke:currentColor;stroke-width:1;opacity:.09}
.whyfeat>.container{position:relative;z-index:1}
.whyfeat__title{max-width:740px;font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.18}
/* 4sloupcový asymetrický grid */
.features-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;margin-top:clamp(26px,3.4vw,44px)}
.feat{position:relative;padding:clamp(24px,3vw,38px);
  border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light);
  margin-right:-1px;margin-bottom:-1px;
  transition:background .3s var(--ease),border-color .3s var(--ease)}
.feat--primary{grid-column:span 2;padding:clamp(28px,3.4vw,46px)}
/* jemná zlatá linka v horní části hlavní výhody */
.feat--primary::before{content:"";position:absolute;left:clamp(28px,3.4vw,46px);top:0;width:clamp(48px,6vw,80px);height:2px;background:var(--gold)}
.feat__ico{display:block;width:42px;height:42px;color:var(--gold);margin-bottom:1rem;
  transition:transform .3s var(--ease),color .3s var(--ease)}
.feat__ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.feat h3{color:var(--white);font-size:1.18rem;margin:0 0 .5rem;letter-spacing:-.01em}
.feat p{color:rgba(245,239,226,.82);font-size:.98rem;line-height:1.6;margin:0}
.feat--primary .feat__ico{width:52px;height:52px}
.feat--primary h3{font-size:clamp(1.45rem,2vw,1.9rem);letter-spacing:-.02em}
.feat--primary p{max-width:520px;font-size:1.04rem}
/* jemná interakce */
@media (hover:hover){
  .feat:hover{background:rgba(255,255,255,.04)}
  .feat:hover .feat__ico{transform:translateY(-3px);color:var(--gold-2)}
  .feat:hover{border-color:rgba(200,179,131,.4)}
}
/* postupné odhalení */
.features-grid .feat.reveal:nth-child(2){transition-delay:.05s}
.features-grid .feat.reveal:nth-child(3){transition-delay:.1s}
.features-grid .feat.reveal:nth-child(4){transition-delay:.15s}
.features-grid .feat.reveal:nth-child(5){transition-delay:.2s}
.features-grid .feat.reveal:nth-child(6){transition-delay:.25s}
.features-grid .feat.reveal:nth-child(7){transition-delay:.3s}
/* CTA vpravo pod gridem */
.whyfeat__cta{display:flex;justify-content:flex-end;margin-top:clamp(28px,3.5vw,44px)}
/* tablet: 2 sloupce, hlavní výhoda přes oba */
@media (max-width:900px){
  .features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feat--primary{grid-column:span 2}
}
/* mobil: 1 sloupec, jen vodorovné linky, silnější overlay */
@media (max-width:560px){
  .features-grid{grid-template-columns:1fr}
  .feat--primary{grid-column:auto}
  .feat--primary::before{left:0}
  .whyfeat::after{background:linear-gradient(180deg, rgba(15,35,26,.92) 0%, rgba(15,35,26,.9) 45%, rgba(15,35,26,.94) 100%)}
  .whyfeat__cta{justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .feat__ico{transition:none}
}

/* ===================================================================
   Výběr bytu - fasetová filtrace + moderní karty
   =================================================================== */
.unitsel__intro{max-width:650px}
.unitsel__count{font-size:.94rem;color:var(--gold-dark);font-weight:500;margin:.7rem 0 0}
/* filtrační panel */
.unitsel__panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,3vw,44px);
  background:var(--sand-2);border:1px solid var(--line);border-radius:3px;
  padding:clamp(20px,2.6vw,30px) clamp(20px,2.8vw,34px);margin-top:clamp(20px,2.6vw,32px)}
.filter-group__toggle{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:0;padding:0;cursor:default;text-align:left}
.filter-group__label{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.filter-group__current{display:none}
.filter-group__chev{display:none}
.filter-group__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:.8rem}
.filter-chip{display:inline-flex;align-items:center;gap:.5em;min-height:38px;padding:.32em .5em .32em .85em;
  border:1px solid var(--line);background:var(--white);color:var(--green);border-radius:2px;
  font-size:.86rem;font-weight:500;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),opacity .2s var(--ease)}
.filter-chip:hover:not(:disabled):not([aria-pressed="true"]){border-color:var(--gold)}
.filter-chip[aria-pressed="true"]{background:var(--green);color:var(--white);border-color:var(--green);box-shadow:inset 0 -2px 0 var(--gold)}
.filter-chip__count{font-size:.7rem;font-weight:600;min-width:1.55em;height:1.55em;padding:0 .3em;
  display:inline-flex;align-items:center;justify-content:center;border-radius:999px;
  background:rgba(21,47,34,.08);color:var(--gold-dark);line-height:1}
.filter-chip[aria-pressed="true"] .filter-chip__count{background:rgba(255,255,255,.18);color:var(--gold-2)}
.filter-chip:disabled,.filter-chip.is-disabled{opacity:.38;color:var(--muted);background:transparent;
  border-color:var(--line);cursor:not-allowed;box-shadow:none}
.filter-chip:disabled .filter-chip__count{background:rgba(21,47,34,.05);color:var(--muted)}
/* reset */
.unitsel__meta{display:flex;justify-content:flex-end;min-height:1.6rem;margin:.6rem 0 clamp(20px,2.4vw,30px)}
.filter-reset{display:inline-flex;align-items:center;gap:.35em;background:none;border:0;cursor:pointer;
  color:var(--gold-dark);font-size:.84rem;font-weight:500;padding:6px 2px}
.filter-reset[hidden]{display:none}
.filter-reset:hover{color:var(--green);text-decoration:underline}
.filter-reset span{font-size:.9em}
/* prázdný stav (pojistka) */
.unit-empty{text-align:center;padding:clamp(28px,5vw,52px);border:1px dashed var(--line);border-radius:3px;background:rgba(255,255,255,.4)}
.unit-empty[hidden]{display:none}
.unit-empty__title{font-family:var(--serif);font-size:1.2rem;color:var(--green);margin:0 0 .4rem;font-weight:600}
.unit-empty__sub{color:var(--muted);margin:0 0 1.2rem}
/* grid karet */
.unit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.4vw,20px)}
.unit-grid[hidden]{display:none}
.unit-card{display:flex;flex-direction:column;gap:.75rem;padding:clamp(18px,1.8vw,24px);
  background:var(--cream);border:1px solid rgba(21,47,34,.16);border-radius:3px;color:var(--green);
  text-decoration:none;position:relative;box-shadow:none;
  transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease)}
.unit-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.unit-card__eyebrow{display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:.15rem}
.unit-card__number{font-family:var(--serif);font-size:clamp(1.9rem,2.4vw,2.4rem);line-height:1;color:var(--green);font-weight:700;letter-spacing:-.02em}
.unit-card__layout{align-self:flex-start;font-size:.72rem;font-weight:600;letter-spacing:.03em;color:var(--gold-dark);
  border:1px solid rgba(156,130,79,.45);background:rgba(200,179,131,.14);border-radius:2px;padding:.28em .6em;white-space:nowrap}
.unit-card__area{font-family:var(--serif);font-size:clamp(1.35rem,1.7vw,1.65rem);font-weight:600;color:var(--green);letter-spacing:-.01em;margin-bottom:auto}
.unit-card__footer{display:flex;justify-content:space-between;gap:10px;font-size:.86rem;color:var(--muted);
  padding-top:.7rem;border-top:1px solid var(--line)}
.unit-card__cta{display:inline-flex;align-items:center;gap:.4em;font-size:.72rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gold-dark)}
.unit-card__cta .arrow{transition:transform .25s var(--ease)}
@media (hover:hover){
  .unit-card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:var(--shadow-sm)}
  .unit-card:hover .unit-card__cta .arrow{transform:translateX(3px)}
}
.unit-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* rychlé odhalení karet při filtraci */
@keyframes unitIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.unit-card{animation:unitIn .22s var(--ease) both}
/* CTA */
.unitsel__cta{margin-top:clamp(28px,3.4vw,44px)}
/* cílový highlight bytu v ceníku (po prokliku z homepage) */
:target.unit-card,tr:target{animation:unitTarget 2s var(--ease) 1}
@keyframes unitTarget{0%,60%{background:rgba(200,179,131,.28)}100%{background:transparent}}

/* tablet: 3 sloupce karet */
@media (max-width:1024px){ .unit-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
/* mobil: accordion filtrů + méně sloupců karet */
@media (max-width:720px){
  .unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .unitsel__panel{grid-template-columns:1fr;gap:0;padding:0}
  .filter-group{border-top:1px solid var(--line)}
  .filter-group:first-child{border-top:0}
  .filter-group__toggle{cursor:pointer;padding:15px clamp(16px,4vw,20px);justify-content:flex-start}
  .filter-group__current{display:inline-block;margin-left:auto;font-size:.86rem;color:var(--green);font-weight:600}
  .filter-group__chev{display:block;width:9px;height:9px;margin-left:.7rem;border-right:2px solid var(--muted);
    border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .25s var(--ease)}
  .filter-group.is-open .filter-group__chev{transform:rotate(-135deg)}
  .filter-group__chips{display:none;padding:0 clamp(16px,4vw,20px) 16px;margin-top:0}
  .filter-group.is-open .filter-group__chips{display:flex}
  .unitsel__meta{justify-content:flex-start;margin-top:.9rem}
}
@media (max-width:440px){ .unit-grid{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){
  .unit-card{animation:none;transition:none}
  .unit-card:hover{transform:none}
  :target.unit-card,tr:target{animation:none}
}

/* ===================================================================
   Časový harmonogram - scroll-driven stavba domu
   =================================================================== */
/* Kompaktní sekce v přirozeném toku (bez sticky) - animace řízená průchodem osy viewportem.
   Standardní horní/spodní odsazení, žádná scrollovací rezerva pod osou. */
.schedule{position:relative;overflow:hidden;background:var(--green-deep);color:var(--cream);isolation:isolate;
  padding:clamp(72px,9vw,120px) 0 clamp(64px,7vw,110px)}
.schedule::before{content:none}
.schedule__deco{position:absolute;inset:0;z-index:0;pointer-events:none;color:var(--gold);opacity:.05}
.schedule__deco svg{width:100%;height:100%;display:block}
.schedule__title{color:var(--white)}
.schedule__scroll{position:relative;z-index:1}
.schedule__stage{display:block}
.schedule__stage .section-head{margin-bottom:clamp(30px,4vw,56px)}
/* Dům jako vizuální centrum */
.building{width:100%;max-width:clamp(340px,38vw,460px);margin:0 auto}
.building svg{width:100%;height:auto;display:block;color:var(--gold)}
.building .b-foundation *,.building .b-structure *,.building .b-facade *,.building .b-details *{
  fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.building .b-structure *{stroke-width:1.6}
.building .b-foundation *{stroke-width:1.8}
.building .b-facade *,.building .b-details *{stroke-width:1.2}
/* výchozí (bez JS / reduced-motion): dům je kompletní */
.building .b-foundation *,.building .b-structure *,.building .b-facade *,.building .b-details *{stroke-dasharray:1;stroke-dashoffset:0}
.building .b-completion .lit{fill:var(--cream);stroke:none;opacity:.55}
/* JS připraví scénu k animaci */
.schedule.js-anim .building .b-foundation *,.schedule.js-anim .building .b-structure *,
.schedule.js-anim .building .b-facade *,.schedule.js-anim .building .b-details *{stroke-dashoffset:1}
.schedule.js-anim .building .b-completion .lit{opacity:0}
.building .b-completion .lit{transition:opacity .4s var(--ease)}
/* ===== Vodorovná časová osa pod domem ===== */
.timeline-h{position:relative;list-style:none;margin:clamp(32px,4vh,48px) auto 0;padding:0;display:flex;max-width:1000px}
.timeline-h::before{content:"";position:absolute;top:11px;left:12.5%;right:12.5%;height:2px;background:rgba(200,179,131,.22)}
.timeline-h::after{content:"";position:absolute;top:11px;left:12.5%;width:calc(75% * var(--fill,0));height:2px;
  background:var(--gold);transition:width .18s linear}
.timeline-h .tl2{position:relative;flex:1;min-width:0;text-align:center;padding:34px 8px 0}
.tl2__dot{position:absolute;top:11px;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;
  background:var(--green-deep);border:2px solid var(--gold);z-index:1;
  transition:transform .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease)}
.tl2.is-done .tl2__dot{background:var(--gold)}
.tl2.is-active .tl2__dot{background:var(--gold);transform:translate(-50%,-50%) scale(1.25);box-shadow:0 0 0 6px rgba(200,179,131,.22)}
.tl2__date{display:block;font-weight:600;letter-spacing:-.01em;font-size:clamp(1.25rem,2vw,1.9rem);color:var(--gold);line-height:1;
  transition:transform .35s var(--ease),opacity .35s var(--ease)}
.tl2.is-active .tl2__date{transform:translateY(-4px);color:var(--gold-2)}
.tl2__name{display:block;color:var(--white);font-size:clamp(.92rem,1.1vw,1.08rem);margin:.5rem 0 .35rem;text-wrap:balance}
.tl2__state{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(200,179,131,.72)}
.tl2.is-future{opacity:.55}
.tl2.is-future .tl2__date{opacity:.82}
/* decentní textový odkaz pod osou */
.schedule__more{margin:clamp(26px,4vh,44px) 0 0;text-align:center}
.link-more{display:inline-flex;align-items:center;gap:.5em;position:relative;color:var(--gold-2);
  font-size:.98rem;letter-spacing:.02em;padding:.2em 0;text-decoration:none}
.link-more::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold-2);transition:width .3s var(--ease)}
.link-more:hover{color:var(--white)}
.link-more:hover::after{width:calc(100% - 1.4em)}
.link-more .arrow{transition:transform .3s var(--ease)}
.link-more:hover .arrow{transform:translateX(5px)}
/* ===== Tablet: užší mezery, menší písmo, osa zůstává vodorovná ===== */
@media (max-width:900px){
  .schedule__stage .section-head{margin-bottom:clamp(28px,4vw,48px)}
  .building{max-width:min(58vw,400px)}
  .timeline-h .tl2{padding:32px 5px 0}
  .tl2__name{font-size:.9rem}
}
/* ===== Mobil: svislá osa POD domem (nikdy vedle) ===== */
@media (max-width:640px){
  .schedule__stage .section-head{margin-bottom:clamp(24px,6vw,38px)}
  .building{max-width:250px}
  .timeline-h{flex-direction:column;margin-top:clamp(26px,7vw,40px)}
  .timeline-h::before{left:7px;right:auto;top:10px;bottom:10px;width:2px;height:auto}
  .timeline-h::after{left:7px;right:auto;top:10px;width:2px;height:calc((100% - 20px) * var(--fill,0));
    transition:height .18s linear}
  .timeline-h .tl2{flex:none;text-align:left;padding:0 0 clamp(26px,7vw,40px) 34px}
  .timeline-h .tl2:last-child{padding-bottom:0}
  .tl2__dot{top:8px;left:0;transform:translate(0,0)}
  .tl2.is-active .tl2__dot{transform:translate(0,0) scale(1.25)}
  .tl2.is-active .tl2__date{transform:translateY(0)}
  .tl2__date{font-size:1.5rem}
  .tl2__name{font-size:1rem;text-wrap:initial}
}
@media (prefers-reduced-motion:reduce){
  .tl2__dot,.tl2__date,.timeline-h::after{transition:none}
  .building .b-completion .lit{transition:none}
}

/* ===================================================================
   Stránka O projektu - komponenty sladěné s finální homepage
   =================================================================== */
/* --- Hero: nižší, vyplněná krémová vlna dole --- */
.hero--about{min-height:clamp(560px,68vh,720px)}
.hero--about .hero__media img{object-position:center}
.hero__wave{position:absolute;left:0;right:0;bottom:-1px;z-index:1;line-height:0;pointer-events:none}
.hero__wave svg{width:100%;height:clamp(44px,6vw,82px);display:block}

/* --- Barevné modifikátory vlnitých přechodů (horní plocha = barva sekce nad vlnou) --- */
.section-transition--top-cream{background:var(--cream)}
.section-transition--top-green{background:var(--green)}
.section-transition--top-deep{background:var(--green-deep)}
.section-transition--top-sand{background:var(--sand)}

/* --- Úvod projektu: širší obrazová část vlevo, lehké vertikální posunutí --- */
.oproj--about .oproj__grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:start}
.oproj--about .oproj__body{padding-top:clamp(6px,2.4vw,38px)}
/* editorial citát - tenká zlatá linka, větší text, jemná kurzíva, žádný obdélník */
.equote{margin:1.7rem 0 0;padding:.2rem 0 .2rem 1.25rem;border-left:2px solid var(--gold);
  font-size:clamp(1.16rem,1.7vw,1.5rem);line-height:1.5;color:var(--green);font-style:italic;max-width:600px}
.equote strong{font-weight:600;font-style:normal}
@media (max-width:820px){
  .oproj--about .oproj__grid{grid-template-columns:1fr}
  .oproj--about .oproj__body{padding-top:0}
}

/* --- Standardy: technický katalog (sticky úvod + přístupné <details> accordiony) --- */
.std-layout{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:clamp(28px,5vw,72px);align-items:start}
.std-intro{position:sticky;top:calc(var(--header-h) + 28px)}
.std-intro .lead{margin-top:1rem}
.std-list{border-top:1px solid rgba(200,179,131,.34)}
.std{border-bottom:1px solid rgba(200,179,131,.34)}
.std__head{list-style:none;display:flex;align-items:center;gap:1rem;padding:1.2rem .2rem;cursor:pointer;
  outline-offset:3px}
.std__head::-webkit-details-marker{display:none}
.std__ico{width:26px;height:26px;color:var(--gold-dark);flex:none;display:block}
.std__ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.std__name{font-size:1.16rem;font-weight:500;color:var(--green);letter-spacing:-.01em}
.std__mark{margin-left:auto;position:relative;width:16px;height:16px;flex:none}
.std__mark::before,.std__mark::after{content:"";position:absolute;background:var(--gold-dark);transition:transform .25s var(--ease),opacity .25s var(--ease)}
.std__mark::before{left:0;top:7px;width:16px;height:2px}
.std__mark::after{left:7px;top:0;width:2px;height:16px}
.std[open] .std__mark::after{transform:scaleY(0);opacity:0}
.std__body{padding:0 0 1.3rem 42px;color:var(--muted)}
.std__body ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.std__body li{position:relative;padding-left:1.1rem;line-height:1.5;font-size:.98rem}
.std__body li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:1px;background:var(--gold-dark)}
.std[open] .std__body{animation:stdReveal .28s var(--ease)}
@keyframes stdReveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* elegantní typografický pás značek */
.brands-strip{margin:clamp(30px,4vw,52px) 0 0;padding:1.05rem clamp(4px,2vw,18px);
  border-top:1px solid rgba(200,179,131,.34);border-bottom:1px solid rgba(200,179,131,.34);
  color:var(--gold-dark);letter-spacing:.03em;font-size:.96rem;text-align:center;
  white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:820px){
  .std-layout{grid-template-columns:1fr;gap:clamp(20px,5vw,32px)}
  .std-intro{position:static}
  .brands-strip{text-align:left}
}

/* --- Partneři: dva výrazné bloky se svislou linkou (bez karet/stínů) --- */
.partners--duo{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:940px;margin:clamp(10px,2vw,20px) auto 0}
.partners--duo .partner{max-width:none;text-align:center;gap:.55rem;
  padding:clamp(6px,1.6vw,20px) clamp(20px,4vw,52px)}
.partners--duo .partner:first-child{border-right:1px solid rgba(200,179,131,.4)}
.partners--duo .partner__logo{height:auto;border:0;font-size:clamp(1.35rem,2.4vw,2rem);color:var(--green);line-height:1.2}
.partners--duo .partner__role{color:var(--gold-dark)}
.partners--duo .partner__desc{max-width:36ch;margin-inline:auto;color:var(--muted)}
@media (max-width:640px){
  .partners--duo{grid-template-columns:1fr}
  .partners--duo .partner:first-child{border-right:0;border-bottom:1px solid rgba(200,179,131,.4);padding-bottom:clamp(22px,6vw,32px)}
  .partners--duo .partner:last-child{padding-top:clamp(22px,6vw,32px)}
}
/* --- Závěrečná CTA se dvěma tlačítky: sekundární = skutečné průhledné tlačítko --- */
.cta-final .btn--ghost-light{background:transparent;color:var(--white);border:1px solid rgba(254,254,254,.45);
  padding:.9em 1.9em;letter-spacing:.06em;text-transform:uppercase}
.cta-final .btn--ghost-light::after{display:none}
.cta-final .btn--ghost-light:hover{background:var(--gold);color:var(--green);border-color:var(--gold)}

@media (prefers-reduced-motion:reduce){
  .std[open] .std__body{animation:none}
  .std__mark::before,.std__mark::after{transition:none}
}

/* ===================================================================
   Stránka Lokalita - komponenty sladěné s finální homepage
   =================================================================== */
/* --- Úvod: orientační témata (jen vizuální motiv, žádné nové údaje) --- */
.loc-topics{list-style:none;display:flex;flex-wrap:wrap;gap:clamp(16px,2.6vw,34px);margin:1.7rem 0 0;padding:0}
.loc-topics li{display:flex;align-items:center;gap:.5rem;font-size:.92rem;letter-spacing:.02em;color:var(--green);font-weight:500}
.loc-topics__ico{width:20px;height:20px;color:var(--gold-dark);flex:none}
.loc-topics__ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* --- Rytmus místa: časová dostupnost (zelené pozadí, zlaté typografické body) --- */
.rhythm{position:relative;isolation:isolate;overflow:hidden;background:var(--green)}
.rhythm::before{content:none}
.rhythm>.container{position:relative;z-index:1}
.rhythm__grid{margin-top:clamp(24px,3.4vw,44px);display:flex;flex-direction:column;gap:clamp(34px,5vw,66px)}
.rhythm__row{position:relative;display:grid;gap:clamp(20px,3vw,34px)}
.rhythm__row--1{grid-template-columns:repeat(4,1fr)}
.rhythm__row--2{grid-template-columns:repeat(3,1fr);max-width:78%;margin-left:auto} /* mírně odsazená druhá řada */
/* jemná spojovací vodní linka (kreslí se zleva při vstupu) */
.rhythm__wave{position:absolute;inset:0;z-index:0;color:var(--gold);opacity:.2;pointer-events:none}
.rhythm__wave svg{width:100%;height:100%;display:block}
.rhythm__wave path{fill:none;stroke:currentColor;stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--ease)}
.rhythm__wave.in path{stroke-dashoffset:0}
.rhythm__item{position:relative;z-index:1;display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}
.rhythm__ico{width:26px;height:26px;color:var(--gold);opacity:.92}
.rhythm__ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.rhythm__n{font-weight:600;font-size:clamp(2.3rem,4.4vw,3.3rem);color:var(--gold);line-height:1;letter-spacing:-.02em;display:flex;align-items:baseline;gap:.2em}
.rhythm__n span{font-size:.3em;font-weight:500;color:var(--gold-2);letter-spacing:.04em}
.rhythm__l{font-size:1.02rem;color:var(--white);line-height:1.3;display:flex;flex-direction:column}
.rhythm__sub{font-size:.83rem;color:rgba(245,239,226,.72);margin-top:.15rem}
.rhythm__note{margin-top:clamp(28px,4vw,46px);font-size:.9rem;color:rgba(245,239,226,.72)}
/* jemné vertikální posunutí pro rytmus (ne chaotické) */
.rhythm__row--1 .rhythm__item:nth-child(2),.rhythm__row--1 .rhythm__item:nth-child(4){transform:translateY(20px)}
.rhythm__row--2 .rhythm__item:nth-child(2){transform:translateY(20px)}
/* stagger reveal */
.rhythm__row .rhythm__item.reveal:nth-child(2){transition-delay:.06s}
.rhythm__row .rhythm__item.reveal:nth-child(3){transition-delay:.12s}
.rhythm__row .rhythm__item.reveal:nth-child(4){transition-delay:.18s}
@media (max-width:820px){
  .rhythm__row--1{grid-template-columns:1fr 1fr}
  .rhythm__row--2{grid-template-columns:1fr 1fr;max-width:none;margin-left:0}
  .rhythm__row--1 .rhythm__item,.rhythm__row--2 .rhythm__item{transform:none}
  .rhythm__wave{opacity:.14}
}
@media (max-width:440px){
  .rhythm__row--1,.rhythm__row--2{grid-template-columns:1fr}
  .rhythm__wave{display:none}
}

/* --- A) Poloha projektu: samostatná mapa přes celou šířku kontejneru --- */
.projectmap{margin-top:clamp(10px,2vw,22px)}
.projectmap .map-frame{aspect-ratio:auto;height:clamp(520px,56vh,620px);box-shadow:none;
  border:1px solid rgba(200,179,131,.5);border-radius:3px;position:relative}
.locmap__badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--green);color:var(--cream);
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:.55em .9em;border-radius:2px;
  box-shadow:0 2px 10px rgba(15,35,26,.25)}
.locmap__badge::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:.55em;vertical-align:middle}
.projectmap__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .9rem;margin-top:.9rem}
.projectmap__label{font-size:.9rem;letter-spacing:.02em;color:var(--green);font-weight:500}
.projectmap__glink{display:inline-flex;align-items:center;gap:.4em;color:var(--green);font-size:.92rem;text-decoration:none;position:relative;padding:.2em 0}
.projectmap__glink::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold-dark);transition:width .3s var(--ease)}
.projectmap__glink:hover{color:var(--gold-dark)}
.projectmap__glink:hover::after{width:100%}
.projectmap__glink .arrow{transition:transform .3s var(--ease)}
.projectmap__glink:hover .arrow{transform:translateX(4px)}
@media (min-width:701px) and (max-width:1024px){ .projectmap .map-frame{height:clamp(480px,50vw,540px)} }
@media (max-width:700px){ .projectmap .map-frame{height:clamp(380px,58vw,440px)} }

/* --- B) Co nabízí okolí: tmavě zelený přehled kategorií (bez filtrace / ovládání mapy) --- */
.surroundings{position:relative;isolation:isolate;overflow:hidden;background:var(--green)}
.surroundings::before{content:none}
.surroundings__bg{position:absolute;inset:0;z-index:-3;overflow:hidden}
.surroundings__bg img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.5) contrast(.92)}
.surroundings::after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,35,26,.9),rgba(15,35,26,.86) 45%,rgba(15,35,26,.93))}
.surroundings>.container{position:relative;z-index:1}
.surroundings__lead{color:rgba(245,239,226,.86)}
.surroundings__wave{position:relative;height:24px;margin:.1rem 0 clamp(16px,2.4vw,30px);color:var(--gold);opacity:.42;line-height:0}
.surroundings__wave svg{width:100%;height:100%;display:block}
.surroundings__wave path{fill:none;stroke:currentColor;stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease)}
.surroundings__wave.in path{stroke-dashoffset:0}
/* editorial sloupce se svislými dělicími linkami */
.surroundings__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-items:start;margin-top:clamp(8px,1.6vw,18px)}
.surr{border:0;padding:0 clamp(18px,2vw,30px)}
.surr:first-child{padding-left:0}
.surr:last-child{padding-right:0}
.surr + .surr{border-left:1px solid rgba(200,179,131,.24)}
.surr__head{list-style:none;display:flex;align-items:center;gap:.6rem;padding:0 0 1rem;cursor:default}
.surr__head::-webkit-details-marker{display:none}
.surr__ico{width:24px;height:24px;color:var(--gold);flex:none}
.surr__ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.surr__name{font-size:1.12rem;color:var(--white);font-weight:600;letter-spacing:-.01em}
.surr__mark{display:none}
.surr__list{list-style:none;margin:0;padding:0}
.surr__list li{position:relative;padding:.6rem 0 .6rem 1.1rem;border-bottom:1px solid rgba(200,179,131,.16);
  color:rgba(245,239,226,.9);font-size:.95rem;line-height:1.4}
.surr__list li::before{content:"";position:absolute;left:0;top:.92em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.surr__list li:last-child{border-bottom:0}
.surroundings__note{margin:clamp(24px,3.4vw,40px) 0 0;padding-top:1rem;border-top:1px solid rgba(200,179,131,.24);
  max-width:700px;font-size:.85rem;color:rgba(245,239,226,.62);line-height:1.55}
/* tablet: 2 sloupce */
@media (max-width:980px){
  .surroundings__grid{grid-template-columns:1fr 1fr}
  .surr{padding:clamp(14px,2vw,22px) clamp(16px,2vw,28px)}
  .surr:first-child,.surr:last-child{padding-left:clamp(16px,2vw,28px);padding-right:clamp(16px,2vw,28px)}
  .surr + .surr{border-left:0}
  .surr:nth-child(even){border-left:1px solid rgba(200,179,131,.24)}
  .surr:nth-child(n+3){border-top:1px solid rgba(200,179,131,.24)}
  .surr:nth-child(odd){padding-left:0}
  .surr:nth-child(even){padding-right:0}
}
/* mobil: přístupné accordiony <details>/<summary> */
@media (max-width:720px){
  .surroundings__grid{grid-template-columns:1fr}
  .surr{padding:0;border-top:1px solid rgba(200,179,131,.24)}
  .surr,.surr:nth-child(even),.surr + .surr{border-left:0}
  .surr:first-child{border-top:0}
  .surr__head{cursor:pointer;padding:1.05rem 0}
  .surr__mark{display:block;margin-left:auto;position:relative;width:14px;height:14px;flex:none}
  .surr__mark::before,.surr__mark::after{content:"";position:absolute;background:var(--gold);transition:transform .25s var(--ease),opacity .25s var(--ease)}
  .surr__mark::before{left:0;top:6px;width:14px;height:2px}
  .surr__mark::after{left:6px;top:0;width:2px;height:14px}
  .surr[open] .surr__mark::after{transform:scaleY(0);opacity:0}
  .surr__list{padding:0 0 1rem}
  .surr[open] .surr__list{animation:stdReveal .28s var(--ease)}
}
@media (prefers-reduced-motion:reduce){
  .surroundings__wave path{transition:none}
  .surr[open] .surr__list{animation:none}
}

@media (prefers-reduced-motion:reduce){
  .rhythm__wave path{transition:none}
}

/* ===================================================================
   Stránka Kontakty - konverzní kompozice sladěná s designem webu
   =================================================================== */
.hero--contact{min-height:clamp(500px,56vh,640px)}
[id]{scroll-margin-top:calc(var(--header-h) + 18px)}

/* --- Konverzní kompozice: vlevo osoby+kancelář, vpravo formulář --- */
.contact-split{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);
  gap:clamp(28px,4vw,60px);align-items:start;margin-top:clamp(22px,3vw,42px)}
/* profily kontaktních osob - fotografie vlevo, jméno vpravo */
.cpeople{list-style:none;margin:0;padding:0}
.cperson{display:flex;align-items:center;gap:1.1rem;padding:1.2rem 0;border-bottom:1px solid rgba(200,179,131,.36)}
.cperson:first-child{border-top:1px solid rgba(200,179,131,.36)}
.cperson__photo{width:120px;aspect-ratio:4/5;flex:none;overflow:hidden;border-radius:2px;background:var(--sand)}
.cperson__photo img,.cperson__photo picture{display:block;width:100%;height:100%}
.cperson__photo img{object-fit:cover;object-position:center}
.cperson__photo--top img{object-position:center top}
.cperson__name{font-size:1.22rem;color:var(--green);font-weight:600;line-height:1.25}
/* mobil: dvě obrazové položky vedle sebe (foto nahoře, jméno pod ním) */
@media (max-width:600px){
  .cpeople{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,4vw,26px)}
  .cperson{flex-direction:column;align-items:center;text-align:center;gap:.7rem;padding:0;border:0}
  .cperson:first-child{border-top:0}
  .cperson__photo{width:100%;max-width:150px}
  .cperson__name{font-size:1.06rem}
}
/* velmi úzký displej (pod ~360 px): profily pod sebe */
@media (max-width:360px){
  .cpeople{grid-template-columns:1fr;gap:clamp(18px,6vw,26px)}
  .cperson__photo{max-width:130px}
}
/* kancelář */
.office-block{margin-top:1.6rem;padding-top:1.3rem;border-top:1px solid rgba(200,179,131,.36)}
.office-block__eyebrow{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);font-weight:600;margin-bottom:.5rem}
.office-block__row{display:flex;align-items:center;gap:.6rem;color:var(--green);font-size:1.02rem}
.office-block__ico{width:22px;height:22px;color:var(--gold-dark);flex:none}
.office-block__ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* --- Banner konkrétního zájmu (z ceníku) --- */
.pbanner{margin:0 0 1.4rem;padding:.9rem 1.1rem;background:rgba(200,179,131,.14);border-left:3px solid var(--gold);
  border-radius:0 4px 4px 0;color:var(--green);font-size:.98rem;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .8rem}
.pbanner[hidden]{display:none}
.pbanner__change{color:var(--gold-dark);text-decoration:underline;background:none;border:0;cursor:pointer;font:inherit;padding:0}
.pbanner__change:hover{color:var(--green)}

/* --- Světlý formulář (žádná tmavá karta) --- */
.pform{background:var(--cream);border:1px solid rgba(200,179,131,.42);border-radius:5px;padding:clamp(20px,3vw,38px);color:var(--green)}
.pform .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 18px}
.pform .field{display:flex;flex-direction:column;gap:.4rem}
.pform .field.full{grid-column:1/-1}
.pform .field label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:600}
.pform .field input,.pform .field textarea,.pform .field select{
  background:#fff;border:1px solid rgba(21,47,34,.2);border-radius:4px;color:var(--green);
  font-size:16px;line-height:1.4;padding:.72em .9em;min-height:54px;width:100%;font-family:inherit;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.pform .field textarea{min-height:154px;resize:vertical;padding-top:.7em}
.pform .field select{appearance:none;-webkit-appearance:none;padding-right:2.4em;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239C824F' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1em center}
.pform .field input:focus,.pform .field textarea:focus,.pform .field select:focus{
  outline:none;border-color:var(--gold-dark);box-shadow:0 0 0 3px rgba(200,179,131,.35)}
.pform .field input[aria-invalid="true"],.pform .field textarea[aria-invalid="true"]{border-color:#B23B3B}
.pform .field__err{font-size:.86rem;color:#A5311F;min-height:1.1em}
.pform .consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;color:var(--green);min-height:44px;padding:.2rem 0;cursor:pointer}
.pform .consent input{margin-top:.15rem;width:22px;height:22px;accent-color:var(--gold-dark);flex:none}
.pform .consent a{color:var(--gold-dark);text-decoration:underline}
.pform .consent:focus-within{outline:2px solid rgba(200,179,131,.5);outline-offset:4px;border-radius:3px}
.pform__consents{margin:1.3rem 0 0;display:flex;flex-direction:column;gap:.7rem}
.pform .form-actions{margin-top:1.5rem;display:flex;flex-direction:column;gap:.7rem;align-items:flex-start}
.pform .form-msg{margin:0;font-size:.95rem;color:var(--gold-dark);min-height:1.2em}
.pform .form-msg.is-error{color:#A5311F}
.pform .btn[aria-disabled="true"]{opacity:.72;pointer-events:none}
/* honeypot - skryté i pro čtečky */
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* úspěšné potvrzení (nahradí formulář) */
.form-done{background:var(--cream);border:1px solid rgba(200,179,131,.42);border-radius:5px;padding:clamp(26px,4vw,44px)}
.form-done h3{font-size:clamp(1.5rem,2.4vw,2rem);color:var(--green);margin:0 0 .6rem}
.form-done p{color:var(--muted);margin:0 0 1.2rem;max-width:52ch}
.form-done__links{display:flex;flex-wrap:wrap;gap:1.2rem}
.form-done__ico{width:46px;height:46px;color:var(--gold-dark);margin-bottom:.8rem}
.form-done__ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.4}

/* --- Mapa: poloha projektu (velká, jemný border) --- */
.projmap{margin-top:clamp(16px,2.4vw,28px)}
.projmap .map-frame{aspect-ratio:auto;height:clamp(380px,58vh,620px);box-shadow:none;border:1px solid var(--line)}
.projmap__glink{display:inline-flex;align-items:center;gap:.4em;margin-top:.9rem;color:var(--green);
  font-size:.92rem;text-decoration:none;position:relative;padding:.2em 0}
.projmap__glink::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold-dark);transition:width .3s var(--ease)}
.projmap__glink:hover{color:var(--gold-dark)}
.projmap__glink:hover::after{width:100%}
.projmap__glink .arrow{transition:transform .3s var(--ease)}
.projmap__glink:hover .arrow{transform:translateX(4px)}

@media (max-width:860px){
  .contact-split{grid-template-columns:1fr;gap:clamp(24px,6vw,36px)}
  .pform .form-grid{grid-template-columns:1fr}
}

/* ===================================================================
   Stránka Aktuálně - stavební deník + náhledový harmonogram
   =================================================================== */
/* editorial záhlaví deníku */
.diary-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,3vw,48px);align-items:end}
.diary-head__lead{max-width:640px;color:var(--muted);font-size:1.08rem;line-height:1.7;margin:0}
@media (max-width:760px){ .diary-head{grid-template-columns:1fr;align-items:start;gap:.8rem} }
/* deník = jemná svislá časová linka + záznamy */
.diary{position:relative;max-width:880px;margin:clamp(24px,3.4vw,44px) 0 0;padding-left:28px}
.diary::before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:2px;background:rgba(200,179,131,.4)}
.diary__item{position:relative;display:grid;grid-template-columns:180px 1fr;gap:clamp(20px,3vw,44px);padding:.1rem 0 clamp(22px,3vw,32px)}
.diary__item:last-child{padding-bottom:0}
.diary__item::before{content:"";position:absolute;left:-28px;top:9px;width:12px;height:12px;border-radius:50%;
  background:var(--cream);border:2px solid var(--gold);box-sizing:border-box}
.diary__item--current::before{background:var(--gold);box-shadow:0 0 0 5px rgba(200,179,131,.18)}
/* reset staršího zvýraznění (tan pozadí/border/padding) - aktuální záznam odlišuje plný bod + štítek */
.diary__item--current{background:none;border-left:0;border-radius:0;padding:.1rem 0 clamp(22px,3vw,32px)}
.diary__meta{display:flex;flex-direction:column;gap:.55rem}
.diary__date{font-size:clamp(1.08rem,1.6vw,1.32rem);color:var(--green);font-weight:600;letter-spacing:-.01em;line-height:1.15}
.diary__status{align-self:flex-start;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);
  border:1px solid rgba(200,179,131,.55);padding:.32em .7em;border-radius:2px;font-weight:600}
.diary__body h3{font-size:clamp(1.4rem,2.3vw,1.95rem);color:var(--green);margin:0 0 .55rem;letter-spacing:-.015em;line-height:1.15}
.diary__body p{margin:0;color:var(--muted);max-width:680px;line-height:1.7}
.diary__media{margin-top:1.1rem}
.diary__media img{width:100%;height:auto;display:block;border-radius:3px;border:1px solid var(--line)}
.diary__gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:1.1rem}
/* prázdný stav (jen když opravdu nejsou data) */
.diary-empty{color:var(--muted);font-size:1.05rem;padding:1.4rem 0}
@media (max-width:600px){
  .diary__item{grid-template-columns:1fr;gap:.7rem}
}

/* náhledový harmonogram (plán, ne skutečný stav): slabý obrys + zvýrazněné základy */
.schedule--preview .b-completion{display:none}
.schedule--preview .building .b-structure *,.schedule--preview .building .b-facade *,.schedule--preview .building .b-details *{opacity:.28}
.schedule--preview .building .b-foundation *{opacity:1}
/* jednorázová časovaná animace kreslení, spuštěná třídou .play (bez scroll-spaceru) */
.schedule--preview.arm .building path,.schedule--preview.arm .building rect{stroke-dashoffset:1}
.schedule--preview.play .building .b-foundation *{transition:stroke-dashoffset .9s var(--ease) .15s;stroke-dashoffset:0}
.schedule--preview.play .building .b-structure *{transition:stroke-dashoffset .7s var(--ease) .6s;stroke-dashoffset:0}
.schedule--preview.play .building .b-facade *{transition:stroke-dashoffset .7s var(--ease) 1.05s;stroke-dashoffset:0}
.schedule--preview.play .building .b-details *{transition:stroke-dashoffset .55s var(--ease) 1.55s;stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){
  .schedule--preview.arm .building path,.schedule--preview.arm .building rect{stroke-dashoffset:0}
}

/* ===================================================================
   Editorial fotografie - sdílený atmosférický obrazový systém
   (o-projektu / lokalita / cenik / aktualne / kontakty)
   =================================================================== */
.editorial-media{position:relative;margin:0 auto}
.editorial-media__image{position:relative;overflow:hidden;border-radius:3px;background:var(--sand);line-height:0}
.editorial-media__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
/* obsahová (textová) část vedle fotografie */
.editorial-media__content{min-width:0}
.editorial-media__content .eyebrow{display:block}
.editorial-media__content h2{margin:.5rem 0 .7rem}
.editorial-media__content p{color:var(--muted);max-width:44ch;line-height:1.7;margin:0}
/* dvousloupcová varianta: fotografie + text */
.editorial-media--split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
  gap:clamp(26px,4vw,60px);align-items:center}
.editorial-media--split .editorial-media__image{height:clamp(340px,42vw,560px)}
.editorial-media--reverse .editorial-media__image{order:2}
/* široká varianta (fotografie přes celou šířku kontejneru, bez textu) */
.editorial-media--wide .editorial-media__image{height:clamp(320px,40vw,500px)}
/* dominantní full-bleed varianta (lokalita) - přes celou šířku viewportu */
.editorial-fullbleed{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden}
.editorial-fullbleed .editorial-media__image{border-radius:0;height:clamp(360px,46vw,620px)}
/* tmavá / světlá sekce (barvu textu určuje modifikátor) */
.editorial-media--dark .editorial-media__content h2{color:var(--white)}
.editorial-media--dark .editorial-media__content p{color:rgba(245,239,226,.86)}
.editorial-media--dark .editorial-media__content .eyebrow{color:var(--gold-2)}
/* jemný zlatý detail za obrázkem (bez těžkého rámečku) */
.editorial-media__image::after{content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(200,179,131,.16)}
/* reveal animace fotografií (jemný fade + posun, jednorázově) */
.editorial-media.reveal{opacity:0;transform:translateY(18px);
  transition:opacity .82s cubic-bezier(.22,1,.36,1),transform .82s cubic-bezier(.22,1,.36,1)}
.editorial-media.reveal.in{opacity:1;transform:none}
/* responzivita: skládání pod sebe, poměr 4:3, plná šířka */
@media (max-width:820px){
  .editorial-media--split{grid-template-columns:1fr;gap:clamp(20px,5vw,30px)}
  .editorial-media--reverse .editorial-media__image{order:0}
  .editorial-media--split .editorial-media__image,
  .editorial-media--wide .editorial-media__image{height:auto;aspect-ratio:4/3;min-height:280px}
  .editorial-fullbleed .editorial-media__image{height:auto;aspect-ratio:4/3;min-height:280px}
}
@media (prefers-reduced-motion:reduce){
  .editorial-media.reveal{opacity:1;transform:none;transition:none}
}
/* lokalita: dominantní vysoká fotografie přes plnou šířku sekce */
.editorial-media--tall .editorial-media__image{height:clamp(360px,46vw,620px)}
@media (max-width:820px){
  .editorial-media--tall .editorial-media__image{height:auto;aspect-ratio:4/3;min-height:300px}
}
/* Bez JavaScriptu (scripting: none) zobraz reveal obsah rovnou - fotografie i ostatní musí být viditelné */
@media (scripting: none){
  .reveal{opacity:1 !important;transform:none !important}
  .editorial-media.reveal{opacity:1 !important;transform:none !important}
}
