/* BIVO identity: Figtree; white and light blue surfaces; restrained brand accents. */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('fonts/figtree-latin-ext-wght-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('fonts/figtree-latin-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root {
  --blue: #225ecf;
  --navy: #003153;
  --brand-black: #000000;
  --brand-neutral: #eeeff0;
  --brand-sand: #ece4b7;
  --brand-sky: #edf2fb;
  --brand-sky-soft: #f6f9fd;
  --muted: #48657a;
  --line: #d3dff5;
  --pale: var(--brand-sky);
}
body {
  font-family: 'Figtree', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  background: #fff;
  color: var(--navy);
}
button, input, select, textarea, svg text { font-family: inherit; }
h1, h2, h3 { font-weight: 900; }
strong, b, .primary, .small-cta { font-weight: 700; }
header { background: #fff; border-bottom: none; }
body > header {
  position: sticky;
  top: 0;
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  transition: height .24s ease;
}
body > header.is-scroll-ready {
  position: fixed;
  left: 0;
  right: 0;
  height: var(--header-expanded-height);
  min-height: 0;
}
body > header.is-scroll-ready.is-compact { height: var(--header-compact-height); }
.site-header-spacer { pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  body > header { transition: none; }
}
.hero { background: #fff; }
.hero .properties { margin-top: 20px; }
h1 { max-width: 1100px; line-height: 1.08; letter-spacing: -.04em; text-wrap: balance; }
h1 span { color: var(--blue); }
.intro { max-width: 710px; font-size: 17px; line-height: 1.65; color: var(--muted); }
.selection-hint { font-size: 14px; color: var(--muted); }
.hero .property .label { font-size: 15px; font-weight: 700; }
.story, #zgodba.rental-mode, #zgodba.long-mode, #zgodba.hotel-mode { background: var(--brand-sky); }
#zgodba.home-mode { background: var(--brand-sky); }
.small-cta { border-color: var(--line); color: var(--blue); background: #fff; }
.small-cta:hover { background: var(--brand-sky); }
.primary { background: var(--blue); }
.primary:hover { background: var(--navy); }
.app-badge, #home-cinema .overview-status:not(.is-done) { background: var(--brand-sand); color: var(--navy); }
#home-cinema .hc-copy h2, .rc-copy h2, .hb-copy h2, .hb-welcome-static h2 { font-weight: 900; letter-spacing: -.035em; }
#home-cinema .hc-copy p:not(.eyebrow), .rc-copy p:not(.eyebrow), .hb-copy > p:last-of-type, .hb-welcome-static p:not(.eyebrow) {
  font-size: 16px;
  line-height: 1.6;
  color: var(--muted);
}
/* The finale continues the story's surface and type hierarchy. */
.story-ending .ending-brand { width: 96px; height: auto; margin: 0 auto 28px; }
#home-cinema .story-ending h2, #rental-cinema .story-ending h2,
#long-cinema .story-ending h2, #hotel-experience .story-ending h2 {
  font-weight: 900;
  letter-spacing: -.035em;
  color: var(--navy);
}
.story-ending .ending-benefit, .story-ending .hb-ownership-line {
  flex-shrink: 0;
  max-width: 650px;
  margin: 18px auto 0;
  font-size: 16px;
  line-height: 1.6;
  color: var(--muted);
}
.company-footer { background: var(--brand-sky-soft); border-top-color: var(--line); }
.company-footer address, .footer-contact { font-size: 14px; }
.footer-copyright { font-size: 12px; }
#contact-dialog { background: #fff; border-color: var(--line); }
#contact-dialog h2 { font-weight: 900; }
#contact-form label { font-size: 14px; }
#contact-form input, #contact-form select, #contact-form textarea { background: var(--brand-sky-soft); }
@media (max-width: 760px) {
  h1 { font-size: clamp(32px, 7.8vw, 48px); line-height: 1.1; letter-spacing: -.035em; }
  .intro { font-size: 16px; max-width: 540px; margin-top: 22px; }
  .hero .selection-hint { margin-top: 26px; }
  .hero .property .label { font-size: 14px; }
  #home-cinema .hc-copy p:not(.eyebrow), .rc-copy p:not(.eyebrow), .hb-copy > p:last-of-type, .hb-welcome-static p:not(.eyebrow) { font-size: 16px; line-height: 1.5; }
  .story-ending .ending-benefit, .story-ending .hb-ownership-line { font-size: 16px; line-height: 1.5; max-width: 34ch; }
  .story-ending .ending-brand { margin-bottom: 24px; }
}
