/* The future of Smokey — Figma 933:7583 (1920x14203). Hodnoty v calc(N * var(--u)) = design px pri 1920. */

/* ---------------------------------------------------------------- zaklad sekci (pad 96, gap 40, obsah 1728) */
.fu-sec { background: #fff; color: var(--c-navy); padding: calc(96 * var(--u)) 0; }
.fu-wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: calc(96 * var(--u)); display: flex; flex-direction: column; gap: calc(40 * var(--u)); }
.fu-eyebrow { font-weight: 700; font-size: max(11px, calc(14 * var(--u))); line-height: calc(20 / 14); letter-spacing: 0; }
.fu-eyebrow--gold { color: #cc994a; }
.fu-h { font-weight: 700; font-size: max(28px, calc(44 * var(--u))); line-height: calc(54 / 44); letter-spacing: 0; }
.fu-h--upper { text-transform: uppercase; }
.fu-intro, .fu-p { font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: calc(31 / 20); letter-spacing: 0; }
.fu-p p + p { margin-top: calc(31 * var(--u)); }
.fu-h3 { font-weight: 700; font-size: max(18px, calc(26 * var(--u))); line-height: calc(34 / 26); letter-spacing: 0; }
.fu-h3xl { font-weight: 700; font-size: max(26px, calc(44 * var(--u))); line-height: calc(54 / 44); letter-spacing: 0; }
.fu-detail, .fu-caption { font-weight: 400; font-size: max(14px, calc(18 * var(--u))); line-height: calc(28 / 18); letter-spacing: 0; }
.fu-rule { width: 100%; height: 1px; margin: 0; border: 0; background: #d6deef; }
.fu-img { border-radius: 7px; overflow: hidden; background: #e9edf5; }
.fu-img img { width: 100%; height: 100%; object-fit: cover; }
.fu-split { display: flex; flex-direction: row; align-items: flex-start; gap: calc(64 * var(--u)); }
.fu-facts { display: flex; flex-direction: column; gap: calc(28 * var(--u)); }
.fu-facts > div { display: flex; flex-direction: column; gap: calc(28 * var(--u)); }
.fu-facts dt { font-weight: 700; font-size: max(18px, calc(26 * var(--u))); line-height: calc(34 / 26); }
.fu-facts dd { margin: 0; font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: calc(31 / 20); }
.fu-facts--tight, .fu-facts--tight > div { gap: calc(24 * var(--u)); }

/* ---------------------------------------------------------------- 01 Core strengths */
.fu-core .fu-intro { margin-top: 0; }
.fu-pillars { display: flex; gap: calc(32 * var(--u)); }
.fu-pillar { flex: 1 1 0; min-height: calc(385 * var(--u)); padding: calc(24 * var(--u)); background: #fff; border-radius: 7px; display: flex; flex-direction: column; gap: calc(16 * var(--u)); }
.fu-pillar__t { font-weight: 700; font-size: max(18px, calc(26 * var(--u))); line-height: calc(34 / 26); text-transform: uppercase; }
.fu-pillar__b { font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: calc(31 / 20); }
.fu-pillar__b p + p { margin-top: calc(31 * var(--u)); }
.fu-anchors ul { display: flex; flex-wrap: wrap; gap: calc(16 * var(--u)); }
.fu-anchors a { display: flex; align-items: center; justify-content: center; width: calc(250 * var(--u)); min-width: 150px; height: calc(52 * var(--u)); min-height: 44px; padding: 0 calc(16 * var(--u)); background: var(--c-navy); color: #fff; border-radius: 7px; font-weight: 700; font-size: max(11px, calc(14 * var(--u))); line-height: calc(20 / 14); text-transform: uppercase; text-align: center; transition: background-color .2s; }
.fu-anchors a:hover { background: var(--c-gold-3); }

/* ---------------------------------------------------------------- 02 Seaside (mapa 1080x790 + text 600) */
.fu-seaside { scroll-margin-top: 0; }
.fu-seaside__row { display: flex; gap: calc(48 * var(--u)); align-items: flex-start; }
.fu-map { position: relative; margin: 0; flex: none; border-radius: 7px; overflow: hidden; background: #fff; }
.fu-map img { width: 100%; height: 100%; object-fit: cover; }
.fu-map--seaside { width: calc(1080 * var(--u)); height: calc(790 * var(--u)); }
.fu-map--summer { width: calc(1060 * var(--u)); height: calc(1110 * var(--u)); }
.fu-map__pois { position: absolute; inset: 0; }
.fu-poi { position: absolute; left: calc(var(--x) / 1080 * 100%); top: calc(var(--y) / 790 * 100%); display: flex; flex-direction: column; align-items: center; transform: translateX(-50%); }
.fu-poi__dot { --d: max(22px, calc(36 * var(--u))); display: grid; place-items: center; width: var(--d); height: var(--d); margin-top: calc(var(--d) / -2); border-radius: 50%; background: var(--c-brand); color: #fff; }
.fu-poi__dot .cs-ico { width: 70%; height: 70%; }
.fu-poi__l { margin-top: calc(3 * var(--u)); font-weight: 700; font-size: max(10px, calc(16 * var(--u))); line-height: calc(19.5 / 16); white-space: nowrap; color: var(--c-navy); }
.fu-seaside__txt { flex: 1; max-width: calc(600 * var(--u)); display: flex; flex-direction: column; gap: calc(28 * var(--u)); }
.fu-res { display: flex; gap: calc(48 * var(--u)); }
.fu-rcard { flex: 1 1 0; padding: calc(32 * var(--u)); background: #fff; border-radius: 7px; display: flex; flex-direction: column; gap: calc(20 * var(--u)); }
.fu-rcard .fu-p { min-height: calc(62 * var(--u)); }
.fu-rcard .fu-detail { border-top: 1px solid #d6deef; padding-top: calc(20 * var(--u)); }

/* ---------------------------------------------------------------- 03 Moose Hotel */
.fu-moose__img { flex: none; width: calc(1000 * var(--u)); height: calc(600 * var(--u)); }
.fu-moose__txt { flex: 1; display: flex; flex-direction: column; gap: calc(28 * var(--u)); }
.fu-link { font-weight: 700; font-size: max(12px, calc(14 * var(--u))); line-height: calc(20 / 14); align-self: flex-start; }
.fu-link:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---------------------------------------------------------------- 04 Flagship, 09 Winter (seznam vlevo, foto vpravo) */
.fu-list { flex: none; width: calc(664 * var(--u)); display: flex; flex-direction: column; gap: calc(24 * var(--u)); }
.fu-flag__img { flex: none; width: calc(1000 * var(--u)); height: calc(708 * var(--u)); }
.fu-winter__img { flex: none; width: calc(1000 * var(--u)); height: calc(450 * var(--u)); }

/* ---------------------------------------------------------------- 05 Highlands */
.fu-high__img { height: calc(971 * var(--u)); }
.fu-three { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(48 * var(--u)); }
.fu-three > div { display: flex; flex-direction: column; gap: calc(16 * var(--u)); }

/* ---------------------------------------------------------------- 06 Top of the mountain */
.fu-two { display: grid; grid-template-columns: repeat(2, 1fr); gap: calc(48 * var(--u)); }
.fu-landmark { display: flex; flex-direction: column; gap: calc(24 * var(--u)); }
.fu-landmark .fu-img { height: calc(706 * var(--u)); }

/* ---------------------------------------------------------------- 07 Summer Recreation Plan */
.fu-summer__row { display: flex; gap: calc(48 * var(--u)); align-items: flex-start; }
.fu-facts--dir, .fu-facts--dir > div { gap: calc(32 * var(--u)); }
.fu-facts--dir { flex: 1; max-width: calc(620 * var(--u)); }

/* ---------------------------------------------------------------- 08 Golf */
.fu-golf__img { flex: none; width: calc(1000 * var(--u)); height: calc(562 * var(--u)); }
.fu-golf__txt { flex: 1; display: flex; flex-direction: column; gap: calc(28 * var(--u)); }

/* ---------------------------------------------------------------- 10 Development timeline */
.fu-tl { padding-bottom: calc(233 * var(--u)); }
.fu-tl .fu-wrap { gap: calc(16 * var(--u)); }
.fu-tl .fu-intro { max-width: calc(1300 * var(--u)); }
.fu-route { position: relative; margin-top: calc(32 * var(--u)); height: calc(750 * var(--u)); }
.fu-route__cable { position: absolute; left: calc(12 * var(--u)); top: 0; width: calc(1704 * var(--u)); height: calc(320 * var(--u)); overflow: visible; }
.fu-route__cable line { stroke: var(--c-navy); stroke-width: 1.4; }
.fu-route__st { position: absolute; left: calc(var(--x) * var(--u)); top: calc(var(--y) * var(--u)); width: calc(48 * var(--u)); height: calc(60 * var(--u)); display: grid; place-items: center; color: var(--c-navy); background: #fff; border-radius: 50%; }
.fu-route__st .cs-ico { width: calc(40 * var(--u)); height: calc(40 * var(--u)); min-width: 22px; min-height: 22px; }
.fu-phases { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: calc(48 * var(--u)); align-items: start; }
.fu-phase { display: flex; flex-direction: column; }
.fu-phase--1 { padding-top: calc(348 * var(--u)); }
.fu-phase--2 { padding-top: calc(252.5 * var(--u)); }
.fu-phase--3 { padding-top: calc(151 * var(--u)); }
.fu-phase__type { font-weight: 700; font-size: max(10px, calc(14 * var(--u))); line-height: calc(20 / 14); color: #cc994a; text-align: center; }
.fu-phase__n { margin-top: calc(8 * var(--u)); font-weight: 800; font-size: max(30px, calc(64 * var(--u))); line-height: calc(72 / 64); text-align: center; text-transform: uppercase; }
.fu-phase--1 .fu-phase__n { font-weight: 700; font-size: max(26px, calc(48 * var(--u))); line-height: calc(28 / 48); }
.fu-phase__proj { margin-top: calc(32 * var(--u)); padding: 0 calc(32 * var(--u)); }
.fu-phase--1 .fu-phase__proj { margin-top: calc(42 * var(--u)); padding-left: calc(178 * var(--u)); padding-right: 0; }
.fu-area { font-weight: 700; font-size: max(10px, calc(14 * var(--u))); line-height: calc(20 / 14); color: #cc994a; }
.fu-proj { display: flex; flex-direction: column; gap: calc(16 * var(--u)); margin-top: calc(16 * var(--u)); }
.fu-proj + .fu-area { margin-top: calc(32 * var(--u)); }
.fu-phase--1 .fu-proj + .fu-area { margin-top: 0; }
.fu-proj li { display: flex; flex-direction: column; gap: calc(4 * var(--u)); }
.fu-proj--pad { padding-bottom: calc(29 * var(--u)); }
.fu-proj__n { font-weight: 400; font-size: max(14px, calc(20 * var(--u))); line-height: calc(31 / 20); }
.fu-proj__d { font-weight: 500; font-size: max(12px, calc(16 * var(--u))); line-height: calc(25 / 16); }
.fu-phased { margin-top: calc(32 * var(--u)); border-top: 1px solid var(--c-navy); padding-top: calc(32 * var(--u)); min-height: calc(210 * var(--u)); }
.fu-phased__list li { padding-left: calc(32 * var(--u)); }
.fu-status { margin-top: calc(8 * var(--u)); font-weight: 500; font-size: max(12px, calc(16 * var(--u))); line-height: calc(25 / 16); }
.fu-phased__list { margin-top: calc(24 * var(--u)); display: grid; grid-template-columns: repeat(3, 1fr); column-gap: calc(48 * var(--u)); row-gap: calc(23 * var(--u)); font-weight: 400; font-size: max(14px, calc(20 * var(--u))); line-height: calc(31 / 20); }

/* ---------------------------------------------------------------- REAL ESTATE (977:3941, #021675) */
.fu-own { position: relative; z-index: 2; background: var(--c-navy-2); color: #fff; padding: calc(110 * var(--u)) 0 calc(126 * var(--u)); box-shadow: 0 4px 34px rgba(0, 0, 0, .25); }
.fu-own .cs-wrap { padding-inline: calc(107 * var(--u)); }
.fu-own__h { line-height: calc(46 / 52); }
.fu-own__h em { display: block; font-size: calc(35 / 52 * 1em); line-height: calc(46 / 35); margin-top: 6px; }
.fu-own__p { max-width: calc(609 * var(--u)); margin-top: calc(19 * var(--u)); margin-left: calc(-4 * var(--u)); font-weight: 500; font-size: max(15px, calc(20 * var(--u))); line-height: 1.3; }
.fu-own .cs-btn { margin-top: calc(35 * var(--u)); min-width: calc(211 * var(--u)); }
.fu-own__cards { display: flex; gap: calc(28 * var(--u)); margin-top: calc(119 * var(--u)); margin-left: calc(4 * var(--u)); }
.fu-recard { position: relative; flex: none; width: calc(514 * var(--u)); height: calc(289 * var(--u)); border-radius: var(--r); overflow: hidden; isolation: isolate; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding-bottom: calc(35 * var(--u)); }
.fu-recard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .6s var(--ease); }
.fu-recard::before { content: ""; position: absolute; inset: 0; background: rgba(0, 23, 122, .30); z-index: -1; }
.fu-recard:hover img { transform: scale(1.04); }
.fu-recard__logo { position: absolute; top: calc(31 * var(--u)); left: 50%; transform: translateX(-50%); width: calc(179 * var(--u)); height: auto; color: #fff; }
.fu-recard__logo--rh { top: calc(52 * var(--u)); width: calc(148 * var(--u)); }
.fu-recard__name { position: absolute; top: calc(92 * var(--u)); left: 0; right: 0; text-align: center; font-weight: 500; font-size: max(20px, calc(27 * var(--u))); line-height: 1.7; text-transform: uppercase; }
.fu-recard__btn { display: inline-flex; align-items: center; gap: 10px; height: calc(60 * var(--u)); min-height: 40px; padding: 0 calc(21 * var(--u)); border: 3px solid #fff; border-radius: var(--r); font-weight: 700; font-size: max(11px, calc(13 * var(--u))); letter-spacing: .3px; text-transform: uppercase; }
.fu-recard:hover .fu-recard__btn { background: #fff; color: var(--c-navy); }

/* ---------------------------------------------------------------- RESPONZIVITA */
@media (max-width: 1279px) {
  .fu-own__cards { flex-wrap: wrap; }
  .fu-pillars { flex-wrap: wrap; }
  .fu-pillar { flex: 1 1 calc(50% - 16px); min-height: 0; }
}
@media (max-width: 1279px) {
  .fu-sec { padding: 56px 0; }
  .fu-wrap { padding-inline: var(--gut); gap: 20px; }
  .fu-split, .fu-seaside__row, .fu-summer__row, .fu-res { flex-direction: column; gap: 24px; }
  .fu-split--rev { flex-direction: column-reverse; }
  .fu-map--seaside, .fu-map--summer, .fu-moose__img, .fu-flag__img, .fu-winter__img, .fu-golf__img { width: 100%; height: auto; }
  .fu-map--seaside { aspect-ratio: 1080 / 790; }
  .fu-map--summer { aspect-ratio: 1060 / 1110; }
  .fu-moose__img { aspect-ratio: 1000 / 600; }
  .fu-flag__img { aspect-ratio: 1000 / 708; }
  .fu-winter__img { aspect-ratio: 1000 / 450; }
  .fu-golf__img { aspect-ratio: 1000 / 562; }
  .fu-high__img { height: auto; aspect-ratio: 1728 / 971; }
  .fu-landmark .fu-img { height: auto; aspect-ratio: 840 / 706; }
  .fu-seaside__txt, .fu-list, .fu-facts--dir { width: 100%; max-width: none; }
  .fu-pillar { padding: 0; }
  .fu-three, .fu-two { grid-template-columns: 1fr; gap: 28px; }
  .fu-poi__l { font-size: 10px; }
  .fu-route { height: auto; margin-top: 24px; }
  .fu-route__cable, .fu-route__st { display: none; }
  .fu-phases { position: static; grid-template-columns: 1fr; row-gap: 32px; border-left: 2px solid var(--c-navy); padding-left: 20px; }
  .fu-phase--1, .fu-phase--2, .fu-phase--3 { padding-top: 0; }
  .fu-phase__type, .fu-phase__n { text-align: left; }
  .fu-phase__n, .fu-phase--1 .fu-phase__n { font-weight: 800; font-size: 32px; line-height: 1.15; }
  .fu-phase__proj, .fu-phase--1 .fu-phase__proj { margin-top: 16px; padding: 0; }
  .fu-phase--1 .fu-proj + .fu-area { margin-top: 24px; }
  .fu-proj--pad { padding-bottom: 0; }
  .fu-phased { margin-top: 40px; min-height: 0; }
  .fu-phased__list { grid-template-columns: 1fr; padding-left: 0; row-gap: 8px; }
  .fu-tl { padding-bottom: 56px; }
  .fu-phased__list li { padding-left: 0; }
  .fu-own .cs-wrap { padding-inline: var(--gut); }
  .fu-recard { width: 100%; max-width: 515px; height: 240px; }
}
@media (max-width: 767px) {
  .fu-pillar { flex-basis: 100%; }
  .fu-anchors a { width: auto; min-width: 0; flex: 1 1 calc(50% - 8px); }
  .fu-anchors li { display: flex; flex: 1 1 calc(50% - 8px); }
  .fu-poi__dot { --d: 18px; }
  .fu-poi__l { display: none; }
  .fu-own { padding-block: 64px; }
  .fu-own__cards { margin-top: 40px; }
  .fu-own__h em { font-size: .62em; }
}
