@font-face {
  font-family: "Neue Haas Grotesk Display Pro";
  src: url("fonts/NeueHaasDisplayRoman.woff2") format("woff2"), url("fonts/NeueHaasDisplayRoman.woff") format("woff"), url("fonts/NeueHaasDisplayRoman.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Neue Haas Grotesk Display Pro";
  src: url("fonts/NeueHaasDisplayMediu.woff2") format("woff2"), url("fonts/NeueHaasDisplayMediu.woff") format("woff"), url("fonts/NeueHaasDisplayMediu.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Neue Haas Grotesk Display Pro";
  src: url("fonts/NeueHaasDisplayBold.woff2") format("woff2"), url("fonts/NeueHaasDisplayBold.woff") format("woff"), url("fonts/NeueHaasDisplayBold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Neue Haas Grotesk Display Pro";
  src: url("fonts/NeueHaasDisplayBlack.woff2") format("woff2"), url("fonts/NeueHaasDisplayBlack.woff") format("woff"), url("fonts/NeueHaasDisplayBlack.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Neue Haas Grotesk Display Pro";
  src: url("fonts/NeueHaasDisplayRomanItalic.woff2") format("woff2"), url("fonts/NeueHaasDisplayRomanItalic.woff") format("woff"), url("fonts/NeueHaasDisplayRomanItalic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Neue Haas Grotesk Display Pro";
  src: url("fonts/NeueHaasDisplayMediumItalic.woff2") format("woff2"), url("fonts/NeueHaasDisplayMediumItalic.woff") format("woff"), url("fonts/NeueHaasDisplayMediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Neue Haas Grotesk Display Pro";
  src: url("fonts/NeueHaasDisplayBoldItalic.woff2") format("woff2"), url("fonts/NeueHaasDisplayBoldItalic.woff") format("woff"), url("fonts/NeueHaasDisplayBoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Neue Haas Grotesk Display Pro";
  src: url("fonts/NeueHaasDisplayBlackItalic.woff2") format("woff2"), url("fonts/NeueHaasDisplayBlackItalic.woff") format("woff"), url("fonts/NeueHaasDisplayBlackItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

/* Figma desktop 266:512 and mobile 319:4324. Preview only. */
.site-preview-page .site-shell { max-width: 1920px; margin-inline: auto; overflow: visible; }
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(var(--surface-rgb), .96); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.admin-bar .site-header { top: 32px; }
.developer-logo { display: block; width: 177px; height: 26px; object-fit: contain; }
.developer-name { display: block; margin-top: 0.35rem; color: var(--soft); font-size: 0.75rem; line-height: 1.3; }
.location-map { position: relative; display: block; margin: 0; width: 100%; min-height: 100%; align-self: stretch; overflow: hidden; background: var(--map); }
.location-map > img:first-child { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(1); }
.location-map .map-marker { position: absolute; left: 39.875%; top: 32.85%; width: 10.08%; height: auto; }
.location h2 { letter-spacing: -.04em; }
.site-nav { margin: 0; }
@media (min-width: 769px) {
  .site-footer { align-items: center; }
}
.site-hero { position: relative; isolation: isolate; display: flex; min-height: 883px; padding: 72px 0 85px 4.444%; }
.hero-copy { position: relative; z-index: 2; width: 500px; max-width: 45%; padding-block: 72px; }
.hero-copy h1 { font-size: clamp(5rem, 9.03vw, 8.125rem); line-height: .9154; letter-spacing: -.045em; }
.hero-copy .hero-title__rotator { display: block; width: 650px; max-width: calc(100vw - 64px); height: .95em; overflow: hidden; }
.hero-copy .hero-title__word { display: inline-block; width: auto; white-space: nowrap; transform-origin: left center; }
.hero-copy > p { max-width: 22rem; margin: 1.5rem 0 3rem; font-size: 1.375rem; line-height: 1.28; }
.split-heading p { font-size: 1.375rem; line-height: 1.28; }
.hero-image { position: absolute; z-index: -1; top: 72px; bottom: 85px; left: 4.444%; right: 0; overflow: hidden; }
.hero-image img { position: absolute; width: 169%; max-width: none; height: 180.16%; left: 16.76%; top: -43.92%; object-fit: cover; }
.hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--surface) 12%, rgba(var(--surface-rgb),.97) 22%, rgba(var(--surface-rgb),.87) 32%, rgba(var(--surface-rgb),.45) 45%, rgba(var(--surface-rgb),0) 62%); pointer-events: none; }
.gallery-slider__slides::after { display: none; }
.gallery-slide { overflow: hidden; }
.gallery-slide::after { content: ""; position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; height: 20%; border-radius: 0 0 .75rem .75rem; background: linear-gradient(to bottom, rgba(var(--deep-rgb),0), rgba(var(--deep-rgb),.72)); pointer-events: none; }
.button { min-height: 42px; padding: 11px 24px; line-height: 16px; gap: 20px; font-family: inherit; cursor: pointer; }
.button-arrow { display: inline-block; width: 16px; height: 12px; flex-shrink: 0; vertical-align: middle; }
.gallery-controls button { appearance: none; -webkit-appearance: none; padding: 0; line-height: 1; }
.gallery-caption { z-index: 3; }
.header-contact .button-arrow, .text-link .button-arrow, .button-light .button-arrow { filter: invert(1); }
.header-contact { display: inline-flex; align-items: center; gap: 12px; }
.header-contact .button-arrow { margin-left: 0; }
.text-link .button-arrow { margin-left: 12px; }
.facts { padding-bottom: 0; }
.facts > div { border: 0; padding-left: 66px; }
.facts > div::before { content: none; }
.fact-icon { position: absolute; left: 0; top: 18px; width: 50px; height: 50px; object-fit: contain; }
.area-figure { background: transparent; border: 1px solid var(--line); }
.area-figure strong { line-height: .9; text-align: center; }
.area-figure small { margin-top: -.35rem; line-height: .8; }
.status i { display: block; flex: 0 0 .55rem; width: .55rem; height: .55rem; }
.flexibility-title__loop { position: relative; }
.flexibility-title__loop::before { content: ""; position: absolute; z-index: 2; top: 0; right: 0; left: 0; height: .62em; background: linear-gradient(to bottom, var(--paper), rgba(244,243,239,0)); pointer-events: none; }
.flexibility-title__track { position: relative; z-index: 1; }
.quality { background: var(--warm); }
.quality > h2 { font-size: clamp(2.625rem, 5vw, 4.5rem); font-weight: 400; line-height: 1; letter-spacing: -.025em; max-width: 65rem; }
.feature-grid { margin-top: 90px; row-gap: 35px; }
.feature-grid article { border: 0; padding: 28px 24px 48px 0; gap: 30px; }
.feature-icon { display: block; flex: 0 0 70px; width: 70px; height: 70px; object-fit: contain; margin: 0; }
.feature-grid article > div { min-width: 0; }
.feature-grid h3 { font-size: clamp(1.6875rem, 3.333vw, 3rem); line-height: .96; letter-spacing: -.035em; }
.architecture { grid-template-columns: 430fr 890fr; gap: 56px; padding: 120px 0 120px 4.444%; }
.architecture > div { padding: 0; }
.architecture h2 { margin-top: 28px; }
.architecture img { height: 760px; }
.architecture img { border-radius: .75rem 0 0 .75rem; }
.section-intro { display: block; }
.floor-plan img { height: auto; min-height: 400px; aspect-ratio: 1312 / 829; }
.floor-plan-note { max-width: 42rem; margin: 1rem 0 0; color: var(--soft); font-size: .8125rem; line-height: 1.35; text-align: left; }
.floor-plan-empty { display: grid; min-height: 400px; margin: 0; place-items: center; color: var(--soft); font-size: .875rem; }
.availability-footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2.5rem; }
.availability-footer p { max-width: 34rem; margin: 0; color: var(--soft); font-size: .8125rem; line-height: 1.35; }
.availability-footer .text-link { margin-top: 0; }
.floor-plan { border-radius: .75rem; overflow: hidden; }
@keyframes floor-plan-enter { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .floor-plan__panel.is-entering { animation: floor-plan-enter .28s ease-out; }
  :is(.button, .header-contact, .text-link) .button-arrow,
  .contact-form .fluentform .ff-btn-submit::after { transition: transform .2s ease !important; }
  :is(.button, .header-contact, .text-link):focus-visible .button-arrow,
  .contact-form .fluentform .ff-btn-submit:focus-visible::after { transform: translateX(4px); }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  :is(.button, .header-contact, .text-link):hover .button-arrow,
  .contact-form .fluentform .ff-btn-submit:hover::after { transform: translateX(4px); }
}
.tabs button { appearance: none; -webkit-appearance: none; color: var(--ink); font: inherit; }
.cinematic-roof { height: 905px; }
.statement h2 { font-size: clamp(2.375rem, 5vw, 4.5rem); font-weight: 400; line-height: 1; letter-spacing: -.035em; }
.completion { min-height: 737px; }
.completion strong { letter-spacing: -.03em; }
.completion h2 { font-size: 3rem; line-height: .96; }
.contact h2 em, .split-heading em { font-style: normal; font-weight: 400; }
.contact-form input:focus, .contact-form textarea:focus { border-color: white; }
.site-preview-page :focus-visible { outline: 2px solid var(--focus); outline-offset: 5px; }
@media (min-width: 1921px) {
  .site-preview-page .site-hero,
  .site-preview-page .facts,
  .site-preview-page .cinematic,
  .site-preview-page .flexibility,
  .site-preview-page .availability,
  .site-preview-page .location,
  .site-preview-page .site-footer {
    box-shadow: 0 0 0 100vmax var(--surface);
    clip-path: inset(0 -100vmax);
  }
}
.site-preview-page main section[id] { scroll-margin-top: 40px; }
.menu-toggle { width: 28px; padding: 10px 0; appearance: none; -webkit-appearance: none; border: 0; background: transparent; color: var(--deep); }
.menu-toggle span { display: block; height: 1px; background: currentColor; margin-block: 5px; transition: transform .2s ease, margin .2s ease; }
.menu-toggle.is-open span:first-child { margin-block: 0; transform: translateY(.5px) rotate(45deg); }
.menu-toggle.is-open span:last-child { margin-block: 0; transform: translateY(-.5px) rotate(-45deg); }
@media (min-width: 769px) {
  .site-preview-page main section[id] { scroll-margin-top: 120px; }
  .editorial-copy { grid-column: 1; grid-row: 1; }
  .editorial .area-figure { grid-column: 2; grid-row: 1; }
}

/* Hoia suured pealkirjad loetavad ka pikemate eestikeelsete sõnadega. */
.site-preview-page .hero-copy h1,
.site-preview-page .editorial-copy h2,
.site-preview-page .split-heading h2,
.site-preview-page .statement h2,
.site-preview-page .section-intro h2,
.site-preview-page .architecture h2,
.site-preview-page .quality > h2,
.site-preview-page .feature-grid h3,
.site-preview-page .location h2,
.site-preview-page .completion h2,
.site-preview-page .contact h2 { letter-spacing: -.025em; }
.site-preview-page .completion p { max-width: none; }
.site-preview-page .area-figure strong { letter-spacing: -.04em; }
.site-preview-page .travel strong { letter-spacing: -.02em; }
.site-preview-page .status i { background: var(--status); }
.site-preview-page .architecture p { color: var(--text-on-dark-muted); }
.site-preview-page .contact { color: var(--text-on-dark); }
.site-preview-page .contact-details { color: var(--text-on-dark-muted); }
.site-preview-page .contact-links a { color: var(--text-on-dark); }
.site-preview-page .contact-details address { color: var(--text-on-dark-muted); }
.site-preview-page .contact-form .ff-el-input--label label { color: var(--text-on-dark); }
.site-preview-page .contact-form .fluentform .ff-el-form-control { color: var(--text-on-dark) !important; }
.site-preview-page .contact-form .text-danger,
.site-preview-page .contact-form .error { color: var(--error-text); }
.site-preview-page .contact-form .fluentform .ff-btn-submit { border-color: var(--text-on-dark) !important; background: var(--text-on-dark) !important; color: var(--deep) !important; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .flexibility-title__loop { height: auto; overflow: visible; }
  .flexibility-title__loop::before { display: none; }
  .flexibility-title__track { animation: none; transform: none; }
  .flexibility-title__set + .flexibility-title__set { display: none; }
}

.site-preview-page .contact-form .ff-message-success { color: var(--text-on-dark); border-radius: .75rem; }
.site-preview-page .hero-action > span { font-weight: 400; }
.site-preview-page .site-footer a,
.site-preview-page .site-footer a:visited { color: inherit; text-decoration: none; }
.privacy-page-shell .site-header { position: relative; }
.privacy-page { background: var(--surface); color: var(--ink); padding: 9rem 8vw 8rem; }
.privacy-page article { max-width: 760px; margin: 0 auto; }
.privacy-page h1 { max-width: 12ch; margin: 0; font-size: clamp(3rem, 7vw, 7rem); line-height: .92; letter-spacing: -.04em; overflow-wrap: anywhere; }
.privacy-eyebrow { margin: 0 0 1.5rem; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.privacy-updated { margin: 1.5rem 0 6rem; color: var(--muted); font-size: .875rem; }
.privacy-page h2 { margin: 3.5rem 0 1rem; font-size: 1.75rem; line-height: 1; letter-spacing: -.025em; }
.privacy-page p, .privacy-page address { max-width: 62ch; margin: 0 0 1rem; font-size: 1rem; line-height: 1.55; font-style: normal; }
.privacy-page a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.privacy-page strong { font-weight: 700; }
.privacy-page-shell .site-footer a { color: inherit; text-decoration: none; }
.cookie-consent { position: fixed; z-index: 100; right: 1.5rem; bottom: 1.5rem; display: flex; align-items: end; gap: 2rem; width: min(680px, calc(100vw - 3rem)); padding: 1.25rem 1.5rem; background: var(--deep); color: var(--text-on-dark); box-shadow: 0 12px 36px rgb(0 0 0 / 18%); }
.cookie-consent strong { display: block; font-size: 1rem; }
.cookie-consent p { max-width: 48ch; margin: .4rem 0 0; color: var(--text-on-dark-muted); font-size: .8125rem; line-height: 1.35; }
.cookie-consent a { color: var(--text-on-dark); text-decoration: underline; text-underline-offset: .15em; }
.cookie-consent__actions { display: flex; flex: none; gap: .5rem; }
.cookie-consent__actions button { appearance: none; border: 1px solid var(--text-on-dark); padding: .65rem .8rem; background: transparent; color: var(--text-on-dark); font: inherit; font-size: .75rem; cursor: pointer; }
.cookie-consent__actions button[data-cookie-consent="granted"] { background: var(--text-on-dark); color: var(--deep); }
.cookie-settings { position: fixed; z-index: 99; right: 1rem; bottom: 1rem; border: 1px solid var(--deep); border-radius: .75rem; padding: .5rem .7rem; background: var(--surface); color: var(--ink); font: inherit; font-size: .6875rem; cursor: pointer; box-shadow: 0 4px 16px rgb(0 0 0 / 12%); }
@media (max-width: 768px) {
  .privacy-page { padding: 5rem 20px 5rem; }
  .privacy-page h1 { font-size: clamp(2rem, 8vw, 3.75rem); }
  .privacy-updated { margin-bottom: 4rem; }
  .privacy-page h2 { margin-top: 2.75rem; font-size: 1.5rem; }
  .cookie-consent { right: 1rem; bottom: 1rem; display: block; width: calc(100vw - 2rem); padding: 1rem; }
  .cookie-consent__actions { margin-top: 1rem; }
  .cookie-settings { right: .75rem; bottom: .75rem; }
}
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}
@media (min-width: 769px) and (max-width: 1100px) {
  .site-hero { min-height: 720px; }
  .hero-copy { max-width: 45%; padding-block: 30px; }
  .hero-copy > p { font-size: 1.25rem; }
  .hero-copy > p { max-width: 20rem; margin-top: 20px; }
  .split-heading p { font-size: 1.25rem; line-height: 1.28; }
  .site-nav { gap: 18px; }
  .facts { grid-template-columns: repeat(2, 1fr); }
  .feature-grid article { gap: 16px; }
  .feature-icon { flex-basis: 50px; width: 50px; height: 50px; }
  .contact { gap: 40px; }
}
@media (max-width: 768px) {
	.site-preview-page main section[id] { scroll-margin-top: 90px; }
  .header-contact { display: none; }
  .site-hero { display: flex; min-height: 0; padding: 36px 20px 0; gap: 28px; }
  .hero-copy { max-width: none; width: 100%; padding: 0; }
  .hero-copy h1 { font-size: min(17.5vw, 4.5rem); line-height: 1; letter-spacing: -.025em; }
  .hero-copy .hero-title__rotator { width: 100%; max-width: none; }
  .hero-copy > p { margin-block: 1.75rem; font-size: .875rem; line-height: 1.375rem; }
  .hero-action { gap: 18px; }
  .hero-action > span { font-size: .8125rem; }
  .hero-image { position: relative; z-index: 0; inset: auto; width: calc(100% + 40px); height: 310px; flex: none; margin-inline: -20px; }
  .hero-image img { position: static; width: 100%; height: 100%; object-fit: cover; }
  .hero-image::after { display: none; }
  .gallery-controls { right: 1.5rem; bottom: 3.5rem; }
  .facts { padding: 30px 20px; }
  .facts > div { padding: 15px 0 15px 78px; min-height: 81px; }
  .facts span { margin-top: 0; }
  .fact-icon { top: 15px; }
  .editorial { padding: 64px 20px; gap: 36px; }
  .editorial-copy h2 { font-size: 2.375rem; line-height: 1; }
  .area-figure strong { font-size: 6.5rem; }
  .area-figure small { font-size: 4rem; margin-top: -.25rem; line-height: .8; }
  .flexibility, .quality, .availability { padding: 64px 20px; }
  .split-heading h2 { font-size: 2.875rem; line-height: 1; letter-spacing: -.025em; }
  .split-heading p { font-size: .875rem; line-height: 1.375rem; }
  .tabs { display: flex; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; touch-action: pan-x; }
  .tabs::-webkit-scrollbar { display: none; }
  .tabs button { flex: 0 0 auto; min-width: 8.5rem; min-height: 40px; border-right: 1px solid var(--deep); }
  .floor-plan img { height: 310px; min-height: 0; aspect-ratio: auto; }
  .floor-plan-note { margin-top: .75rem; font-size: .75rem; }
  .floor-plan-empty { min-height: 310px; padding: 1rem; text-align: center; }
  .availability-footer { display: block; margin-top: 2rem; }
  .availability-footer .text-link { margin-top: 1.5rem; }
  .statement { padding: 72px 20px; }
  .section-intro h2 { font-size: 2.875rem; }
  .architecture { padding: 64px 20px; gap: 30px; }
  .architecture > div { padding: 0; }
  .architecture h2 { font-size: 2.625rem; }
  .architecture img { height: auto; aspect-ratio: 1; border-radius: .75rem; }
  .quality > h2 { font-size: 2.875rem; line-height: 1; }
  .feature-grid { margin-top: 38px; }
  .feature-grid article { min-height: 180px; padding: 20px 0; }
  .feature-icon { width: 70px; height: 70px; margin-bottom: 16px; }
  .feature-grid h3 { font-size: 1.6875rem; line-height: 1; }
  .feature-grid p { margin-top: .3125rem; font-size: .875rem; line-height: 1.375rem; }
  .location { gap: 0; }
  .location-map { height: auto; min-height: 0; aspect-ratio: 4 / 3; }
  .location > img { width: 100%; height: 300px; min-height: 0; }
  .location > div { padding: 52px 20px; }
  .location h2 { font-size: 46px; }
  .travel { grid-template-columns: 1fr; gap: 30px; }
  .travel span { font-size: .875rem; }
  .travel strong { font-size: 3rem; }
  .cinematic-roof { height: 394px; }
  .completion { min-height: 0; padding: 70px 20px; gap: 28px; align-items: stretch; }
  .completion small { font-size: 1.6875rem; }
  .completion strong { font-size: 5.625rem; line-height: .9; margin-top: .5rem; }
  .completion h2 { font-size: 1.6875rem; line-height: 1; }
  .contact { padding: 64px 20px; }
  .contact h2 { font-size: 2.875rem; line-height: 1; }
  .site-footer { flex-direction: column; gap: 40px; }
  .site-nav.is-open { display: flex; position: absolute; z-index: 10; top: 100%; left: 0; right: 0; padding: 24px 20px; background: var(--surface); flex-direction: column; border-bottom: 1px solid #ccc; }
}
