:root {
  --green: #1e3f3c;
  --green-deep: #102f2c;
  --cream: #f0ede2;
  --sand: #e5dcc5;
  --gold: #b9a268;
  --ink: #2c2c2c;
  --muted: #6f706c;
  --white: #faf9f6;
  --paper: #fffefa;
  --line: rgba(30, 63, 60, .14);
  --shadow: 0 24px 70px rgba(30, 63, 60, .10);
  --radius: 28px;
  --shell: min(1500px, calc(100% - clamp(36px, 7vw, 128px)));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; font-family: "Montserrat", sans-serif; color: var(--ink); background: var(--white); line-height: 1.65; }
body.is-locked { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding: clamp(88px, 9vw, 150px) 0; }
.section--cream { background: var(--cream); }
.section--paper { background: var(--paper); }
.section-label { display: flex; align-items: center; gap: 12px; color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.section-label::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.section-title { max-width: 980px; margin: 18px 0 0; color: var(--green); font-size: clamp(42px, 6vw, 86px); font-weight: 500; letter-spacing: -.055em; line-height: .98; text-wrap: balance; }
.section-intro { max-width: 760px; margin: 28px 0 0; color: var(--muted); font-size: clamp(17px, 1.5vw, 22px); line-height: 1.75; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: clamp(42px, 6vw, 82px); }
.section-head__aside { max-width: 370px; color: var(--muted); }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 0 24px; border: 1px solid transparent; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--gold { color: #fff; background: var(--gold); }
.button--light { color: var(--green); background: var(--paper); }
.button--outline { color: var(--green); border-color: rgba(30, 63, 60, .36); background: transparent; }

.header { position: fixed; z-index: 1000; inset: 0 0 auto; color: #fff; transition: background .25s ease, color .25s ease, box-shadow .25s ease; }
.header.is-solid { color: var(--green); background: rgba(250, 249, 246, .95); backdrop-filter: blur(18px); box-shadow: 0 12px 35px rgba(16, 47, 44, .08); }
.header__inner { width: min(1600px, calc(100% - clamp(28px, 5vw, 92px))); min-height: 96px; margin: auto; display: flex; align-items: center; gap: 34px; }
.header__brand { margin-right: auto; }
.header__brand img { width: auto; height: 68px; filter: brightness(0) invert(1); transition: filter .25s ease; }
.header.is-solid .header__brand img { filter: none; }
.nav { display: flex; align-items: center; gap: 4px; }
.nav a { padding: 11px 9px; border-bottom: 1px solid transparent; font-size: 10px; font-weight: 700; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.nav a:hover { color: var(--gold); border-color: currentColor; }
.header__cta { min-height: 46px; padding-inline: 19px; }
.header__phone { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.header__phone::before { content: "Tel. "; color: var(--gold); }
.nav-toggle { display: none; width: 48px; height: 48px; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.14); color: inherit; }
.nav-toggle span, .nav-toggle::before, .nav-toggle::after { content: ""; display: block; width: 20px; height: 1px; background: currentColor; }
.nav-toggle span { margin: 5px 0; }

.hero { position: relative; min-height: 100svh; display: grid; align-items: end; overflow: hidden; color: #fff; background: var(--green-deep); }
.hero__media, .hero__shade { position: absolute; inset: 0; }
.hero__media picture { display: block; width: 100%; height: 100%; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero__shade { background: linear-gradient(90deg, rgba(8, 35, 32, .88) 0%, rgba(8, 35, 32, .54) 43%, rgba(8, 35, 32, .05) 76%), linear-gradient(0deg, rgba(8, 35, 32, .72), transparent 52%); }
.hero__content { position: relative; z-index: 1; width: var(--shell); margin: 0 auto; padding: 170px 0 68px; }
.hero__layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 76px; align-items: end; }
.hero__kicker { color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.hero h1 { max-width: 950px; margin: 20px 0 28px; color: #fff; font-size: clamp(58px, 8vw, 124px); font-weight: 500; letter-spacing: -.065em; line-height: .86; }
.hero__lead { max-width: 670px; margin: 0; color: rgba(255,255,255,.86); font-size: clamp(17px, 1.5vw, 21px); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.hero__facts { border-top: 2px solid var(--gold); background: rgba(16, 47, 44, .78); backdrop-filter: blur(18px); }
.hero-fact { padding: 20px 24px; border-bottom: 1px solid rgba(255,255,255,.13); }
.hero-fact span { display: block; color: rgba(255,255,255,.62); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.hero-fact strong { display: block; margin-top: 4px; color: #fff; font-size: 16px; }
.hero-fact--gold { color: var(--green-deep); background: var(--gold); }
.hero-fact--gold span, .hero-fact--gold strong { color: inherit; }
.hero-fact--gold a { display: inline-block; margin-top: 12px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.manifest { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(30px, 6vw, 90px); align-items: start; }
.manifest__sticky { position: sticky; top: 130px; }
.manifest__text { color: var(--green); font-size: clamp(29px, 3.2vw, 52px); line-height: 1.25; letter-spacing: -.04em; }
.principles { display: grid; border-top: 1px solid var(--line); }
.principle { display: grid; grid-template-columns: 54px 1fr; gap: 20px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.principle__number { color: var(--gold); font-size: 12px; font-weight: 800; }
.principle h3 { margin: 0 0 8px; color: var(--green); font-size: 21px; }
.principle p { margin: 0; color: var(--muted); }

.masterplan { margin-top: 60px; overflow: hidden; border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow); }
.masterplan__bar { display: flex; justify-content: space-between; gap: 20px; padding: 20px 24px; color: var(--green); background: var(--sand); }
.masterplan__bar span { color: var(--muted); font-size: 13px; }
.masterplan__media { position: relative; min-height: 620px; }
.masterplan__media > picture { display: block; width: 100%; height: 100%; min-height: 620px; }
.masterplan__media > picture > img,
.masterplan__media > img { width: 100%; height: 100%; min-height: 620px; object-fit: cover; }
.masterplan__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.masterplan__house polygon { fill: rgba(185,162,104,.18); stroke: rgba(255,255,255,.86); stroke-width: 5; vector-effect: non-scaling-stroke; transition: fill .22s ease, stroke .22s ease; }
.masterplan__house text { fill: #fff; stroke: rgba(16,47,44,.72); stroke-width: 5px; paint-order: stroke; font-family: "Montserrat", sans-serif; font-size: 34px; font-weight: 800; text-anchor: middle; pointer-events: none; }
.masterplan__house:hover polygon, .masterplan__house:focus polygon { fill: rgba(185,162,104,.58); stroke: #fff; }
.masterplan__links { position: absolute; inset: 0; }
.masterplan__link { position: absolute; display: grid; place-items: center; width: 84px; height: 84px; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; color: var(--green); background: rgba(250,249,246,.92); box-shadow: 0 15px 35px rgba(0,0,0,.16); font-size: 13px; font-weight: 800; text-decoration: none; transition: transform .2s ease; }
.masterplan__link:hover { transform: scale(1.07); }
.masterplan__link--a { top: 18%; left: 61%; }
.masterplan__link--c { top: 41%; left: 44%; }

.people { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.person { padding: clamp(28px, 4vw, 52px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.person__head { display: flex; gap: 20px; align-items: center; }
.person__head img { width: 92px; height: 92px; border-radius: 50%; object-fit: cover; border: 3px solid var(--cream); }
.person h3 { margin: 6px 0 0; color: var(--green); font-size: 22px; }
.person__copy { position: relative; max-height: 260px; margin-top: 28px; overflow: hidden; color: var(--muted); }
.person__copy::after { content: ""; position: absolute; inset: auto 0 0; height: 105px; background: linear-gradient(transparent, var(--paper)); }
.person__copy.is-open { max-height: none; }
.person__copy.is-open::after { display: none; }
.person__toggle { margin-top: 24px; }

.houses { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.house-tile { position: relative; min-height: 660px; overflow: hidden; border-radius: var(--radius); color: #fff; background: var(--green-deep); }
.house-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.house-tile:hover img { transform: scale(1.035); }
.house-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,35,32,.88), rgba(8,35,32,.04) 68%); }
.house-tile__content { position: absolute; z-index: 1; inset: auto 0 0; padding: clamp(28px, 4vw, 52px); }
.house-tile__meta { display:inline-flex;width:max-content;max-width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#f2dfaa;background:rgba(8,35,32,.84);box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:11px;font-weight:800;letter-spacing:.14em;line-height:1.2;text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,.45);backdrop-filter:blur(6px); }
.house-tile h3 { margin: 10px 0 13px; color: #fff; font-size: clamp(34px, 4vw, 58px); font-weight: 550; letter-spacing: -.045em; line-height: 1; }
.house-tile p { max-width: 540px; color: rgba(255,255,255,.78); }
.house-tile__cta{display:inline-flex;align-items:center;gap:12px;margin-top:20px;padding:13px 20px;border:1px solid rgba(255,255,255,.54);border-radius:999px;color:var(--green);background:rgba(255,255,255,.94);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 12px 30px rgba(0,0,0,.14)}

.location-layout { display: grid; grid-template-columns: .68fr 1.32fr; gap: 38px; align-items: start; }
.location-copy { position: sticky; top: 130px; }
.location-copy__links { display: grid; gap: 10px; margin-top: 30px; }
.location-copy__links a { display: flex; justify-content: space-between; padding: 15px 0; border-bottom: 1px solid var(--line); color: var(--green); font-weight: 700; text-decoration: none; }
.location-map { overflow: hidden; border-radius: var(--radius); background: var(--cream); }
.location-map button { display: block; width: 100%; padding: 0; border: 0; background: transparent; }
.location-map img { width: 100%; height: auto; object-fit: contain; }
.location-context { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 16px; }
.context-card { overflow: hidden; border-radius: 20px; background: var(--paper); border: 1px solid var(--line); }
.context-card button { width: 100%; padding: 0; border: 0; background: transparent; }
.context-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.context-card span { display: block; padding: 15px 17px; color: var(--green); font-size: 12px; font-weight: 700; }

.gallery { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.gallery__item { position: relative; grid-column: span 6; height: clamp(430px, 31vw, 600px); padding: 0; overflow: hidden; border: 0; border-radius: 24px; background: var(--cream); cursor: zoom-in; }
.gallery__item:nth-child(3n) { grid-column: span 12; height: clamp(520px, 39vw, 730px); }
.gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.gallery__item:hover img { transform: scale(1.025); }
.gallery__item::after { content: "Zvětšit"; position: absolute; left: 18px; bottom: 18px; padding: 10px 14px; border-radius: 999px; color: var(--green); background: rgba(250,249,246,.92); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.standards { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; }
.standards__image { min-height: 500px; overflow: hidden; border-radius: var(--radius); }
.standards__image img { width: 100%; height: 100%; object-fit: cover; }
.standards__content { display: grid; align-content: center; padding: clamp(28px, 4vw, 54px); border-radius: var(--radius); background: var(--paper); border: 1px solid var(--line); }
.standards .section-title, .finance .section-title { font-size: clamp(38px, 4.5vw, 64px); }
.standards .section-intro, .finance .section-intro { margin-top: 20px; font-size: 17px; line-height: 1.65; }
.standard-list { display: grid; margin-top: 34px; border-top: 1px solid var(--line); }
.standard-list div { padding: 18px 0; border-bottom: 1px solid var(--line); color: var(--green); font-weight: 650; }

.section--process{background:linear-gradient(145deg,#ebe5d6 0%,#f5f1e7 56%,#e8e1d1 100%)}
.purchase-process__head{align-items:end}
.purchase-process__head .section-head__aside{max-width:480px}
.purchase-process{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:42px 0 0;padding:0;list-style:none;counter-reset:purchase}
.purchase-step{position:relative;display:grid;grid-template-columns:58px 1fr;gap:18px;min-height:100%;padding:28px;border:1px solid rgba(30,63,60,.12);border-radius:22px;background:rgba(250,249,246,.92);box-shadow:0 14px 36px rgba(30,63,60,.06)}
.purchase-step__number{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#f2dfaa;background:var(--green);font-size:12px;font-weight:800;letter-spacing:.08em;box-shadow:0 9px 22px rgba(30,63,60,.16)}
.purchase-step h3{margin:3px 0 10px;color:var(--green);font-size:20px;line-height:1.25}
.purchase-step p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.purchase-step p+p{margin-top:10px}
.purchase-step strong{color:var(--green)}

.finance { display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow); }
.finance__image { min-height: 500px; }
.finance__image img { width: 100%; height: 100%; object-fit: cover; }
.finance__copy { position: relative; display: grid; align-content: center; padding: clamp(30px, 4vw, 56px); }
.finance__highlight { margin-top: 34px; padding: 25px; border-radius: 20px; background: var(--sand); }
.finance__highlight strong { color: var(--green); font-size: 24px; }

.timeline { display: grid; margin-top: 50px; border-top: 1px solid var(--line); }
.timeline__item { display: grid; grid-template-columns: 170px 1fr auto; gap: 28px; padding: 30px 0; border-bottom: 1px solid var(--line); align-items: start; }
.timeline__date { color: var(--gold); font-weight: 800; }
.timeline__item h3 { margin: 0; color: var(--green); }
.timeline__item p { margin: 8px 0 0; color: var(--muted); }
.timeline__status { padding: 7px 11px; border-radius: 999px; color: var(--green); background: var(--cream); font-size: 10px; font-weight: 800; text-transform: uppercase; }

.diary { margin-top: 50px; }
.diary__latest { display: grid; grid-template-columns: 1.1fr .9fr; overflow: hidden; border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow); }
.diary__latest-media { min-height: 520px; }
.diary__latest-media img { width: 100%; height: 100%; object-fit: cover; }
.diary__latest-copy { display: grid; align-content: center; padding: clamp(34px, 5vw, 70px); }
.diary__latest-copy h3 { color: var(--green); font-size: 34px; }
.diary__entries { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 18px; }
.diary-card { padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.diary-card time { color: var(--gold); font-size: 11px; font-weight: 800; }
.diary-card h4 { margin: 10px 0 0; color: var(--green); }
.diary__entries--accordion { display: grid; grid-template-columns: 1fr; gap: 12px; }
.diary-entry { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.diary-entry summary { display: grid; grid-template-columns: 120px 1fr auto 36px; gap: 20px; align-items: center; min-height: 112px; padding: 14px 20px; list-style: none; cursor: pointer; }
.diary-entry summary::-webkit-details-marker { display: none; }
.diary-entry__thumb { width: 120px; height: 84px; border-radius: 14px; object-fit: cover; }
.diary-entry__date { color: var(--gold); font-size: 11px; font-weight: 800; }
.diary-entry__title { display: block; margin-top: 5px; color: var(--green); font-size: 18px; }
.diary-entry__weather { color: var(--muted); font-size: 12px; }
.diary-entry__plus { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--green); background: var(--cream); transition: transform .2s ease; }
.diary-entry[open] .diary-entry__plus { transform: rotate(45deg); }
.diary-entry__body { padding: 0 20px 22px; border-top: 1px solid var(--line); }
.diary-entry__body > p { color: var(--muted); }
.diary-entry__photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.diary-entry__photos button { padding: 0; overflow: hidden; border: 0; border-radius: 15px; background: var(--cream); }
.diary-entry__photos img { width: 100%; height: 240px; object-fit: cover; transition: transform .25s ease; }
.diary-entry__photos button:hover img { transform: scale(1.025); }

.downloads { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.download { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 30px; border: 1px solid var(--line); border-radius: 22px; background: var(--paper); text-decoration: none; }
.download h3 { margin: 0; color: var(--green); }
.download p { margin: 7px 0 0; color: var(--muted); }
.download__icon { display: grid; place-items: center; flex: 0 0 54px; height: 54px; border-radius: 50%; color: var(--green); background: var(--sand); font-weight: 800; }

.contact { display: grid; grid-template-columns: .82fr 1.18fr; gap: 24px; }
.contact__details, .contact__form { padding: clamp(26px, 3vw, 42px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.contact__details h2 { margin: 14px 0 24px; color: var(--green); font-size: clamp(42px, 4.5vw, 62px); font-weight: 500; letter-spacing: -.055em; }
.contact__details p { margin-block: 10px; }
.contact__details p { color: var(--muted); }
.contact__details strong { color: var(--green); }
.contact__qr { display: grid; grid-template-columns: 1fr 104px; gap: 16px; align-items: center; margin-top: 22px; padding: 16px; border-radius: 18px; background: var(--cream); }
.contact__qr h3 { margin: 0; color: var(--green); }
.contact__qr img { padding: 8px; border-radius: 16px; background: var(--paper); }
.form { display: grid; gap: 10px; }
.form label { margin-top: 8px; color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.form input, .form textarea, .form select { width: 100%; padding: 15px 17px; border: 1px solid rgba(30,63,60,.18); border-radius: 14px; color: var(--ink); background: var(--white); outline: none; }
.form input:focus, .form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(185,162,104,.14); }
.form textarea { min-height: 120px; resize: vertical; }
.form__consent { display: flex; gap: 11px; align-items: flex-start; margin: 10px 0; color: var(--muted); font-size: 13px; }
.form__consent input { flex: 0 0 18px; width: 18px; margin-top: 3px; padding: 0; }
.form__status { min-height: 22px; color: var(--muted); font-size: 13px; }
.form__trap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }

.section--newsletter { padding-top: 22px; background: var(--cream); }
.newsletter-box { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(22px, 4vw, 52px); align-items: center; padding: clamp(26px, 4vw, 46px); border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(135deg, rgba(250,249,246,.96), rgba(240,237,226,.82)); box-shadow: 0 22px 70px rgba(30,63,60,.08); }
.newsletter-box__copy p { max-width: 680px; color: var(--muted); font-size: clamp(16px, 1.4vw, 20px); line-height: 1.75; }
.newsletter-form { display: grid; gap: 12px; }
.newsletter-form label:not(.form__consent) { color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.newsletter-form input[type="email"] { width: 100%; min-height: 56px; padding: 15px 18px; border: 1px solid rgba(30,63,60,.18); border-radius: 999px; color: var(--ink); background: var(--white); outline: none; }
.newsletter-form input[type="email"]:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(185,162,104,.14); }
.newsletter-form__row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; }
.newsletter-form__consent { margin: 4px 0 0; text-transform: none; letter-spacing: 0; font-weight: 400; }
.newsletter-form .form__status.is-success { color: var(--green); font-weight: 700; }
.newsletter-form .form__status.is-error { color: #8a2d2d; font-weight: 700; }

.footer { padding: clamp(52px, 7vw, 86px) 0 24px; color: rgba(255,255,255,.76); background: var(--green-deep); }
.footer__grid { display: grid; grid-template-columns: minmax(220px,1.2fr) minmax(260px,1.35fr) minmax(180px,.8fr) minmax(190px,.85fr); gap: clamp(30px,4vw,64px); }
.footer__brand img { width: 190px; height: auto; filter: brightness(0) invert(1); }
.footer__brand p { max-width: 330px; margin: 22px 0 0; font-size: 14px; line-height: 1.7; }
.footer__column h2 { margin: 0 0 20px; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.footer__links { display: grid; gap: 10px 24px; }
.footer__navigation .footer__links { grid-template-columns: repeat(2,minmax(0,1fr)); }
.footer a { color: #fff; text-decoration: none; transition: color .2s ease; }
.footer a:hover { color: var(--gold); }
.footer__bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: clamp(38px,5vw,64px); padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); font-size: 12px; }
.sticky-finance { position: fixed; z-index: 850; right: 18px; bottom: 18px; padding: 14px 19px; border-radius: 999px; color: var(--green-deep); background: var(--gold); box-shadow: 0 16px 38px rgba(30,63,60,.18); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.to-top { position: fixed; z-index: 849; right: 24px; bottom: 78px; display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(30,63,60,.18); border-radius: 50%; color: var(--green); background: var(--paper); box-shadow: 0 12px 30px rgba(30,63,60,.12); text-decoration: none; opacity: 0; pointer-events: none; transform: translateY(10px); transition: opacity .2s ease, transform .2s ease; }
.to-top.is-visible { opacity: 1; pointer-events: auto; transform: none; }

.modal { position: fixed; z-index: 3000; inset: 0; display: none; place-items: center; padding: 24px; }
.modal.is-open { display: grid; }
.modal__backdrop { position: absolute; inset: 0; border: 0; background: rgba(9,26,25,.82); }
.modal__panel { position: relative; z-index: 1; width: min(1000px, 100%); max-height: 90vh; overflow: auto; border-radius: 24px; background: var(--paper); box-shadow: 0 30px 90px rgba(0,0,0,.32); }
.modal__close { position: sticky; z-index: 2; float: right; top: 15px; margin: 15px; width: 44px; height: 44px; border: 0; border-radius: 50%; color: var(--green); background: var(--cream); font-size: 24px; }
.modal--gallery { padding: 14px; }
.modal__panel--gallery { width: min(96vw, 1800px); height: 94vh; max-height: none; overflow: hidden; border-radius: 20px; background: #0d2422; }
.modal__panel--gallery .modal__close { position: absolute; top: 12px; right: 12px; margin: 0; float: none; color: #fff; background: rgba(16,47,44,.82); }
.gallery-modal__image { width: 100%; height: 100%; max-height: none; padding: 14px; object-fit: contain; object-position: center; }
.finance-modal__body { padding: clamp(36px, 6vw, 74px); }
.finance-modal__body h2 { color: var(--green); font-size: 44px; }
.finance-modal__body li { margin-block: 8px; }
.success-modal__panel { width: min(520px, 100%); overflow: hidden; text-align: center; }
.success-modal__panel .modal__close { position: absolute; top: 14px; right: 14px; margin: 0; float: none; }
.success-modal__body { display: grid; justify-items: center; padding: clamp(42px, 7vw, 66px) clamp(26px, 6vw, 54px); }
.success-modal__icon { display: grid; place-items: center; width: 76px; height: 76px; margin-bottom: 24px; border-radius: 50%; color: #fff; background: var(--green); box-shadow: 0 18px 40px rgba(30,63,60,.2); }
.success-modal__icon svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.success-modal__body h2 { margin: 12px 0 14px; color: var(--green); font-size: clamp(34px, 5vw, 48px); line-height: 1; letter-spacing: -.035em; }
.success-modal__body p { margin: 0 0 28px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.newsletter-modal__panel { width: min(640px, 100%); border-radius: 30px; }
.newsletter-modal__body { padding: clamp(34px, 6vw, 62px); }
.newsletter-modal__body h2 { margin: 12px 0 14px; color: var(--green); font-size: clamp(34px, 5vw, 54px); line-height: 1.02; font-weight: 500; letter-spacing: -.055em; }
.newsletter-modal__body p { color: var(--muted); font-size: 17px; line-height: 1.7; }
.newsletter-modal__body .newsletter-form { margin-top: 24px; }
.newsletter-modal__body .button { width: 100%; }

.cookie { position: fixed; z-index: 2500; inset: auto 18px 18px; display: none; align-items: center; justify-content: space-between; gap: 25px; max-width: 850px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 18px; color: var(--muted); background: var(--paper); box-shadow: var(--shadow); font-size: 13px; }
.cookie.is-visible { display: flex; }
.cookie__actions { display: flex; gap: 8px; flex: 0 0 auto; }

@media (max-width: 1120px) {
  .nav { position: fixed; inset: 88px 0 0; display: none; flex-direction: column; align-items: stretch; padding: 25px; color: var(--green); background: var(--white); }
  .nav.is-open { display: flex; }
  .nav a { padding: 15px 5px; border-bottom-color: var(--line); }
  .header__cta { display: none; }
  .header__phone { margin-left: auto; font-size: 10px; }
  .nav-toggle { display: grid; }
  .header.is-solid .nav-toggle { background: var(--cream); }
  .hero__layout { grid-template-columns: 1fr 290px; gap: 35px; }
  .location-layout { grid-template-columns: 1fr; }
  .location-copy { position: static; }
  .manifest { grid-template-columns: 1fr; }
  .manifest__sticky { position: static; }
  .standards, .finance { grid-template-columns: 1fr; }
  .standards__image, .finance__image { min-height: 560px; }
  .contact { grid-template-columns: 1fr; }
  .newsletter-box { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  :root { --shell: min(100% - 34px, 1500px); }
  .section { padding: 76px 0; }
  .section-head { display: block; }
  .section-head__aside { margin-top: 22px; }
  .header__inner { min-height: 82px; width: calc(100% - 34px); }
  .header__brand img { height: 56px; }
  .hero__content { padding: 130px 0 26px; }
  .hero__layout { grid-template-columns: 1fr; }
  .hero h1 { font-size: clamp(52px, 16vw, 75px); }
  .hero__facts { display: grid; grid-template-columns: repeat(3, 1fr); }
  .hero-fact { padding: 14px 10px; border-right: 1px solid rgba(255,255,255,.13); }
  .hero-fact strong { font-size: 12px; }
  .hero-fact--gold { grid-column: 1 / -1; }
  .people, .houses { grid-template-columns: 1fr; }
  .house-tile { min-height: 520px; }
  .masterplan__media, .masterplan__media > img { min-height: 420px; }
  .masterplan__link { width: 62px; height: 62px; }
  .location-context { grid-template-columns: 1fr 1fr; }
  .gallery__item, .gallery__item:nth-child(3n) { grid-column: span 12; height: 340px; }
  .diary__latest { grid-template-columns: 1fr; }
  .diary__latest-media { min-height: 330px; }
  .diary__entries { grid-template-columns: 1fr; }
  .diary-entry summary { grid-template-columns: 90px 1fr 34px; gap: 13px; }
  .diary-entry__thumb { width: 90px; height: 68px; }
  .diary-entry__weather { display: none; }
  .diary-entry__photos { grid-template-columns: 1fr; }
  .diary-entry__photos img { height: 260px; }
  .timeline__item { grid-template-columns: 1fr; gap: 8px; }
  .downloads { grid-template-columns: 1fr; }
  .contact__qr { grid-template-columns: 1fr; }
  .newsletter-form__row { grid-template-columns: 1fr; }
  .newsletter-form__row .button { width: 100%; }
  .newsletter-box { padding: 24px; border-radius: 28px; }
  .contact__qr img { width: 130px; }
  .footer__grid { grid-template-columns: 1fr; gap: 34px; }
  .footer__navigation .footer__links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer__bottom { align-items: flex-start; flex-direction: column; }
  .cookie { flex-direction: column; align-items: stretch; }
}

@media (max-width: 420px) {
  .footer__navigation .footer__links { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Refined masterplan, diary disclosure and floating actions */
.masterplan{margin-top:38px}.masterplan__media{height:clamp(360px,38vw,510px);min-height:0}.masterplan__media>picture,.masterplan__media>picture>img,.masterplan__media>img{height:100%;min-height:0;object-fit:cover}.masterplan__house polygon{fill:rgba(185,162,104,.24);stroke:rgba(185,162,104,.9);stroke-width:1.4;filter:drop-shadow(0 0 4px rgba(185,162,104,.35));animation:housePulse 2.4s ease-in-out infinite}.masterplan__house:nth-child(2) polygon{animation-delay:1.2s}.masterplan__house:hover polygon,.masterplan__house:focus polygon{fill:rgba(185,162,104,.62);stroke:var(--gold);filter:drop-shadow(0 0 12px rgba(185,162,104,.9))}.masterplan__house text{font-size:30px;stroke-width:4px}
@keyframes housePulse{0%,100%{fill:rgba(185,162,104,.18);filter:drop-shadow(0 0 2px rgba(185,162,104,.25))}50%{fill:rgba(185,162,104,.48);filter:drop-shadow(0 0 11px rgba(185,162,104,.85))}}
.diary__entries--accordion{position:relative}.diary__entries.is-collapsed{padding-bottom:50px}.diary__entries.is-collapsed .diary-entry--archive{display:none}.diary__entries.is-collapsed::after{content:"";position:absolute;z-index:2;right:0;bottom:0;left:0;height:100px;pointer-events:none;background:linear-gradient(180deg,rgba(250,249,246,0),var(--white) 82%)}.diary__controls{position:relative;z-index:3;display:flex;justify-content:center;margin-top:-25px}.diary-collapse-flow{position:fixed;z-index:851;left:18px;bottom:18px;padding:13px 18px;border:0;border-radius:999px;color:#fff;background:var(--green);box-shadow:0 16px 38px rgba(30,63,60,.22);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}.diary-collapse-flow.is-visible{opacity:1;pointer-events:auto;transform:none}
.sticky-finance{opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .25s ease,transform .25s ease}.sticky-finance.is-visible{opacity:1;pointer-events:auto;transform:none}
.sticky-finance.is-visible.is-footer-hidden{opacity:0;pointer-events:none;transform:translateY(14px)}
@media(max-width:820px){.masterplan__media{height:360px;min-height:0}.masterplan__media>picture,.masterplan__media>picture>img,.masterplan__media>img{min-height:0}.masterplan__bar{align-items:flex-start;flex-direction:column}.masterplan__house text{font-size:38px}.diary-collapse-flow{bottom:14px;left:14px}}
@media(prefers-reduced-motion:reduce){.masterplan__house polygon{animation:none}}

/* Final sizing pass */
.masterplan{max-width:980px;margin:34px auto 0}.masterplan__media{height:520px;background:#e8e3d7}.masterplan__media>picture>img,.masterplan__media>img{object-fit:contain}.masterplan__house polygon{stroke:none;fill:rgba(232,217,176,.28);filter:none}.masterplan__house:hover polygon,.masterplan__house:focus polygon{stroke:none;fill:rgba(244,228,184,.68);filter:drop-shadow(0 0 12px rgba(244,228,184,.8))}
@keyframes housePulse{0%,100%{fill:rgba(232,217,176,.2);filter:none}50%{fill:rgba(248,233,190,.58);filter:drop-shadow(0 0 13px rgba(248,233,190,.72))}}
#domy.section{padding-top:82px;padding-bottom:82px}.house-tile{min-height:500px}.house-tile__content{padding:34px}.house-tile h3{font-size:clamp(34px,3.4vw,52px)}
#standardy.section{padding-top:78px;padding-bottom:78px}.standards__image{min-height:450px}.standards__content{padding:30px 38px}.standards .section-intro{margin-top:16px;font-size:16px}.standard-list{margin-top:26px}.standard-list div{padding:15px 0}
@media(max-width:1180px){.standards__image{min-height:450px}}
@media(max-width:820px){.masterplan{max-width:100%}.masterplan__media{height:430px}.house-tile{min-height:450px}#domy.section,#standardy.section{padding-top:62px;padding-bottom:62px}.standards__image{min-height:390px}.standards__content{padding:28px}}
@media(max-width:820px){.house-tile__content{padding:28px 24px}.house-tile__cta{width:100%;justify-content:center;margin-top:18px;padding:14px 18px;font-size:10px}}
@media(max-width:820px){.purchase-process{grid-template-columns:1fr;margin-top:28px}.purchase-step{grid-template-columns:46px 1fr;gap:14px;padding:22px 18px}.purchase-step__number{width:40px;height:40px}.purchase-step h3{font-size:18px}.purchase-step p{font-size:13px}}

/* Stronger mobile navigation */
@media(max-width:1180px){.nav-toggle{display:grid;width:50px;height:50px;border:1px solid rgba(30,63,60,.28);color:var(--green-deep);background:var(--gold);box-shadow:0 8px 22px rgba(16,47,44,.2)}.header.is-solid .nav-toggle{background:var(--gold)}.nav-toggle span,.nav-toggle::before,.nav-toggle::after{width:23px;height:2px;border-radius:2px;background:currentColor}.nav-toggle span{margin:5px 0}.nav.is-open{box-shadow:0 22px 45px rgba(16,47,44,.14)}}

/* Accurate responsive masterplan and stronger diary action */
.masterplan{max-width:1250px}.masterplan__media{width:100%;height:auto;aspect-ratio:3/2;background:#e8e3d7}.masterplan__media>picture,.masterplan__media>picture>img,.masterplan__media>img{width:100%;height:100%;object-fit:cover}.masterplan__house circle{fill:rgba(255,240,198,.38);stroke:none;transform-box:fill-box;transform-origin:center;animation:houseMarkerPulse 2.2s ease-in-out infinite}.masterplan__house:nth-child(2) circle{animation-delay:1.1s}.masterplan__house:hover circle,.masterplan__house:focus circle{fill:rgba(255,241,196,.78);filter:drop-shadow(0 0 18px rgba(255,239,187,.95))}
@keyframes houseMarkerPulse{0%,100%{opacity:.35;transform:scale(.82);filter:none}50%{opacity:.88;transform:scale(1.18);filter:drop-shadow(0 0 18px rgba(255,239,187,.85))}}
.diary__controls .button{border-color:var(--gold);color:var(--green-deep);background:var(--gold);box-shadow:0 14px 32px rgba(30,63,60,.14)}.diary__controls .button:hover{background:#c8b276}
@media(max-width:820px){.masterplan__media{height:auto;aspect-ratio:3/2}.masterplan__bar{gap:8px}.masterplan__bar span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.masterplan__house circle{animation:none;opacity:.72}}

@media(max-width:1180px){.nav-toggle,.header.is-solid .nav-toggle{color:var(--green);border-color:rgba(30,63,60,.18);background:rgba(255,254,250,.92);box-shadow:0 7px 20px rgba(30,63,60,.09);backdrop-filter:blur(10px)}.nav-toggle:hover{background:var(--cream)}.header__phone{display:inline-flex;align-items:center;min-height:38px;padding:0 10px;border:1px solid rgba(30,63,60,.12);border-radius:999px;background:rgba(255,254,250,.72)}}

/* Solid compact mobile menu and light labels on gold actions */
.button--gold,.sticky-finance,.diary__controls .button{color:#fff}
@media(max-width:1180px){.nav{z-index:1100;inset:88px 0 0;justify-content:flex-start;gap:0;padding:18px 24px 28px;background:#fffefa!important;backdrop-filter:none;box-shadow:0 24px 48px rgba(16,47,44,.14);overflow-y:auto;opacity:1}.nav a{padding:10px 5px;font-size:10px;line-height:1.25}.nav.is-open{display:flex;background:#fffefa!important}}
@media(max-width:820px){.nav{inset:82px 0 0;padding-top:14px}.nav a{padding:9px 4px}}

/* Viewport-level mobile navigation */
@media(max-width:1180px){.header.is-menu-open{color:var(--green);background:transparent;backdrop-filter:none!important;box-shadow:none}.header.is-menu-open .header__brand img{filter:none}.header__brand,.nav-toggle{position:relative;z-index:1200}.nav{position:fixed;z-index:1100;inset:0;display:flex;justify-content:center;align-items:stretch;gap:0;padding:118px 28px 38px;color:var(--green);background:linear-gradient(145deg,#fffefa 0%,#f3efe4 100%)!important;box-shadow:none;overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .22s ease,transform .22s ease,visibility .22s ease}.nav::before{content:"Navigace";display:block;width:min(100%,520px);margin:0 auto 12px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.nav a{width:min(100%,520px);margin:0 auto;padding:13px 2px;border-bottom:1px solid rgba(30,63,60,.13);font-size:clamp(17px,4.4vw,25px);font-weight:600;letter-spacing:.035em;line-height:1.2;text-transform:none}.nav a:last-child{border-bottom:0}.nav.is-open{display:flex;opacity:1;visibility:visible;pointer-events:auto;transform:none;background:linear-gradient(145deg,#fffefa 0%,#f3efe4 100%)!important}.nav-toggle span,.nav-toggle::before,.nav-toggle::after{transition:transform .22s ease,opacity .18s ease}.nav-toggle[aria-expanded="true"] span{opacity:0}.nav-toggle[aria-expanded="true"]::before{transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded="true"]::after{transform:translateY(-7px) rotate(-45deg)}}
@media(max-width:620px){.nav{padding:106px 22px 28px}.nav::before{margin-bottom:8px}.nav a{padding:11px 2px;font-size:18px}}

/* Balanced fullscreen navigation and precise close icon */
@media(max-width:1180px){.nav{padding:112px 28px 28px;text-align:center}.nav.is-open{display:grid;grid-template-rows:auto repeat(9,minmax(48px,1fr));align-content:stretch}.nav::before{align-self:center;width:min(100%,560px);margin:0 auto;padding-bottom:6px;text-align:center}.nav a{display:flex;align-items:center;justify-content:center;width:min(100%,560px);height:100%;margin:0 auto;padding:7px 4px;font-size:clamp(20px,4.3vw,28px);font-weight:600;text-align:center}.nav-toggle{position:relative}.nav-toggle span,.nav-toggle::before,.nav-toggle::after{position:absolute;top:50%;left:50%;margin:0;transform-origin:center}.nav-toggle span{transform:translate(-50%,-50%)}.nav-toggle::before{transform:translate(-50%,-9px)}.nav-toggle::after{transform:translate(-50%,7px)}.nav-toggle[aria-expanded="true"]::before{transform:translate(-50%,-50%) rotate(45deg)}.nav-toggle[aria-expanded="true"]::after{transform:translate(-50%,-50%) rotate(-45deg)}}
@media(max-width:620px){.nav{padding:102px 20px 22px}.nav.is-open{grid-template-rows:auto repeat(9,minmax(43px,1fr))}.nav a{padding:5px 3px;font-size:clamp(20px,5.4vw,24px)}}

/* Social links section */
.section--social{padding-top:clamp(34px,5vw,64px);padding-bottom:clamp(34px,5vw,64px);background:linear-gradient(180deg,var(--cream) 0%,#e6e0d2 100%)}
.social-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(22px,4vw,52px);align-items:center;padding:clamp(24px,4vw,46px);border:1px solid rgba(30,63,60,.12);border-radius:var(--radius);background:rgba(255,254,250,.76);box-shadow:0 24px 60px rgba(16,47,44,.08)}
.social-strip__copy .section-title{margin-bottom:12px;font-size:clamp(34px,4.6vw,60px)}
.social-strip__copy p{max-width:720px;margin:0;color:var(--muted);font-size:clamp(17px,1.5vw,21px);line-height:1.65}
.social-links{display:flex;gap:14px;align-items:stretch}
.social-link{display:grid;place-items:center;min-width:148px;padding:22px 24px;border:1px solid rgba(30,63,60,.18);border-radius:26px;color:var(--green);background:var(--paper);text-decoration:none;box-shadow:0 16px 38px rgba(16,47,44,.07);transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease}
.social-link svg{width:38px;height:38px;margin-bottom:12px;fill:currentColor}
.social-link span{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.social-link:hover{transform:translateY(-4px);color:#fff;background:var(--green);box-shadow:0 22px 46px rgba(16,47,44,.16)}
@media(max-width:1120px){.social-strip{grid-template-columns:1fr}.social-links{width:100%}.social-link{flex:1;min-width:0}}
@media(max-width:760px){.social-strip{padding:24px;border-radius:28px}.social-links{flex-direction:column}.social-link{grid-template-columns:auto 1fr;justify-items:start;gap:14px;padding:18px 20px}.social-link svg{width:32px;height:32px;margin:0}}

/* Compact lower page sections */
#dokumenty.section{padding-top:clamp(46px,5vw,76px);padding-bottom:clamp(30px,3.5vw,48px)}
#dokumenty .section-head{margin-bottom:24px}
#dokumenty .section-title{font-size:clamp(34px,4.2vw,58px)}
#kontakt.section{padding-bottom:clamp(30px,3.5vw,48px)}
#kontakt + #dokumenty.section{padding-top:clamp(30px,3.5vw,50px)}
#dokumenty + .section--social{padding-top:clamp(18px,2.4vw,34px)}
#stavba.section{padding-bottom:clamp(28px,3.2vw,48px)}
#stavba + #kontakt.section{padding-top:clamp(28px,3.2vw,48px)}
#kontakt + .section--social{padding-top:clamp(18px,2.4vw,34px)}
.section--social + #dokumenty.section{padding-top:clamp(28px,3.2vw,46px)}
.downloads{gap:14px}

/* Header phone readability + fixed locality thumbnails */
.header:not(.is-solid) .header__phone{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#fff;background:rgba(8,35,32,.28);box-shadow:0 8px 24px rgba(0,0,0,.12);text-shadow:0 1px 5px rgba(0,0,0,.35);backdrop-filter:blur(7px)}
.header:not(.is-solid) .header__phone::before{color:#f2dfaa}
.header.is-solid .header__phone{color:var(--green);background:transparent;text-shadow:none;box-shadow:none;backdrop-filter:none}
.location-context .context-card{display:flex;flex-direction:column;min-width:0}
.location-context .context-card button{display:block;height:clamp(160px,12vw,220px);overflow:hidden}
.location-context .context-card img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.location-context .context-card span{min-height:52px;background:var(--paper)}
@media(max-width:760px){.location-context .context-card button{height:170px}.header:not(.is-solid) .header__phone{background:rgba(255,254,250,.88);color:var(--green);text-shadow:none}}
.download{min-height:auto;padding:20px 22px;border-radius:18px}
.download h3{font-size:19px}
.download p{margin-top:4px;font-size:14px;line-height:1.45}
.download__icon{flex-basis:46px;height:46px;font-size:12px}
.section--social{padding-bottom:clamp(28px,4vw,50px)}
.social-strip{padding:clamp(20px,3vw,34px)}
.social-strip__copy .section-title{font-size:clamp(30px,3.8vw,48px)}
.social-strip__copy p{font-size:clamp(15px,1.25vw,18px);line-height:1.55}
@media(max-width:760px){#dokumenty.section{padding-top:34px;padding-bottom:24px}#dokumenty .section-head{margin-bottom:18px}#kontakt.section{padding-bottom:24px}#kontakt + #dokumenty.section{padding-top:24px}#dokumenty + .section--social{padding-top:16px}#stavba.section{padding-bottom:24px}#stavba + #kontakt.section{padding-top:24px}#kontakt + .section--social{padding-top:16px}.section--social + #dokumenty.section{padding-top:24px}.download{padding:17px 18px}.social-strip{padding:20px}.social-strip__copy .section-title{font-size:30px}}

/* Full-bleed masterplan: image and SVG retain the same 3:2 coordinate space. */
.masterplan{width:100vw;max-width:none;margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw);border-radius:0}
.masterplan__media{width:100%;height:auto;aspect-ratio:3/2}
.masterplan__media>picture,.masterplan__media>picture>img,.masterplan__media>img,.masterplan__overlay{width:100%;height:100%}
#projekt.section{padding-bottom:clamp(24px,2.2vw,34px)}
@media(max-width:760px){#projekt.section{padding-bottom:20px}}

/* Přehlednější standardy s větším množstvím informací */
.standards--refreshed{
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
  gap:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--paper);
  box-shadow:0 24px 65px rgba(30,63,60,.07)
}
.standards--refreshed .standards__image{
  min-height:340px;
  border-radius:0
}
.standards--refreshed .standards__image img{transition:transform .7s ease}
.standards--refreshed:hover .standards__image img{transform:scale(1.025)}
.standards__intro{
  display:grid;
  align-content:center;
  padding:clamp(30px,4.4vw,64px);
  background:linear-gradient(135deg,#fffefa 0%,#f7f3e9 100%)
}
.standards--refreshed .section-title{font-size:clamp(38px,4.5vw,66px)}
.standards--refreshed .section-intro{
  max-width:720px;
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.65
}
.standards__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.standard-list--cards{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0;
  padding:20px;
  border-top:1px solid var(--line);
  background:var(--cream)
}
.standard-list--cards .standard-card{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  align-items:start;
  min-height:112px;
  padding:20px;
  border:1px solid rgba(30,63,60,.11);
  border-radius:16px;
  background:rgba(255,254,250,.9)
}
.standard-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.standard-card__icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  color:var(--green);
  background:var(--sand)
}
.standard-card__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.standard-card p{
  margin:4px 0 0;
  color:var(--green);
  font-size:14px;
  font-weight:650;
  line-height:1.48
}
@media(max-width:1100px){
  .standards--refreshed{grid-template-columns:1fr}
  .standards--refreshed .standards__image{min-height:300px;max-height:380px}
  .standard-list--cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  #standardy.section{padding-top:48px;padding-bottom:48px}
  .standards--refreshed .standards__image{min-height:250px}
  .standards__intro{padding:26px 22px}
  .standards--refreshed .section-title{font-size:38px}
  .standards--refreshed .section-intro{font-size:14px}
  .standard-list--cards{grid-template-columns:1fr;padding:12px}
  .standard-list--cards .standard-card{min-height:0;padding:17px}
}

.footer-hub{
  padding:clamp(34px,5vw,58px) 0;
  background:linear-gradient(180deg,var(--cream) 0%,#e8e2d5 100%)
}
.footer-hub__grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
  gap:18px;
  align-items:stretch
}
.footer-hub__card{
  padding:clamp(22px,3vw,34px);
  border:1px solid rgba(30,63,60,.13);
  border-radius:28px;
  background:rgba(255,254,250,.78);
  box-shadow:0 18px 48px rgba(16,47,44,.06)
}
.footer-hub__card--newsletter{
  display:grid;
  align-content:center
}
.footer-hub__card--downloads{grid-column:1/-1}
.footer-hub__card h2{
  margin:10px 0 12px;
  color:var(--green);
  font-size:clamp(30px,3.2vw,48px);
  line-height:.98;
  letter-spacing:-.04em
}
.footer-hub__card p{
  max-width:660px;
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.65
}
.footer-hub .newsletter-form{
  margin-top:22px
}
.footer-hub .newsletter-form__row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center
}
.footer-hub .newsletter-form__row input{
  min-height:54px
}
.footer-hub .newsletter-form__row .button{
  min-height:54px;
  padding:0 24px;
  white-space:nowrap
}
.footer-hub .newsletter-form__consent{
  margin-top:14px;
  font-size:13px;
  line-height:1.55
}
.footer-hub .social-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px
}
.footer-hub .social-link{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  justify-items:start;
  min-width:0;
  min-height:0;
  padding:16px 18px;
  border-radius:20px;
  text-align:left
}
.footer-hub .social-link svg{
  width:28px;
  height:28px;
  margin:0
}
.footer-hub .social-link span{
  margin:0
}
.footer-hub .downloads{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:18px
}
.download-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px 18px;
  margin-top:24px
}
.download-group{min-width:0}
.download-group--wide{grid-column:1/-1}
.download-group__title{
  margin:0;
  padding-bottom:12px;
  border-bottom:1px solid rgba(30,63,60,.15);
  color:var(--gold-dark);
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase
}
.footer-hub .download-group .downloads{margin-top:12px}
.footer-hub .download-group--wide .downloads{grid-template-columns:repeat(2,minmax(0,1fr))}
.footer-hub .download{
  padding:17px 18px;
  border-radius:18px
}
.footer-hub .download h3{
  font-size:16px
}
.footer-hub .download p{
  font-size:13px;
  line-height:1.45
}
.footer-hub .download__icon{
  flex:0 0 46px;
  width:46px;
  height:46px;
  font-size:12px
}
@media(max-width:1000px){
  .footer-hub__grid{grid-template-columns:1fr}
  .footer-hub__card--newsletter{grid-row:auto}
}
@media(max-width:760px){
  .footer-hub{padding:30px 0}
  .footer-hub__grid{gap:12px}
  .footer-hub__card{padding:22px;border-radius:24px}
  .footer-hub__card h2{font-size:34px}
  .footer-hub .newsletter-form__row{grid-template-columns:1fr}
  .footer-hub .newsletter-form__row .button{width:100%}
  .footer-hub .social-links{grid-template-columns:1fr}
  .download-groups{grid-template-columns:1fr;gap:24px}
  .download-group--wide{grid-column:auto}
  .footer-hub .download-group--wide .downloads{grid-template-columns:1fr}
}

@media(max-width:760px){
  .header__phone,
  .header:not(.is-solid) .header__phone,
  .header.is-solid .header__phone{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border:1px solid rgba(30,63,60,.14);
    border-radius:999px;
    color:var(--green);
    background:rgba(255,254,250,.96);
    box-shadow:0 10px 28px rgba(16,47,44,.18);
    text-shadow:none;
    backdrop-filter:blur(12px);
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em
  }
  .header__phone::before,
  .header:not(.is-solid) .header__phone::before,
  .header.is-solid .header__phone::before{
    content:"TEL.";
    margin-right:7px;
    color:var(--gold);
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em
  }
}
@media(max-width:420px){
  .header__inner{gap:12px}
  .header__phone,
  .header:not(.is-solid) .header__phone,
  .header.is-solid .header__phone{
    min-height:40px;
    padding:0 12px;
    font-size:11px
  }
  .header__phone::before,
  .header:not(.is-solid) .header__phone::before,
  .header.is-solid .header__phone::before{
    margin-right:5px;
    font-size:10px
  }
}

/* Česká spořitelna badge */
.csas-badge{
  display:inline-grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:10px 13px 10px 16px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  color:var(--green);
  background:rgba(255,254,250,.82);
  text-decoration:none;
  box-shadow:0 16px 38px rgba(16,47,44,.16);
  backdrop-filter:blur(14px);
  transition:transform .18s ease,box-shadow .18s ease
}
.csas-badge::before{
  content:none
}
.csas-badge:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 46px rgba(16,47,44,.2)
}
.csas-badge__label{
  display:block;
  color:var(--gold);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase
}
.csas-badge__brand{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:15px;
  font-weight:800;
  line-height:1.1
}
.csas-badge img{
  display:block;
  width:128px;
  height:auto;
  max-height:34px;
  object-fit:contain;
  padding:8px 11px;
  border-radius:14px;
  background:#0057a8
}
.csas-badge--hero{
  position:absolute;
  z-index:5;
  top:132px;
  right:-18px;
  grid-template-columns:1fr;
  gap:8px;
  min-width:220px;
  padding:14px 40px 14px 18px;
  border:0;
  border-radius:24px 0 0 24px;
  color:#fff;
  background:#0057a8;
  box-shadow:0 20px 54px rgba(0,38,84,.28);
  backdrop-filter:none;
  transition:transform .22s ease,box-shadow .18s ease
}
.csas-badge--hero:hover{
  transform:translateX(-18px);
  box-shadow:0 24px 62px rgba(0,38,84,.34)
}
.csas-badge--hero .csas-badge__label{
  color:rgba(255,255,255,.78);
  font-size:10px;
  letter-spacing:.18em
}
.csas-badge--hero img{
  width:138px;
  max-height:none;
  padding:0;
  border-radius:0;
  background:transparent
}
.csas-badge--finance{
  position:absolute;
  top:34px;
  right:clamp(30px,4vw,56px);
  display:block;
  width:auto;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none
}
.csas-badge--finance .csas-badge__label{
  color:var(--gold);
  margin-bottom:8px
}
.csas-badge--finance img{
  width:172px;
  max-height:none;
  padding:12px 16px;
  border-radius:16px;
  background:#0057a8
}
@media(max-width:760px){
  .csas-badge--hero{
    top:154px;
    right:-12px;
    min-width:132px;
    padding:10px 24px 10px 12px;
    border-radius:20px 0 0 20px;
    transform:none
  }
  .csas-badge--hero img{width:78px}
  .csas-badge--hero:hover{transform:translateX(-12px)}
  .csas-badge--finance{
    position:static;
    width:max-content;
    margin:0 0 24px
  }
  .csas-badge--finance img{width:150px}
}
