/* DEKA Brand Layer 2.0 — the 2026 brand system (Lost & Found) applied on top of the Vebses deka-theme.
   The theme is token-driven (assets/css/tokens.css), so most of the rebrand is redefining its tokens on
   :root; this stylesheet is printed after the theme's, so equal-specificity rules win. Component rules
   below cover hard-coded values, the brand marks, identity tags and mono labels.
   Remove the plugin to restore the previous look. */

@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 400; font-display: fallback; src: url('../fonts/dm-mono-400-latin-ext.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: 'DM Mono'; font-style: normal; font-weight: 400; font-display: fallback; src: url('../fonts/dm-mono-400-latin.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 500; font-display: fallback; src: url('../fonts/dm-mono-500-latin-ext.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: 'DM Mono'; font-style: normal; font-weight: 500; font-display: fallback; src: url('../fonts/dm-mono-500-latin.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Noto Sans Georgian'; font-style: normal; font-weight: 100 900; font-stretch: 62.5% 100%; font-display: fallback; src: url('../fonts/noto-sans-georgian-georgian.woff2') format('woff2'); unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31; }
@font-face { font-family: 'Noto Sans Georgian'; font-style: normal; font-weight: 100 900; font-stretch: 62.5% 100%; font-display: fallback; src: url('../fonts/noto-sans-georgian-latin-ext.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: 'Noto Sans Georgian'; font-style: normal; font-weight: 100 900; font-stretch: 62.5% 100%; font-display: fallback; src: url('../fonts/noto-sans-georgian-latin.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  /* brand palette */
  --dk-black: #222122; --dk-cashmere: #BCAA7D; --dk-off: #FAF7F6;
  --dk-sand: #BCAE8F; --dk-charcoal: #2D2D2D; --dk-graphite: #4A4A4A; --dk-stone: #D1CDC3;
  --dk-fog: #F5F2EF; --dk-concrete: #E0DCD5;
  --dk-line: rgba(250, 247, 246, .16); --dk-line-dark: rgba(34, 33, 34, .14);
  /* titles: the theme's Georgian caps face (TBC Contractica CAPS, @font-face in the theme's tokens.css); FiraGO fills
     the few glyphs it lacks (²) */
  --dk-display: "TBCCaps", "FiraGO", "Noto Sans Georgian", "Noto Sans", sans-serif;
  --dk-body: "Loos", "Noto Sans Georgian", "Noto Sans", sans-serif;
  --dk-mono: "DM Mono", "Noto Sans Georgian", ui-monospace, Menlo, monospace;
  --dk-ease: cubic-bezier(.2, .7, .2, 1);

  /* theme palette -> brand palette (the theme's semantic tokens resolve against these) */
  --deka-oxblood-900: #171617; --deka-oxblood-800: var(--dk-black); --deka-oxblood-700: var(--dk-black);
  --deka-oxblood-600: var(--dk-graphite); --deka-oxblood-500: var(--dk-charcoal); --deka-oxblood-050: var(--dk-fog);
  --deka-sand-050: var(--dk-off); --deka-sand-075: var(--dk-fog); --deka-sand-100: var(--dk-fog);
  --deka-sand-300: var(--dk-stone); --deka-taupe-500: var(--dk-graphite);
  --deka-white: var(--dk-off); --deka-black: var(--dk-black);
  --deka-grey-700: var(--dk-graphite); --deka-grey-500: #6F6B68; --deka-grey-400: #8F8B87; --deka-grey-300: var(--dk-stone);
  --deka-grey-200: var(--dk-concrete); --deka-grey-100: var(--dk-concrete); --deka-grey-050: var(--dk-fog);
  --deka-teal-900: var(--dk-black); --deka-green-900: var(--dk-black);
  --deka-maroon: var(--dk-black); --deka-project-accent: var(--dk-black); --deka-project-colour: var(--dk-black);
  --deka-surface-card: rgba(255, 255, 255, .55); --deka-border-card: var(--dk-line-dark); --deka-divider-card: var(--dk-line-dark);
  --deka-track: rgba(34, 33, 34, .12); --deka-focus-ring: var(--dk-black);
  --deka-font-display: var(--dk-display); --deka-font-body: var(--dk-body);
  --deka-tracking-tight: 0;
  /* sharp corners everywhere */
  --deka-radius-2xs: 0; --deka-radius-xs: 0; --deka-radius-sm: 0; --deka-radius-md: 0; --deka-radius-lg: 0; --deka-radius-pill: 0;
  --deka-shadow-sm: 0 1px 3px rgba(34, 33, 34, .06); --deka-shadow-md: 0 4px 16px rgba(34, 33, 34, .08); --deka-shadow-lg: 0 10px 40px rgba(34, 33, 34, .16);
}
.deka-theme-dark {
  --deka-surface-page: var(--dk-black); --deka-surface-raised: var(--dk-charcoal);
  --deka-text: var(--dk-off); --deka-text-muted: var(--dk-stone); --deka-text-subtle: #8F8B87;
  --deka-border: var(--dk-line); --deka-divider: var(--dk-line);
  --deka-action: var(--dk-cashmere); --deka-action-text: var(--dk-black);
}

/* ---------- base ---------- */
body.deka-brand { background-color: var(--dk-off); color: var(--dk-black); font-family: var(--dk-body); }
.deka-brand ::selection { background: var(--dk-cashmere); color: var(--dk-black); }
.deka-brand :is(h1, h2, h3, h4, h5, .deka-h-1, .deka-h-2, .deka-h-3, .deka-h-4, .deka-h-5) { font-family: var(--dk-display); font-stretch: 72%; letter-spacing: 0; }
.deka-brand h6, .deka-brand .deka-h-6, .deka-brand .deka-eyebrow { font-family: var(--dk-mono); font-size: 11px; letter-spacing: 0; font-weight: 500; text-transform: uppercase; }
.deka-brand .deka-eyebrow { color: var(--dk-graphite); }
.deka-brand .deka-skip-link { border-radius: 0; color: var(--dk-black); }
/* the theme masks split headings; Georgian descenders need more room than .12em */
.deka-brand .deka-split__word { padding-block-end: .28em; margin-block-end: -.28em; }
.deka-brand [data-deka-split].is-words .deka-split__word { padding-block-end: 0; margin-block-end: 0; }
/* old per-project logo images are replaced by identity tags (see deka-brand.js) */
.deka-brand img.deka-card__logo[data-deka-swapped], .deka-brand img.deka-filters__project-logo[data-deka-swapped], .deka-brand img.deka-apartment__logo[data-deka-swapped] { display: none !important; }

/* mono labels */
.deka-brand :is(.deka-search__label, .deka-project-tile__status, .deka-project-tile__gauge-label, .deka-home-about__label, .deka-menu__heading,
  .deka-project-card__meta, .deka-footer__heading, .deka-project-hero__status dt, .deka-figure__label, .deka-stat__label, .deka-contact__block-title,
  .deka-filters__title, .deka-option__label, .deka-filters__project-name, .deka-card__status, .deka-card__meta-item, .deka-chip__label,
  .deka-sort__trigger, .deka-sort__option, .deka-form__label, .deka-choice__label, .deka-news-card__tag, .deka-news-card__date, .deka-picker__badge,
  .deka-header__contact-label, .deka-header__contact-number, .deka-lang, .deka-footer__project-place, .deka-footer__credit, .deka-project-tile__location,
  .deka-project-card__location, .deka-menu__contact-line, .deka-results__count, .deka-map__place, .deka-about-map__list) {
  font-family: var(--dk-mono); letter-spacing: 0; font-weight: 500;
}
.deka-brand :is(.deka-search__label, .deka-project-tile__status, .deka-project-tile__gauge-label, .deka-home-about__label, .deka-menu__heading,
  .deka-project-card__meta, .deka-footer__heading, .deka-project-hero__status dt, .deka-figure__label, .deka-stat__label, .deka-contact__block-title,
  .deka-filters__title, .deka-option__label, .deka-filters__project-name, .deka-card__status, .deka-card__meta-item, .deka-form__label, .deka-choice__label,
  .deka-news-card__tag, .deka-picker__badge) { font-size: 11px; letter-spacing: 0; text-transform: uppercase; line-height: 1.4; }

/* buttons: square, mono, tracked */
.deka-brand :is(.deka-header__cta, .deka-search__submit, .deka-projects__cta, .deka-home-mission__cta, .deka-project-card__cta, .deka-form__submit,
  .deka-filters__submit, .deka-results__load, .deka-results__empty-action, .deka-browser__clear, .deka-news-card__more, .deka-picker__trigger,
  .deka-map__link, .deka-news__pagination .page-numbers) {
  border-radius: 0 !important; font-family: var(--dk-mono) !important; font-size: 11px !important; letter-spacing: 0 !important; font-weight: 500 !important;
  text-transform: uppercase; box-shadow: none !important; transition: background .35s var(--dk-ease), color .35s var(--dk-ease), border-color .35s var(--dk-ease);
}

/* ---------- header ---------- */
.deka-brand .deka-header { color: var(--dk-off); transition: height .45s var(--dk-ease), background-color .35s var(--dk-ease), border-color .35s var(--dk-ease); }
.deka-brand :is(.deka-header.is-scrolled, .deka-header--solid) { background: rgba(250, 247, 246, .92); border-bottom-color: var(--dk-stone); color: var(--dk-black); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
/* scrolled down: a 70px bar of frosted glass (phones keep their 60px) */
.deka-brand .deka-header.is-scrolled:not(.is-menu-open) { height: min(var(--deka-header-height), 4.375rem); background: rgba(250, 247, 246, .6); border-bottom-color: rgba(34, 33, 34, .08); backdrop-filter: blur(24px) saturate(1.6); -webkit-backdrop-filter: blur(24px) saturate(1.6); }
.deka-brand .deka-header.is-menu-open { background: transparent; border-bottom-color: transparent; color: var(--dk-off); }
.deka-brand .deka-header__logo-mark { width: 9.75rem; height: auto; transition: width .45s var(--dk-ease), color .35s var(--dk-ease); }
.deka-brand .deka-header.is-scrolled:not(.is-menu-open) .deka-header__logo-mark { width: 8.75rem; }
/* over a hero the whole mark is white; the Cashmere D and house return once the header turns solid */
.deka-brand .deka-header__logo-mark path { transition: fill .35s var(--dk-ease); }
.deka-brand .deka-header:not(.is-scrolled):not(.deka-header--solid):not(.is-menu-open) .deka-header__logo-mark path { fill: currentColor; }
/* no hover effect on the logo: the theme's generic a:hover recoloured the letters */
.deka-brand .deka-header__logo, .deka-brand .deka-header__logo:hover, .deka-brand .deka-header__logo:focus, .deka-brand .deka-header__logo:active { color: inherit; opacity: 1; } /* the theme centres the logo with translateX(-50%); never reset its transform */
.deka-brand .deka-header__logo:hover .deka-header__logo-mark { color: currentColor; }
.deka-brand :is(.deka-header.is-scrolled, .deka-header--solid) .deka-header__logo:hover .deka-header__logo-mark { color: var(--dk-black); }
.deka-brand .deka-header.is-menu-open .deka-header__logo:hover .deka-header__logo-mark { color: var(--dk-off); }
.deka-brand :is(.deka-header.is-scrolled, .deka-header--solid) .deka-header__logo-mark { color: var(--dk-black); }
.deka-brand .deka-header.is-menu-open .deka-header__logo-mark { color: var(--dk-off); }
.deka-brand .deka-lang { font-size: 12px; letter-spacing: 0; }
.deka-brand .deka-lang__item { opacity: .65; font-weight: 500; padding-bottom: 2px; border-bottom: 1px solid transparent; }
.deka-brand .deka-lang__item.is-current { opacity: 1; border-bottom-color: var(--dk-cashmere); }
.deka-brand :is(.deka-header.is-scrolled, .deka-header--solid) :is(.deka-lang__item:not(.is-current), .deka-lang__divider, .deka-header__contact-label) { color: var(--dk-graphite); }
.deka-brand :is(.deka-header.is-scrolled, .deka-header--solid) .deka-header__contact-icon { color: var(--dk-black); }
.deka-brand .deka-header__contact-label { font-size: 10px; letter-spacing: 0; text-transform: uppercase; opacity: .75; }
.deka-brand .deka-header__contact-number { font-size: 13px; letter-spacing: 0; }
.deka-brand .deka-header__cta { border-width: 1px; height: 2.625rem; padding-inline: 1.125rem; }
.deka-brand .deka-header__cta:hover { background: var(--dk-off); color: var(--dk-black); transform: none; }
.deka-brand :is(.deka-header.is-scrolled, .deka-header--solid) .deka-header__cta { color: var(--dk-black); border-color: var(--dk-black); }
.deka-brand :is(.deka-header.is-scrolled, .deka-header--solid) .deka-header__cta:hover { background: var(--dk-black); color: var(--dk-off); }
.deka-brand .deka-header.is-menu-open .deka-header__cta { color: var(--dk-off); border-color: var(--dk-off); }

/* fullscreen menu */
.deka-brand .deka-menu { background: var(--dk-black); color: var(--dk-off); }
.deka-brand .deka-menu__list a { font-family: var(--dk-display); font-stretch: 70%; font-weight: 500; font-size: clamp(1.75rem, 1.2rem + 2vw, 2.75rem); line-height: 1.15; color: var(--dk-off); }
.deka-brand .deka-menu__list a::after { background: var(--dk-cashmere); }
.deka-brand .deka-menu__list a:hover { color: var(--dk-cashmere); padding-left: 0; font-weight: 500; }
.deka-brand .deka-menu__contact-line { font-size: 12px; color: var(--dk-stone); }
.deka-brand .deka-menu__contact-line a:hover { color: var(--dk-off); }
.deka-brand .deka-menu__heading { color: var(--dk-cashmere); font-size: 11px !important; }
.deka-brand .deka-menu__social a { color: var(--dk-stone); }
.deka-brand .deka-menu__social a:hover { color: var(--dk-cashmere); }
.deka-brand .deka-project-card { border-radius: 0; background: var(--dk-charcoal); }
.deka-brand .deka-project-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(34, 33, 34, .55) 0%, rgba(34, 33, 34, 0) 45%); pointer-events: none; }
.deka-brand .deka-project-card__scrim { background: linear-gradient(to top, rgba(34, 33, 34, .92) 0%, rgba(34, 33, 34, .25) 50%, transparent 100%); }
.deka-brand .deka-project-card > .dk-lockup { position: absolute; top: 18px; left: 18px; z-index: 2; }
.deka-brand .deka-project-card__body { z-index: 1; }
.deka-brand .deka-project-card__meta { font-size: 10px; letter-spacing: 0; color: var(--dk-cashmere); }
.deka-brand .deka-project-card__title { font-family: var(--dk-display); font-stretch: 72%; font-weight: 600; letter-spacing: 0; color: var(--dk-off); }
.deka-brand .deka-project-card__location { font-size: 11px; color: var(--dk-stone); font-weight: 400; }
.deka-brand .deka-project-card__arrow { border-radius: 0; border-color: var(--dk-line); color: var(--dk-off); }
.deka-brand .deka-project-card__cta { background: var(--dk-cashmere); color: var(--dk-black); }
.deka-brand .deka-project-card__cta:hover { background: var(--dk-off); color: var(--dk-black); }

/* ---------- hero ---------- */
.deka-brand .deka-hero { background: var(--dk-black); }
.deka-brand .deka-hero__video { background: var(--dk-black); }
/* sized for the caps face, which runs wider than the condensed one: the headline stays on one line on desktop */
.deka-brand .deka-hero__title { font-family: var(--dk-display); font-stretch: 72%; font-weight: 700; font-size: clamp(2.125rem, 3.8vw, 4rem); line-height: 1.06; letter-spacing: 0; text-shadow: 0 2px 24px rgba(0, 0, 0, .28); }
.deka-brand .deka-hero__title strong { font-weight: 700; }
/* hero search: one row of cells on dark frosted glass — Cashmere mono labels over bare values, the edited cell
   underlined in Cashmere, and the submit as a flush Cashmere block */
.deka-brand .deka-search { border: 1px solid rgba(250, 247, 246, .16); border-radius: 0; color: var(--dk-off); }
/* the glass is the bar's ::before (smart-search.css), so the dropdowns can frost the footage themselves */
.deka-brand .deka-search::before { background: rgba(23, 22, 23, .56); }
.deka-brand .deka-hero .deka-search__label { font-size: 12px; }
.deka-brand .deka-search__field + .deka-search__field, .deka-brand .deka-search__field { border-color: rgba(250, 247, 246, .12); }
.deka-brand .deka-search__field::after { background: var(--dk-cashmere); }
.deka-brand .deka-search__label { color: var(--dk-cashmere); }
.deka-brand .deka-search__control { font-family: var(--dk-body); color: var(--dk-off); }
.deka-brand .deka-search__control::placeholder { color: rgba(250, 247, 246, .45); }
.deka-brand :is(.deka-search__range .deka-search__control, .deka-search__select) { border-bottom-color: rgba(250, 247, 246, .26); }
.deka-brand :is(.deka-search__range .deka-search__control, .deka-search__select):hover { border-bottom-color: rgba(250, 247, 246, .55); }
.deka-brand :is(.deka-search__range .deka-search__control:focus, .deka-search__select:focus-within) { border-bottom-color: var(--dk-cashmere); }
.deka-brand .deka-search__range-dash { background: rgba(250, 247, 246, .4); }
.deka-brand .deka-search__submit { background: var(--dk-cashmere); color: var(--dk-black); }
.deka-brand .deka-search__submit:hover { background: var(--dk-off); color: var(--dk-black); }
.deka-brand .deka-search__submit:focus-visible { outline-color: var(--dk-black); }
/* compact hero bar (smart-search.css): mono figures, a Cashmere fill on the sliders and on the active currency, square handles */
.deka-brand .deka-search__values { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; color: var(--dk-off); }
.deka-brand .deka-search__values-dash { color: rgba(250, 247, 246, .4); }
.deka-brand .deka-search__track { background: rgba(250, 247, 246, .2); }
.deka-brand .deka-search__fill { background: var(--dk-cashmere); }
.deka-brand .deka-search__thumb::-webkit-slider-thumb { border-radius: 0; background: var(--dk-off); box-shadow: 0 0 0 2px rgba(23, 22, 23, .55); }
.deka-brand .deka-search__thumb::-moz-range-thumb { border-radius: 0; background: var(--dk-off); box-shadow: 0 0 0 2px rgba(23, 22, 23, .55); }
.deka-brand .deka-search__thumb:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 2px rgba(23, 22, 23, .55), 0 0 0 4px var(--dk-cashmere); }
.deka-brand .deka-search__thumb:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 2px rgba(23, 22, 23, .55), 0 0 0 4px var(--dk-cashmere); }
.deka-brand .deka-search__dropdown-trigger { font-family: var(--dk-body); color: var(--dk-off); }
.deka-brand :is(.deka-search__menu, .deka-search__panel) { border-radius: 0; border-color: rgba(250, 247, 246, .16); background: rgba(23, 22, 23, .74); font-family: var(--dk-body); }
.deka-brand .deka-search__option { border-radius: 0; color: rgba(250, 247, 246, .8); }
.deka-brand :is(.deka-search__option:hover, .deka-search__option.is-active) { background: rgba(250, 247, 246, .07); color: var(--dk-off); }
.deka-brand .deka-search__option[aria-selected='true'] { color: var(--dk-cashmere); }
.deka-brand .deka-search__option-name::before { border-radius: 0; background: var(--dk-cashmere); }
.deka-brand .deka-search__option-count { font-family: var(--dk-mono); font-size: 11px; letter-spacing: 0; color: rgba(250, 247, 246, .45); }
.deka-brand .deka-search__currency { border-radius: 0; border-color: rgba(250, 247, 246, .26); }
.deka-brand .deka-search__currency-btn { border-radius: 0; font-family: var(--dk-mono); font-size: 12px; font-weight: 500; color: rgba(250, 247, 246, .7); }
.deka-brand .deka-search__currency-btn:hover { color: var(--dk-off); }
.deka-brand .deka-search__currency-btn.is-active { background: var(--dk-cashmere); color: var(--dk-black); }
.deka-brand .deka-search__currency-btn:focus-visible { outline-color: var(--dk-cashmere); }

/* ---------- projects (home carousel + archive) ---------- */
.deka-brand .deka-projects { background: var(--dk-fog); }
.deka-brand .deka-projects__title { font-family: var(--dk-display); font-stretch: 72%; font-weight: 700; font-size: clamp(2.5rem, 4vw, 3.5rem); line-height: 1.05; letter-spacing: 0; color: var(--dk-black); }
.deka-brand .deka-projects__description { font-family: var(--dk-body); font-size: 1.0625rem; line-height: 1.6; color: var(--dk-graphite); }
.deka-brand .deka-projects__cta { height: 3rem; border-color: var(--dk-black); color: var(--dk-black); }
.deka-brand .deka-projects__cta:hover { background: var(--dk-black); color: var(--dk-off); }
.deka-brand .deka-projects__arrow { border-radius: 0; border-color: var(--dk-stone); color: var(--dk-black); height: 3rem; width: 3rem; }
.deka-brand .deka-projects__arrow:hover:not(:disabled) { border-color: var(--dk-black); color: var(--dk-black); background: var(--dk-off); }
.deka-brand .deka-projects-archive__title { font-family: var(--dk-display); font-stretch: 72%; font-weight: 300; letter-spacing: 0; color: var(--dk-black); }
.deka-brand .deka-projects-archive__title-accent { font-weight: 700; }

.deka-brand .deka-project-tile__link { border-radius: 0; background: var(--dk-charcoal); }
.deka-brand .deka-project-tile__link::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(34, 33, 34, .6) 0%, rgba(34, 33, 34, 0) 42%); pointer-events: none; }
.deka-brand .deka-project-tile__link > .dk-lockup { position: absolute; top: 18px; left: 18px; z-index: 3; }
.deka-brand .deka-project-tile__head { padding-top: 4.25rem; }
.deka-brand .deka-project-tile__title { font-family: var(--dk-display); font-stretch: 72%; font-weight: 600; font-size: 1.5rem; line-height: 1.1; letter-spacing: 0; color: var(--dk-off); text-shadow: none; }
.deka-brand .deka-project-tile__status { color: var(--dk-cashmere); font-size: 10px; letter-spacing: 0; }
/* the circular sold-gauge becomes a badge opposite the identity tag, always visible */
.deka-brand .deka-project-tile__gauge { position: absolute; top: 18px; right: 18px; z-index: 3; width: auto; height: 30px; display: inline-flex; align-items: center; padding: 0 10px; border: 1px solid rgba(250, 247, 246, .35); background: rgba(34, 33, 34, .55); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); opacity: 1 !important; transform: none !important; }
.deka-brand .deka-project-tile__gauge svg { display: none; }
.deka-brand .deka-project-tile__gauge-text { position: static; flex-direction: row; align-items: center; gap: 8px; white-space: nowrap; opacity: 1 !important; }
.deka-brand .deka-project-tile__gauge-label { font-size: 10px; letter-spacing: 0; color: var(--dk-stone); }
.deka-brand .deka-project-tile__gauge-value { font-family: var(--dk-display); font-weight: 600; font-size: 14px; color: var(--dk-cashmere); }
.deka-brand .deka-project-tile__location { background: var(--dk-black); font-size: 11px; color: var(--dk-stone); font-weight: 400; box-shadow: inset 0 1px 0 var(--dk-line); }
.deka-brand .deka-project-tile__pin { color: var(--dk-cashmere); }

/* ---------- home: about band, mission ---------- */
.deka-brand .deka-home-about__band { background: var(--dk-black); color: var(--dk-off); }
.deka-brand .deka-home-about__title { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; color: var(--dk-cashmere); }
.deka-brand .deka-home-about__mark { color: var(--dk-cashmere); width: 1.125rem; height: 1.125rem; }
.deka-brand .deka-home-about__body p { font-family: var(--dk-body); font-size: clamp(1rem, .9rem + .45vw, 1.25rem); font-weight: 300; line-height: 1.55; color: rgba(250, 247, 246, .88); }
.deka-brand .deka-home-about__body p:first-child { font-family: var(--dk-display); font-stretch: 72%; font-weight: 500; font-size: clamp(1.5rem, 1rem + 1.5vw, 2.375rem); line-height: 1.2; color: var(--dk-off); }
.deka-brand .deka-home-about__value { font-family: var(--dk-display); font-stretch: 68%; font-weight: 300; letter-spacing: -.01em; color: var(--dk-off); }
.deka-brand .deka-home-about__label { color: var(--dk-stone); font-weight: 500; line-height: 1.4; }
.deka-brand .deka-home-about__figures { border-color: var(--dk-line); }
.deka-brand :is(.deka-home-about__frame, .deka-home-about__shot) { border-radius: 0; }
.deka-brand .deka-home-about__progress-thumb { background: var(--dk-cashmere); }
.deka-brand .deka-home-mission__banner { border-radius: 0; background: var(--dk-black); }
.deka-brand .deka-home-mission__banner::before { background: linear-gradient(90deg, rgba(34, 33, 34, .78) 0%, rgba(34, 33, 34, .6) 50%, rgba(34, 33, 34, .38) 100%); }
.deka-brand .deka-home-mission__statement { font-family: var(--dk-display); font-stretch: 76%; font-weight: 400; font-size: clamp(1.375rem, 1rem + 1.6vw, 2.375rem); line-height: 1.3; color: var(--dk-off); }
.deka-brand .deka-home-mission__cta { border: 0; background: var(--dk-cashmere); color: var(--dk-black); padding: 0 1.4rem; height: 2.875rem; }
.deka-brand .deka-home-mission__cta:hover { background: var(--dk-off); color: var(--dk-black); }
.deka-brand .deka-home-mission__cta:focus-visible { outline-color: var(--dk-cashmere); }

/* ---------- footer ----------
   One grid on the page's own gutter: the mark on its own row; the navigation, the contacts after it and the two
   project tags under both on the left, the photograph on the right beside them; the colophon across the full width.
   The content column is display:contents so its parts can be placed in that grid; fixed gaps instead of the theme's
   vh-based ones, no 80vh minimum. */
.deka-brand .deka-footer { --deka-footer-muted: var(--dk-stone); background: var(--dk-black); color: var(--dk-off); }
.deka-brand .deka-footer__inner {
  width: 100%; max-width: var(--deka-container-wide); min-height: 0; padding: 72px var(--deka-gutter) 28px;
  /* the photograph stays landscape so the whole Lisi complex fits, all three blocks (a column over every row was nearly
     square and cut one off): it spans the contacts and the projects only, and the mark sits above on its own */
  grid-template-columns: minmax(0, 1fr) clamp(22rem, 36vw, 34rem); grid-template-rows: auto auto auto auto;
  grid-template-areas: "logo logo" "columns media" "projects media" "colophon colophon"; gap: 0 clamp(2.5rem, 5vw, 5rem);
}
.deka-brand .deka-footer__content { display: contents; }
.deka-brand .deka-footer__logo { grid-area: logo; justify-self: start; width: 4.5rem; margin-bottom: 48px; color: var(--dk-off); }
.deka-brand .deka-footer__columns { grid-area: columns; grid-template-columns: auto minmax(0, 33rem); justify-content: start; gap: 40px 48px; } /* the navigation first, at the left edge, then the contacts, which keep two unwrapped columns at 33rem */
.deka-brand .deka-footer__nav { order: -1; }
.deka-brand .deka-footer__details { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(12.5rem, 100%), 1fr)); gap: 28px 32px; align-content: start; } /* one column where two would break the e-mail address */
.deka-brand .deka-footer__heading { margin: 0 0 8px; color: var(--dk-cashmere); }
.deka-brand .deka-footer__body { font-family: var(--dk-body); font-size: .9375rem; line-height: 1.6; color: var(--dk-stone); }
.deka-brand .deka-footer__body a:hover { color: var(--dk-off); text-decoration: none; }
.deka-brand .deka-footer__sep { margin-inline: 2px; opacity: .35; }
.deka-brand .deka-footer__body a[href^="tel:"] { white-space: nowrap; } /* two numbers on a line wrap at the bar between them, never inside one */
.deka-brand .deka-footer__links { gap: 10px; }
.deka-brand .deka-footer__links a, .deka-brand .deka-footer__link a { font-family: var(--dk-body); font-size: .9375rem; line-height: 1.4; color: var(--dk-stone); }
.deka-brand .deka-footer__links a:hover, .deka-brand .deka-footer__link.is-current a, .deka-brand .deka-footer__links .current-menu-item a { color: var(--dk-cashmere); }
.deka-brand .deka-footer__projects { grid-area: projects; align-self: end; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 48px; }
.deka-brand .deka-footer__project { gap: 14px; padding: 16px 20px; border-radius: 0; background: rgba(250, 247, 246, .04); border: 1px solid var(--dk-line); }
/* the project's identity tag (deka-brand.php puts it in place of the mark, the name and the address) */
.deka-brand .deka-footer__lockup { --dk-lh: 34px; }
.deka-brand .deka-footer__lockup .dk-tag { font-size: 11px; }
.deka-brand .deka-footer__project:hover .dk-tag, .deka-brand .deka-footer__project:hover .dk-tag::after { border-color: var(--dk-cashmere); }
.deka-brand .deka-footer__project:hover { transform: none; box-shadow: none; border-color: var(--dk-cashmere); }
.deka-brand .deka-footer__project-mark { width: 2.25rem; height: 2.25rem; border-radius: 0; background: var(--dk-charcoal) !important; color: var(--dk-cashmere); }
.deka-brand .deka-footer__project-mark svg { width: 1rem; height: 1rem; }
.deka-brand .deka-footer__project-name { font-family: var(--dk-display); font-stretch: 72%; font-size: .9375rem; font-weight: 600; color: var(--dk-off); }
.deka-brand .deka-footer__project-place { font-size: 11px; color: var(--dk-stone); font-weight: 400; }
.deka-brand .deka-footer__media { grid-area: media; min-height: 0; max-height: calc(clamp(22rem, 36vw, 34rem) / 1.55); border-radius: 0; }
/* as tall as the contacts and the projects beside it, but never narrower than 1.55:1, which still holds all three blocks of
   extcam-09 (16:9, so the frame trims only its sides); the blocks sit a touch right of centre */
.deka-brand .deka-footer__image { object-position: 52% 50%; }
.deka-brand .deka-footer__colophon { grid-area: colophon; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; margin-top: 56px; padding-top: 20px; border-top-color: var(--dk-line); }
.deka-brand .deka-footer__credit { font-size: 11px; color: rgba(250, 247, 246, .55); font-weight: 400; }

/* ---------- page / project heroes ---------- */
.deka-brand .deka-page-hero { border-radius: 0; background-color: var(--dk-black); }
.deka-brand .deka-page-hero__scrim { background: rgba(34, 33, 34, .55); }
.deka-brand .deka-page-hero__title { font-family: var(--dk-display); font-stretch: 72%; font-weight: 300; letter-spacing: 0; }
.deka-brand .deka-page-hero__accent { font-weight: 700; }

/* ---------- project page ---------- */
.deka-brand .deka-project-figures__image { border-radius: 0; }
.deka-brand .deka-figure__value { font-family: var(--dk-display); font-stretch: 68%; font-weight: 300; color: var(--dk-black); }
.deka-brand .deka-figure__label { color: var(--dk-graphite); }
.deka-brand .deka-project-benefits { background: var(--dk-black) !important; color: var(--dk-off); }
.deka-brand .deka-project-faq__image { border-radius: 0; }
.deka-brand .deka-project-faq__title { font-family: var(--dk-display); font-stretch: 72%; font-weight: 700; letter-spacing: 0; }
.deka-brand .deka-faq { border-bottom-color: var(--dk-stone); }
.deka-brand .deka-faq__question { font-family: var(--dk-body); font-weight: 500; }
.deka-brand .deka-faq__answer { font-family: var(--dk-body); font-weight: 400; color: var(--dk-graphite); }
.deka-brand .deka-project-cta__band { border-radius: 0; background: var(--dk-black); }
.deka-brand .deka-project-cta__band::before { background: linear-gradient(90deg, rgba(34, 33, 34, .8) 0%, rgba(34, 33, 34, .55) 100%); }
.deka-brand .deka-project-cta__title { font-family: var(--dk-display); font-stretch: 74%; font-weight: 300; line-height: 1.3; color: var(--dk-off); }
.deka-brand .deka-project-map__frame { border-radius: 0; background: var(--dk-fog); }
/* ---------- project page (rebuilt 2026-10): hero, facts bar, about, apartments, gallery, benefits, location, closing band ---------- */
/* project hero — REPLACES the existing hero block (deka-brand.css lines 244-248; the old .deka-project-hero__statuses rule is dead) */
.deka-brand .deka-project-hero { background-color: var(--dk-black); --deka-project-hero-rule: var(--dk-line); --deka-project-hero-outline: rgba(250, 247, 246, .55); }
.deka-brand .deka-project-hero__title { font-family: var(--dk-display); font-stretch: 72%; font-weight: 700; letter-spacing: 0; color: var(--dk-off); }
.deka-brand .deka-project-hero__eyebrow { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; line-height: 1.4; color: var(--dk-stone); }
.deka-brand .deka-project-hero__status dt { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; line-height: 1.4; color: var(--dk-cashmere); }
.deka-brand .deka-project-hero__status dd { font-family: var(--dk-body); font-weight: 400; color: var(--dk-off); }
.deka-brand .deka-project-hero__button, .deka-brand .deka-project-hero__tag { border-radius: 0; font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; }
.deka-brand .deka-project-hero__button { transition: background-color .35s var(--dk-ease), border-color .35s var(--dk-ease), color .35s var(--dk-ease); }
.deka-brand .deka-project-hero__button--primary { background-color: var(--dk-cashmere); border-color: var(--dk-cashmere); color: var(--dk-black); }
.deka-brand .deka-project-hero__button--ghost { background-color: transparent; border-color: rgba(250, 247, 246, .55); color: var(--dk-off); }
.deka-brand .deka-project-hero__button:hover, .deka-brand .deka-project-hero__button:focus-visible { background-color: var(--dk-off); border-color: var(--dk-off); color: var(--dk-black); }
.deka-brand .deka-project-hero__tag { border-color: var(--dk-cashmere); color: var(--dk-cashmere); }
.deka-brand .deka-project-hero :focus-visible { outline-color: var(--dk-off); }
.deka-brand .deka-project-facts { --deka-facts-rule: var(--dk-concrete); background: var(--dk-off); }
.deka-brand .deka-project-facts__label,
.deka-brand .deka-project-facts__note { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; color: var(--dk-graphite); }
.deka-brand .deka-project-facts__figure { font-family: var(--dk-display); color: var(--dk-black); letter-spacing: 0; }
.deka-brand .deka-project-apartments__map-eyebrow,
.deka-brand .deka-project-apartments__count,
.deka-brand .deka-project-apartments__spec dt { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; text-transform: uppercase; line-height: 1.4; }
.deka-brand .deka-project-apartments__map,
.deka-brand .deka-project-apartments__map:hover { background: var(--dk-black); color: var(--dk-off); border-radius: 0; }
.deka-brand .deka-project-apartments__map-eyebrow { color: var(--dk-cashmere); }
.deka-brand .deka-project-apartments__map-title { font-family: var(--dk-display); font-stretch: 72%; color: var(--dk-off); }
.deka-brand .deka-project-apartments__map-button { background: var(--dk-cashmere); color: var(--dk-black); border-radius: 0; }
.deka-brand .deka-project-apartments__type { background: var(--dk-off); color: var(--dk-black); border-color: var(--dk-concrete); border-radius: 0; }
.deka-brand .deka-project-apartments__type:hover,
.deka-brand .deka-project-apartments__type:focus-visible { border-color: var(--dk-black); color: var(--dk-black); }
.deka-brand .deka-project-apartments__spec { border-top-color: var(--dk-concrete); }
.deka-brand .deka-project-apartments__count,
.deka-brand .deka-project-apartments__spec dt { color: var(--dk-graphite); }
.deka-brand .deka-project-apartments__count::before { background: var(--dk-cashmere); }
.deka-brand .deka-project-apartments__map:focus-visible,
.deka-brand .deka-project-apartments__type:focus-visible { outline-color: var(--dk-black); }
/* project gallery (theme components/project-gallery): Concrete/Stone hairlines, black controls on light, Cashmere over photos and on the dark lightbox */
.deka-brand .deka-project-gallery__frame { background: var(--dk-concrete); }
.deka-brand .deka-project-gallery__frame:focus-visible { outline-color: var(--dk-cashmere); }
.deka-brand .deka-project-gallery__zoom { background: var(--dk-cashmere); color: var(--dk-black); }
.deka-brand .deka-project-gallery__progress { background: var(--dk-concrete); }
.deka-brand .deka-project-gallery__progress-fill { background: var(--dk-black); }
.deka-brand .deka-project-gallery__button { border-color: var(--dk-stone); color: var(--dk-black); }
.deka-brand .deka-project-gallery__button:is(:hover:not([aria-disabled='true']), :focus-visible) { border-color: var(--dk-black); background: var(--dk-black); color: var(--dk-off); }
.deka-brand .deka-project-gallery__button:focus-visible { outline-color: var(--dk-black); }
.deka-brand .deka-project-gallery__lightbox { --deka-lightbox-line: var(--dk-line); background: rgba(34, 33, 34, .97); color: var(--dk-off); }
.deka-brand :is(.deka-project-gallery__lightbox-title, .deka-project-gallery__lightbox-count) { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; }
.deka-brand .deka-project-gallery__lightbox-count { color: var(--dk-cashmere); }
.deka-brand .deka-project-gallery__lightbox-button:is(:hover, :focus-visible) { border-color: var(--dk-cashmere); background: var(--dk-cashmere); color: var(--dk-black); }
.deka-brand .deka-project-gallery__lightbox-button:focus-visible { outline-color: var(--dk-cashmere); }
.deka-brand .deka-project-benefits__index { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; color: var(--dk-cashmere); }
/* project map: legible pin on the grey tiles (the brand pin is black with box-shadow:none), Cashmere hover on the zoom buttons.
   Hover selector carries .deka-project-map twice-deep to outrank the theme rule, which is scoped one class above leaflet.css. */
.deka-brand .deka-project-map .deka-map__pin { box-shadow: 0 0 0 2px var(--dk-off); }
.deka-brand .deka-project-map .deka-project-map__canvas.leaflet-container .leaflet-bar a:hover { background: var(--dk-cashmere); color: var(--dk-black); }
/* project-cta: sold-out variant (current projects) */
.deka-brand .deka-project-cta--sold-out .deka-project-cta__band::before { background: linear-gradient(90deg, rgba(34, 33, 34, .9) 0%, rgba(34, 33, 34, .74) 100%); }
.deka-brand .deka-project-cta .deka-section-head__eyebrow { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; color: var(--dk-cashmere); }
.deka-brand .deka-project-cta__call { border-radius: 0; background: var(--dk-cashmere); color: var(--dk-black); font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; transition: background .35s var(--dk-ease), color .35s var(--dk-ease); }
.deka-brand .deka-project-cta__call:hover { background: var(--dk-off); color: var(--dk-black); }
.deka-brand .deka-project-cta__call:focus-visible { outline-color: var(--dk-cashmere); }
.deka-brand .deka-project-cta__card { border-radius: 0; border-color: var(--dk-line); color: var(--dk-off); transition: border-color .35s var(--dk-ease); }
.deka-brand .deka-project-cta__card:is(:hover, :focus-visible) { border-color: var(--dk-cashmere); }
.deka-brand .deka-project-cta__card:focus-visible { outline-color: var(--dk-cashmere); }
.deka-brand .deka-project-cta__card-media { background: var(--dk-charcoal); }
.deka-brand .deka-project-cta__card-media::after { background: linear-gradient(180deg, rgba(34, 33, 34, 0) 35%, rgba(34, 33, 34, .88) 100%); }
.deka-brand .deka-project-cta__card-title { font-family: var(--dk-display); font-stretch: 74%; font-weight: 400; letter-spacing: 0; color: var(--dk-off); }
.deka-brand :is(.deka-project-cta__card-meta, .deka-project-cta__card-count) { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; }
.deka-brand .deka-project-cta__card-meta { color: var(--dk-stone); }
.deka-brand .deka-project-cta__card-count { color: var(--dk-cashmere); }
.deka-brand .deka-project-cta__card:is(:hover, :focus-visible) .deka-project-cta__card-arrow { color: var(--dk-cashmere); }

/* ---------- forms (contact page + project CTA) ---------- */
.deka-brand .deka-form__label { color: var(--dk-graphite); }
.deka-brand .deka-form__input { border-radius: 0; border: 1px solid var(--dk-concrete); background: var(--dk-fog); font-family: var(--dk-body); color: var(--dk-black); }
.deka-brand .deka-form__input::placeholder { color: #8F8B87; }
.deka-brand .deka-form__input:focus { background: var(--dk-off); border-color: var(--dk-black); box-shadow: none; }
.deka-brand .deka-choice { border-radius: 0; border: 1px solid var(--dk-concrete); background: var(--dk-fog); }
.deka-brand .deka-choice:hover { background: var(--dk-off); border-color: var(--dk-stone); }
.deka-brand .deka-choice.is-active { border-color: var(--dk-black); background: var(--dk-off); }
.deka-brand .deka-choice__radio { border-color: var(--dk-stone); }
.deka-brand .deka-choice.is-active .deka-choice__radio { border-color: var(--dk-black); }
.deka-brand .deka-choice.is-active .deka-choice__radio::after { background: var(--dk-black); }
.deka-brand .deka-choice__label { color: var(--dk-graphite); }
.deka-brand .deka-choice.is-active .deka-choice__label { color: var(--dk-black); }
.deka-brand .deka-form__submit { background: var(--dk-black); color: var(--dk-off); }
.deka-brand .deka-form__submit:hover { background: var(--dk-cashmere); color: var(--dk-black); opacity: 1; }
.deka-brand .deka-form__success-title { font-family: var(--dk-display); font-stretch: 72%; }
.deka-brand .deka-form--compact .deka-form__input { border-radius: 0; background: rgba(250, 247, 246, .08); border: 1px solid rgba(250, 247, 246, .28); color: var(--dk-off); }
.deka-brand .deka-form--compact .deka-form__input:focus { background: rgba(250, 247, 246, .14); border-color: var(--dk-cashmere); }
.deka-brand .deka-form--compact .deka-form__submit { background: var(--dk-cashmere) !important; color: var(--dk-black) !important; border-radius: 0; }
.deka-brand .deka-form--compact .deka-form__submit:hover { background: var(--dk-off) !important; }

/* ---------- apartments browser ---------- */
/* the frame meets the header and the footer: no band above the title row or under the results, and the rule between
   filters and results runs the full height (the footer's top margin is dropped on this page) */
.deka-brand .deka-browser { font-family: var(--dk-body); padding-block: 0; }
.deka-brand.post-type-archive-apartment .deka-footer { margin-top: 0; }
.deka-brand .deka-browser__bar, .deka-brand .deka-browser__bar-title { min-height: 64px; }
.deka-brand .deka-browser__bar-tools { padding-block: 10px; }
.deka-brand .deka-browser__results { padding-top: 24px; padding-bottom: 64px; }
.deka-brand .deka-browser__title { font-family: var(--dk-display); font-stretch: 72%; font-weight: 600; font-size: 1.25rem; }
/* active filters: borderless tags on a light ground, a small label and a bare × */
.deka-brand .deka-chip { gap: 6px; padding: 5px 5px 5px 9px; border: 0; border-radius: 0; background: rgba(34, 33, 34, .06); color: var(--dk-black); }
.deka-brand .deka-chip__label { font-size: 11px; line-height: 1.2; }
.deka-brand .deka-chip__remove { width: 16px; height: 16px; border-radius: 0; background: none; color: var(--dk-graphite); transition: color .2s var(--dk-ease); }
.deka-brand .deka-chip__remove svg { width: 8px; height: 8px; }
.deka-brand .deka-chip__remove:hover { background: none; color: var(--dk-black); transform: none; }
.deka-brand .deka-browser__clear { padding: 5px 2px; border: 0; border-radius: 0; background: none; color: var(--dk-graphite); text-decoration: underline; text-decoration-color: var(--dk-stone); text-underline-offset: 3px; }
.deka-brand .deka-browser__clear:hover { color: var(--dk-black); text-decoration-color: currentColor; }
.deka-brand .deka-sort__trigger { font-family: var(--dk-mono); font-size: 11px; letter-spacing: 0; text-transform: uppercase; color: var(--dk-black); }
.deka-brand .deka-sort__menu { border-radius: 0; border: 1px solid var(--dk-black); background: var(--dk-off); }
.deka-brand .deka-sort__option { border-radius: 0; font-size: 11px; }
.deka-brand .deka-sort__option:hover, .deka-brand .deka-sort__option[aria-selected='true'] { background: var(--dk-fog); color: var(--dk-black); }
/* filters: a tighter rhythm and smaller controls, so the block options sit three to a row */
.deka-brand .deka-browser__sidebar { padding-top: 20px; padding-bottom: 48px; }
.deka-brand .deka-filters__section { margin-bottom: 18px; padding-bottom: 18px; }
.deka-brand .deka-filters__projects { gap: 8px; margin-top: 10px; }
.deka-brand .deka-filters__options { gap: 6px; margin-top: 10px; }
.deka-brand .deka-filters__options--inline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.deka-brand .deka-filters__options--inline .deka-option { justify-content: center; padding-inline: 8px; }
.deka-brand .deka-option__marker { width: 14px; height: 14px; border-width: 1px; border-radius: 0; border-color: var(--dk-stone); }
.deka-brand .deka-option__marker::after { width: 6px; height: 6px; border-radius: 0; }
.deka-brand .deka-range { margin-top: 6px; padding-block: 4px; }
.deka-brand .deka-range__values { margin-bottom: 10px; font-family: var(--dk-mono); font-size: 12px; letter-spacing: 0; }
.deka-brand .deka-range__track, .deka-brand .deka-range__fill { border-radius: 0; }
.deka-brand .deka-results__count { font-size: 12px; color: var(--dk-graphite); font-weight: 400; }
.deka-brand .deka-results__count strong { color: var(--dk-black); }
.deka-brand .deka-results__load { border-radius: 0; border-color: var(--dk-black); color: var(--dk-black); }
.deka-brand .deka-results__load:hover { background: var(--dk-black); color: var(--dk-off); }
.deka-brand .deka-results__empty-title { font-family: var(--dk-display); font-stretch: 72%; }
.deka-brand .deka-results__empty-action { background: var(--dk-black); color: var(--dk-off); }
.deka-brand .deka-results__spinner { border-color: var(--dk-concrete); border-top-color: var(--dk-black); }
/* cards: the identity tag and the 3D/2D switch sit 16px in from the card's edges */
.deka-brand .deka-card { padding: 16px; border-radius: 0; border: 1px solid var(--dk-concrete); background: rgba(255, 255, 255, .55); }
.deka-brand .deka-card:hover { border-color: var(--dk-black); background: rgba(255, 255, 255, .8); }
.deka-brand .deka-card__media > .dk-lockup { position: absolute; top: 0; left: 0; z-index: 4; }
/* switches (3D/2D, ₾/$): the active side is Cashmere with a black label; black is reserved for the calls to action */
.deka-brand .deka-card__view { top: 0; right: 0; border-radius: 0; border: 1px solid var(--dk-stone); background: var(--dk-off); }
.deka-brand .deka-card__view-pill { border-radius: 0; background: var(--dk-cashmere); }
.deka-brand .deka-card__view-btn { border-radius: 0; font-family: var(--dk-mono); letter-spacing: 0; color: var(--dk-graphite); }
.deka-brand .deka-card__view-btn--active { color: var(--dk-black); }
.deka-brand .deka-card__status { border-radius: 0; font-size: 10px; padding: 5px 10px; }
.deka-brand .deka-card__headline, .deka-brand .deka-card__meta { border-bottom-color: var(--dk-concrete); }
.deka-brand .deka-card__bedroom, .deka-brand .deka-card__area { font-family: var(--dk-display); font-stretch: 72%; font-weight: 600; font-size: 1.125rem; }
.deka-brand .deka-card__meta-item { font-size: 10px; letter-spacing: 0; color: var(--dk-graphite); }
.deka-brand .deka-card__price { font-family: var(--dk-display); font-stretch: 72%; font-weight: 600; font-size: 1.125rem; color: var(--dk-black); }
.deka-brand .deka-card__link { color: var(--dk-black); }
.deka-brand .deka-currency { border-radius: 0; border: 1px solid var(--dk-stone); background: var(--dk-off); }
.deka-brand .deka-currency__pill { border-radius: 0; background: var(--dk-cashmere); }
.deka-brand .deka-currency__btn { border-radius: 0; font-family: var(--dk-mono); color: var(--dk-graphite); }
.deka-brand .deka-currency__btn--active { color: var(--dk-black); }

/* ---------- contact ---------- */
.deka-brand .deka-contact__aside { background: var(--dk-black); color: var(--dk-off); }
.deka-brand .deka-contact__title { font-family: var(--dk-display); font-stretch: 72%; font-weight: 700; letter-spacing: 0; }
.deka-brand .deka-contact__subtitle { font-family: var(--dk-body); font-weight: 300; color: rgba(250, 247, 246, .85); }
.deka-brand .deka-contact__block-title { color: var(--dk-cashmere); font-size: 11px; }
.deka-brand .deka-contact__block-body { font-family: var(--dk-body); color: var(--dk-stone); }
.deka-brand .deka-contact__block-body a:hover { color: var(--dk-off); }
.deka-brand .deka-contact__social-link { color: var(--dk-stone); }
.deka-brand .deka-contact__social-link:hover { color: var(--dk-cashmere); opacity: 1; }
.deka-brand .deka-contact__form { background: var(--dk-off); }

/* ---------- news ---------- */
.deka-brand .deka-news__title { font-family: var(--dk-display); font-stretch: 72%; font-weight: 300; letter-spacing: 0; color: var(--dk-black); }
.deka-brand .deka-news__title-accent { font-weight: 700; }
.deka-brand .deka-news-card__media { border-radius: 0; background: var(--dk-fog); }
.deka-brand .deka-news-card__placeholder { background: linear-gradient(135deg, var(--dk-fog), var(--dk-concrete)); }
.deka-brand .deka-news-card__title { font-family: var(--dk-display); font-stretch: 72%; font-weight: 600; }
.deka-brand .deka-news-card__foot { border-top-color: var(--dk-concrete); }
.deka-brand .deka-news-card__date, .deka-brand .deka-news-card__tag { font-size: 11px; color: var(--dk-graphite); }
.deka-brand .deka-news-card__tag-dot { background: var(--dk-cashmere); }
.deka-brand .deka-news-card__more { border-color: var(--dk-stone); color: var(--dk-black); }
.deka-brand .deka-news-card:hover .deka-news-card__more { border-color: var(--dk-black); color: var(--dk-black); background: var(--dk-black); color: var(--dk-off); }
.deka-brand .deka-news__pagination .page-numbers { border-color: var(--dk-stone); color: var(--dk-black); }
.deka-brand .deka-news__pagination .page-numbers.current, .deka-brand .deka-news__pagination .page-numbers:hover { border-color: var(--dk-black); background: var(--dk-black); color: var(--dk-off); }

/* ---------- about ---------- */
.deka-brand .deka-about-intro__text { font-family: var(--dk-display); font-stretch: 76%; font-weight: 400; font-size: clamp(1.375rem, 1rem + 1.3vw, 2.125rem); line-height: 1.35; color: var(--dk-black); }
.deka-brand .deka-stat__value { font-family: var(--dk-display); font-stretch: 68%; font-weight: 300; color: var(--dk-black); }
.deka-brand .deka-stat__label { color: var(--dk-graphite); }
.deka-brand .deka-partners__item { border-radius: 0; border-color: var(--dk-concrete); background: var(--dk-off); }
.deka-brand .deka-about-map__band { background: var(--dk-black); }
.deka-brand .deka-about-map__copy p { font-family: var(--dk-body); font-weight: 300; color: rgba(250, 247, 246, .9); }
.deka-brand .deka-about-map__canvas { border-radius: 0; background: var(--dk-fog); }
.deka-brand .deka-map__pin { background: var(--dk-black); border-radius: 50% 50% 50% 0; box-shadow: none; }
.deka-brand .deka-map__pin svg { color: var(--dk-cashmere); }
.deka-brand .deka-map__name { font-family: var(--dk-display); font-stretch: 72%; font-weight: 600; }
.deka-brand .deka-map__place { font-size: 11px; color: var(--dk-graphite); font-weight: 400; }
.deka-brand .deka-map__link { color: var(--dk-black); }
.deka-brand .deka-about-map__list { font-size: 12px; }
.deka-brand .deka-about-map__list span { color: var(--dk-graphite); }

/* ---------- identity tags: DEKA | PROJECT (a pointed tag, the house symbol rotated 90°) ---------- */
.deka-brand .dk-lockup { --dk-lh: 30px; position: relative; display: inline-flex; align-items: center; height: var(--dk-lh); color: var(--dk-off); pointer-events: none; }
.deka-brand .dk-lockup img { display: block; height: var(--dk-lh); width: auto; margin: 0; }
.deka-brand .dk-tag { position: relative; display: inline-flex; align-items: center; height: var(--dk-lh); margin-left: 9px; padding: 0 12px 0 11px; border: 1px solid rgba(250, 247, 246, .85); border-right: 0; font-family: var(--dk-mono); font-size: 10px; font-weight: 500; letter-spacing: 0; line-height: 1; text-transform: uppercase; white-space: nowrap; color: var(--dk-off); }
.deka-brand .dk-tag::after { content: ""; position: absolute; top: 50%; right: 0; width: calc(var(--dk-lh) * .707); height: calc(var(--dk-lh) * .707); border: 1px solid rgba(250, 247, 246, .85); border-left: 0; border-bottom: 0; transform: translate(50%, -50%) scaleX(.82) rotate(45deg); }
.deka-brand .dk-lockup--dark { color: var(--dk-black); }
.deka-brand .dk-lockup--dark .dk-tag, .deka-brand .dk-lockup--dark .dk-tag::after { border-color: rgba(34, 33, 34, .8); color: var(--dk-black); }
.deka-brand .dk-lockup--sm { --dk-lh: 24px; }
.deka-brand .dk-lockup--sm .dk-tag { font-size: 9px; padding: 0 10px 0 9px; margin-left: 7px; letter-spacing: 0; }
.deka-brand .deka-filters__project > .dk-lockup { pointer-events: none; }
.deka-brand .dk-hidden { display: none !important; }

/* ---------- "Request a call" popup (deka-brand.php prints it in the footer) ----------
   The previous site's Elementor popup: 820px, form left, photo right, close icon over the photo,
   fade in up / fade out down in .6s, in the new brand's colours. */
.deka-brand .dk-modal { position: fixed; inset: 0; z-index: 650; display: flex; align-items: center; justify-content: center; padding: 16px; }
.deka-brand .dk-modal__backdrop { position: absolute; inset: 0; background: rgba(34, 33, 34, .62); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); cursor: pointer; opacity: 0; transition: opacity .4s ease; }
.deka-brand .dk-modal.is-open .dk-modal__backdrop { opacity: 1; }
.deka-brand .dk-modal__panel { position: relative; display: flex; width: 820px; max-width: 95vw; max-height: 90vh; overflow: hidden; background: var(--dk-off); color: var(--dk-black); box-shadow: 0 25px 80px rgba(0, 0, 0, .35); opacity: 0; transform: translateY(40px); transition: opacity .6s ease, transform .6s cubic-bezier(.16, 1, .3, 1); }
.deka-brand .dk-modal.is-open .dk-modal__panel { opacity: 1; transform: none; }
.deka-brand .dk-modal.is-closing .dk-modal__panel { opacity: 0; transform: translateY(40px); }
.deka-brand .dk-modal__left { flex: 1; min-width: 0; min-height: 450px; padding: 42px; display: flex; flex-direction: column; justify-content: center; overflow-y: auto; }
.deka-brand .dk-modal__title { margin: 0 0 6px; font-family: var(--dk-display); font-stretch: 72%; font-weight: 700; font-size: 1.875rem; line-height: 1.15; color: var(--dk-black); }
.deka-brand .dk-modal__lead { margin: 0 0 28px; font-family: var(--dk-body); font-size: .9375rem; color: var(--dk-graphite); }
.deka-brand .dk-modal__right { position: relative; width: 380px; flex-shrink: 0; overflow: hidden; background: var(--dk-charcoal); }
.deka-brand .dk-modal__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform .6s ease; }
.deka-brand .dk-modal.is-open .dk-modal__image { transform: none; }
.deka-brand .dk-modal__close { position: absolute; top: 20px; right: 20px; z-index: 3; display: grid; place-items: center; width: 40px; height: 40px; border: 0; background: rgba(250, 247, 246, .95); color: var(--dk-black); cursor: pointer; box-shadow: 0 2px 10px rgba(0, 0, 0, .12); transition: background .3s var(--dk-ease), color .3s var(--dk-ease); }
.deka-brand .dk-modal__close:hover { background: var(--dk-black); color: var(--dk-off); }
.deka-brand .dk-modal__close:focus-visible { outline: 2px solid var(--dk-cashmere); outline-offset: 2px; }
html.dk-modal-open, html.dk-modal-open body { overflow: hidden; }
/* form */
.deka-brand .dk-form { font-family: var(--dk-body); }
.deka-brand .dk-form__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.deka-brand .dk-visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.deka-brand .dk-form__group { margin-bottom: 12px; }
.deka-brand .dk-form__group--email { margin-bottom: 16px; }
.deka-brand .dk-form__input { display: block; width: 100%; padding: 12px 14px; font-family: var(--dk-body); font-size: .9375rem; color: var(--dk-black); background: var(--dk-fog); border: 1px solid var(--dk-concrete); border-radius: 0; outline: none; transition: background .2s ease, border-color .2s ease; }
.deka-brand .dk-form__input::placeholder { color: #8F8B87; }
.deka-brand .dk-form__input:focus { background: var(--dk-off); border-color: var(--dk-black); }
.deka-brand .dk-form__label { display: block; margin-bottom: 10px; font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; color: var(--dk-graphite); }
.deka-brand .dk-form__projects { display: flex; flex-wrap: wrap; gap: 8px; }
.deka-brand .dk-chip { display: inline-flex; align-items: center; padding: 11px 16px; background: var(--dk-fog); border: 1px solid var(--dk-concrete); cursor: pointer; font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; color: var(--dk-graphite); transition: background .2s ease, border-color .2s ease, color .2s ease; }
.deka-brand .dk-chip:hover { background: var(--dk-off); border-color: var(--dk-stone); }
.deka-brand .dk-chip.is-active { background: var(--dk-off); border-color: var(--dk-black); color: var(--dk-black); }
.deka-brand .dk-chip input { position: absolute; opacity: 0; width: 0; height: 0; }
.deka-brand .dk-chip:has(input:focus-visible) { outline: 2px solid var(--dk-cashmere); outline-offset: 2px; }
.deka-brand .dk-form__error { margin: 10px 0 0; font-family: var(--dk-mono); font-size: 11px; letter-spacing: 0; color: #B0413E; }
.deka-brand .dk-form__submit { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 16px; padding: 15px 20px; font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; color: var(--dk-off); background: var(--dk-black); border: 0; border-radius: 0; cursor: pointer; transition: background .3s var(--dk-ease), color .3s var(--dk-ease); }
.deka-brand .dk-form__submit:hover { background: var(--dk-cashmere); color: var(--dk-black); }
.deka-brand .dk-form__submit:disabled { opacity: .6; cursor: not-allowed; }
.deka-brand .dk-form__submit-arrow { font-size: 15px; line-height: 1; }
.deka-brand .dk-form__spinner { width: 16px; height: 16px; border: 2px solid rgba(250, 247, 246, .3); border-top-color: var(--dk-off); border-radius: 50%; animation: dk-spin .8s linear infinite; }
@keyframes dk-spin { to { transform: rotate(360deg); } }
.deka-brand .dk-form__success { padding: 40px 16px; text-align: center; }
.deka-brand .dk-form__success-icon { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 16px; background: var(--dk-cashmere); color: var(--dk-black); font-size: 26px; }
.deka-brand .dk-form__success-title { margin: 0 0 8px; font-family: var(--dk-display); font-stretch: 72%; font-weight: 700; font-size: 1.375rem; color: var(--dk-black); }
.deka-brand .dk-form__success-text { margin: 0; font-size: .9375rem; line-height: 1.5; color: var(--dk-graphite); }
/* the same trigger on the apartment page */
.deka-brand .deka-apartment__cta { border-radius: 0; border: 1px solid var(--dk-black); background: var(--dk-black); color: var(--dk-off); font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background .3s var(--dk-ease), color .3s var(--dk-ease); }
.deka-brand .deka-apartment__cta:hover { background: var(--dk-cashmere); border-color: var(--dk-cashmere); color: var(--dk-black); }
.deka-brand .deka-apartment__cta--ghost { background: transparent; color: var(--dk-black); }
.deka-brand .deka-apartment__cta--ghost:hover { background: var(--dk-black); border-color: var(--dk-black); color: var(--dk-off); }
/* apartment page: the identity tag beside "ბინა 305" (deka-brand.php swaps the old project logo for it), prices in the
   title face, a light rule between drawing and panel, and the view switch in the currency switch's colours */
.deka-brand .deka-apartment__brand { flex-shrink: 0; }
.deka-brand :is(.deka-apartment, .deka-apartment__panel) { border-color: var(--dk-concrete); }
/* page sections (theme base.css .deka-section-head): mono eyebrow and action, caps title; on the dark band in Cashmere */
.deka-brand :is(.deka-section-head__eyebrow, .deka-section-head__action) { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; }
.deka-brand .deka-section-head__eyebrow { color: var(--dk-graphite); }
.deka-brand .deka-section-head__title { font-family: var(--dk-display); letter-spacing: 0; }
.deka-brand .deka-section-head__lead { color: var(--dk-graphite); }
.deka-brand .deka-project-benefits .deka-section-head__eyebrow { color: var(--dk-cashmere); }
.deka-brand .deka-project-benefits .deka-section-head__lead { color: rgba(250, 247, 246, .78); }
/* similar apartments: the link to the project's list, as a mono label */
.deka-brand .deka-similar__all { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; }
/* apartment FAQ tabs: the selected tab's line and the list bullets in Cashmere */
.deka-brand .deka-apartment-faq__tabs { border-bottom-color: var(--dk-concrete); }
.deka-brand .deka-apartment-faq__tab { color: #8F8B87; }
.deka-brand .deka-apartment-faq__tab:hover, .deka-brand .deka-apartment-faq__tab[aria-selected='true'] { color: var(--dk-black); }
.deka-brand .deka-apartment-faq__indicator, .deka-brand .deka-apartment-faq__answer li::before { background: var(--dk-cashmere); }
.deka-brand .deka-apartment-faq__answer { color: var(--dk-graphite); }
.deka-brand .deka-price__value { font-family: var(--dk-display); font-stretch: 72%; font-weight: 700; color: var(--dk-black); }
.deka-brand .deka-apartment__views { border: 1px solid var(--dk-stone); border-radius: 0; background: var(--dk-off); box-shadow: none; }
.deka-brand .deka-apartment__view { border-radius: 0; color: var(--dk-graphite); }
.deka-brand .deka-apartment__view.is-active { color: var(--dk-black); }
.deka-brand .deka-apartment__views-pill, .deka-brand .deka-apartment__views:not(.has-pill) .deka-apartment__view.is-active { border-radius: 0; background: var(--dk-cashmere); }
.deka-brand :is(.deka-inspiration-card__label, .deka-inspiration-card__view) { letter-spacing: 0; }
@media (max-width: 52rem) {
  .deka-brand .dk-modal__panel { flex-direction: column; width: 95vw; }
  .deka-brand .dk-modal__right { order: -1; width: 100%; height: 180px; }
  .deka-brand .dk-modal__left { min-height: 0; padding: 28px 24px 32px; }
  .deka-brand .dk-modal__title { font-size: 1.375rem; }
  .deka-brand .dk-modal__lead { margin-bottom: 20px; }
  .deka-brand .dk-modal__close { top: 12px; right: 12px; width: 36px; height: 36px; }
}
@media (max-width: 40rem) {
  .deka-brand .dk-modal { padding: 0; align-items: flex-end; }
  .deka-brand .dk-modal__panel { width: 100%; max-width: none; max-height: 100dvh; }
  .deka-brand .dk-modal__right { height: 140px; }
  .deka-brand .dk-modal__left { padding: 24px 20px 24px; }
}
/* ---------- interactive building map (Vebses Apartments System, /maps/…) ----------
   Chrome outlines a focused SVG shape with a rectangle around its bounding box, even after a mouse click.
   The renderer already highlights a focused shape exactly like hover, so the rectangle is removed; keyboard
   focus keeps a heavier outline that follows the shape itself. Phones get no grey tap box. */
.deka-brand .vas-app .zone { -webkit-tap-highlight-color: transparent; }
.deka-brand .vas-app .zone:focus,
.deka-brand .vas-app .zone:focus-visible { outline: none; }
.deka-brand .vas-app .zone:focus-visible { stroke-width: 3; }
/* the map in the brand: the "choose a block" picture runs under the header (site-header.php makes it transparent there),
   hovering a floor shades the rest in Black and outlines the floor in Cashmere, and the info card is Off-white */
.deka-brand .vas-app {
  --vas-radius: 0; --vas-shade: rgba(23, 22, 23, .62); --vas-entry-hover-fill: rgba(188, 170, 125, .16); --vas-entry-hover-stroke: var(--dk-cashmere);
  --vas-tip-bg: var(--dk-off); --vas-tip-ink: var(--dk-black); --vas-tip-muted: var(--dk-graphite); --vas-tip-accent: var(--dk-cashmere);
  --vas-tip-track: rgba(34, 33, 34, .1); --vas-tip-sold: #B0413E;
}
/* the picture meets the footer: no minimum height and no footer gap under it */
.deka-brand .vas-app:has(.vas-entry) { min-height: 0; }
/* map pages: the map or the floor plan runs straight into the footer */
.deka-brand.single-vas_map .deka-footer, .deka-brand:has(.vas-entry) .deka-footer { margin-top: 0; }
.deka-brand .vas-floor-view { min-height: 0; } /* ends under the plan, not at 70vh */
/* scrims: under the transparent header at the top, under the title at the foot (the picture's own block labels sit
   near the top, so the title lives bottom-left over the forest); the info card keeps clear of the header */
.deka-brand .vas-entry { --vas-tip-safe-top: calc(var(--deka-header-height) + 12px); }
.deka-brand .vas-entry::before, .deka-brand .vas-entry::after { content: ""; position: absolute; inset: 0 0 auto; z-index: 2; height: 24%; background: linear-gradient(180deg, rgba(23, 22, 23, .5), rgba(23, 22, 23, 0)); pointer-events: none; }
.deka-brand .vas-entry::after { inset: auto 0 0; height: 32%; background: linear-gradient(0deg, rgba(23, 22, 23, .55), rgba(23, 22, 23, 0)); }
.deka-brand .vas-entry__title { top: auto; bottom: clamp(1.25rem, 3.5vw, 3.5rem); left: var(--deka-gutter); font-family: var(--dk-display); font-weight: 700; font-size: clamp(1.75rem, 3.2vw, 3rem); line-height: 1.05; letter-spacing: 0; text-shadow: 0 2px 24px rgba(0, 0, 0, .35); }
.deka-brand .vas-tooltip__card { min-width: 13rem; padding: 14px 16px 16px; border-top: 2px solid var(--dk-cashmere); box-shadow: 0 22px 50px rgba(23, 22, 23, .32), 0 2px 8px rgba(23, 22, 23, .14); }
.deka-brand :is(.vas-tooltip__eyebrow, .vas-tooltip__cta) { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; line-height: 1.3; letter-spacing: 0; text-transform: uppercase; }
.deka-brand .vas-tooltip__eyebrow { color: var(--dk-graphite); }
.deka-brand .vas-tooltip__title { font-family: var(--dk-display); font-size: 1.375rem; font-weight: 700; letter-spacing: 0; }
.deka-brand .vas-tooltip__meta { font-family: var(--dk-body); font-size: 13px; }
.deka-brand .vas-tooltip__cta { padding-top: 10px; border-top: 1px solid var(--dk-concrete); color: var(--dk-black); }
/* floor plans in the brand: the plan on white beside the Off-white panel, mono captions and caps figures as on the
   apartment page, Cashmere for the current floor and the availability bar, sold units shaded in Black */
.deka-brand .vas-app {
  --vas-maroon: var(--dk-black); --vas-maroon-fill: rgba(34, 33, 34, .55); --vas-maroon-soft: rgba(34, 33, 34, .18);
  --vas-teal: var(--dk-cashmere); --vas-teal-fill: rgba(188, 170, 125, .38);
  --vas-page-bg: var(--dk-off); --vas-card-bg: #fff; --vas-ink: var(--dk-black); --vas-muted: var(--dk-graphite); --vas-line: var(--dk-concrete);
  --vas-rail-bg: var(--dk-fog); --vas-rail-disabled: transparent; --vas-rail-disabled-ink: var(--dk-stone);
  --vas-rail-sold-bg: rgba(176, 65, 62, .06); --vas-rail-sold-ink: #B0413E;
}
/* breadcrumb bars: the map's (.vas-crumbs) and the theme's on apartment pages (.deka-crumbs) are styled as one */
.deka-brand :is(.vas-crumbs, .deka-crumbs) { background: var(--dk-off); border-bottom-color: var(--dk-concrete); font-family: var(--dk-body); font-size: 14px; }
.deka-brand :is(.vas-crumbs__back, .vas-crumbs__filter, .deka-crumbs__back, .deka-crumbs__action) { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; color: var(--dk-black); }
.deka-brand .vas-crumbs__back { padding-left: var(--deka-gutter); }
.deka-brand :is(.vas-crumbs__filter, .deka-crumbs__action) { border-color: var(--dk-concrete); transition: background .3s var(--dk-ease), color .3s var(--dk-ease); }
.deka-brand :is(.vas-crumbs__filter, .deka-crumbs__action):hover { background: var(--dk-black); color: var(--dk-off); }
.deka-brand :is(.vas-crumbs__trail, .deka-crumbs__trail) { border-color: var(--dk-concrete); color: var(--dk-graphite); }
.deka-brand :is(.vas-crumbs__trail .sep, .deka-crumbs__sep) { color: var(--dk-stone); }
.deka-brand :is(.vas-crumbs__trail, .deka-crumbs__trail) a:hover { color: var(--dk-black); text-decoration: underline; text-underline-offset: 3px; }
.deka-brand :is(.vas-crumbs__trail .is-current, .deka-crumbs__current) { color: var(--dk-black); font-weight: 600; }
.deka-brand .vas-floor-view__title { font-family: var(--dk-display); font-weight: 700; font-size: clamp(1.75rem, 2.2vw, 2.25rem); letter-spacing: 0; }
.deka-brand :is(.vas-panel__eyebrow, .vas-panel__caption, .vas-rail__label, .vas-legend) { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; color: var(--dk-graphite); }
.deka-brand .vas-panel__value { font-family: var(--dk-display); font-size: 1.75rem; font-weight: 700; letter-spacing: 0; }
.deka-brand .vas-rail [data-floor] { border-color: var(--dk-concrete); font-family: var(--dk-display); font-weight: 700; }
.deka-brand .vas-rail [data-floor]:hover:not([aria-disabled]):not(.is-active) { border-color: var(--dk-black); background: var(--dk-off); }
.deka-brand .vas-rail [data-floor].is-active { border-color: var(--dk-cashmere); background: var(--dk-cashmere); color: var(--dk-black); }
.deka-brand .vas-rail [data-floor].is-empty { border-style: dashed; }
.deka-brand .vas-rail [data-floor].is-sold-out { border-color: rgba(176, 65, 62, .22); }
.deka-brand .vas-legend .chip-reserved i { border-color: var(--dk-graphite); }
.deka-brand .vas-badge { font-family: var(--dk-display); letter-spacing: 0; fill: var(--dk-off); }
@media (max-width: 900px) {
  .deka-brand .vas-crumbs__back { padding-left: 1rem; }
}

/* ---------- Project Lisi renders (swapped in by deka-brand.php): focal points for cover crops ---------- */
/* home "about" strip: where a tile is wider than the render (the 2x2 grid on tablets) the crop keeps the people, who sit low in each
   picture. about-07's child is on the render's bottom edge, so that one is pinned to the bottom. */
.deka-brand img[data-dk-photo="about-06"] { object-position: 50% 62%; }
.deka-brand img[data-dk-photo="about-11"] { object-position: 50% 72%; }
.deka-brand img[data-dk-photo="about-14"] { object-position: 50% 66%; }
.deka-brand img[data-dk-photo="about-08"] { object-position: 50% 78%; }
.deka-brand img[data-dk-photo="about-07"] { object-position: 50% 100%; }
.deka-brand img[data-dk-photo="extcam-09"] { object-position: 55% 50%; }
.deka-brand img[data-dk-photo="extcam-17"] { object-position: 62% 50%; }
.deka-brand img[data-dk-photo="extcam-16"] { object-position: 45% 50%; }
.deka-brand img[data-dk-photo="extcam-08"] { object-position: 22% 50%; }
.deka-brand img[data-dk-photo="extcam-13"] { object-position: 28% 50%; }
.deka-brand img[data-dk-photo="extcam-11"] { object-position: 52% 50%; }
.deka-brand img[data-dk-photo="extcam-07"] { object-position: 64% 50%; }
.deka-brand img[data-dk-photo="extcam-10"] { object-position: 35% 50%; }
.deka-brand img[data-dk-photo="extcam-06"] { object-position: 28% 50%; }
.deka-brand img[data-dk-photo="extcam-05"] { object-position: 62% 50%; }
.deka-brand img[data-dk-photo="extcam-12"] { object-position: 55% 45%; }
.deka-brand img[data-dk-photo="new-2"] { object-position: 50% 62%; }
.deka-brand [data-dk-photo="extcam-09"].deka-project-card__image { background-position: 55% 50%; }
.deka-brand img[data-dk-photo="varketili-1"] { object-position: 50% 38%; }
.deka-brand [data-dk-photo="varketili-1"].deka-project-card__image { background-position: 50% 38%; }

/* ---------- project film: "watch the film" in the project hero + full-screen player ----------
   The mark is the house symbol turned to point right (the brand's identity-tag direction): Cashmere, door in DEKA Black.
   No drop shadow on the symbol (brand rule); a soft dark field behind it keeps it legible on bright frames. */
.deka-brand .deka-project-hero { position: relative; }
.deka-brand .dk-film { position: absolute; left: 50%; top: 42%; z-index: 4; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 14px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; color: var(--dk-off); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.deka-brand .dk-film::before { content: ""; position: absolute; left: 50%; top: 50%; width: 260px; height: 220px; transform: translate(-50%, -50%); background: radial-gradient(closest-side, rgba(34, 33, 34, .38), rgba(34, 33, 34, 0)); pointer-events: none; z-index: -1; }
.deka-brand .dk-film__mark { display: block; width: 78px; height: auto; overflow: visible; }
.deka-brand .dk-film__tag { fill: var(--dk-cashmere); transition: fill .35s var(--dk-ease); }
.deka-brand .dk-film__play { fill: var(--dk-black); }
/* hover: only the button itself, a plain colour change (no movement); touch screens get no sticky hover */
@media (hover: hover) {
  .deka-brand .dk-film:hover .dk-film__tag { fill: var(--dk-off); }
}
.deka-brand .dk-film:focus-visible .dk-film__tag { fill: var(--dk-off); }
.deka-brand .dk-film:focus-visible { outline: 1px solid var(--dk-off); outline-offset: 12px; }
.deka-brand .dk-film__label { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: .18em; line-height: 1; text-transform: uppercase; color: var(--dk-off); }
.deka-brand .deka-project-hero.dk-has-film { cursor: pointer; }
.deka-brand .dk-has-film :is(.deka-project-hero__foot, .deka-project-hero__title, .deka-project-hero__eyebrow) { cursor: auto; }
/* hero loop (deka_brand_hero_loop): the video takes the photo's own class, so the theme sizes it and moves it on scroll
   like the photo; it lies exactly over it and stays transparent until it plays */
.deka-brand video.dk-hero-loop { display: block; object-fit: cover; opacity: 0; transition: opacity .6s ease; pointer-events: none; background: transparent; }
.deka-brand video.dk-hero-loop.is-on { opacity: 1; }
/* player: the photo dissolves in over the page, glides into the film's letterboxed frame, then crossfades into the film */
.deka-brand .dk-film-player { position: fixed; inset: 0; z-index: 900; overflow: hidden; background: rgba(0, 0, 0, 0); opacity: 0;
  transition: opacity .4s ease, clip-path .9s cubic-bezier(.65, 0, .35, 1), background-color .9s ease; }
.deka-brand .dk-film-player.is-open { opacity: 1; background: #000; }
.deka-brand .dk-film-player.is-closing { opacity: 0; transition: opacity .45s ease; }
.deka-brand .dk-film-player__still { position: absolute; display: block; max-width: none; object-fit: cover; opacity: 1;
  transition: left .9s cubic-bezier(.65, 0, .35, 1), top .9s cubic-bezier(.65, 0, .35, 1), width .9s cubic-bezier(.65, 0, .35, 1), height .9s cubic-bezier(.65, 0, .35, 1), opacity .8s ease; }
.deka-brand .dk-film-player.is-expanded .dk-film-player__still { inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: 50% 50%; transition: opacity .8s ease; }
.deka-brand .dk-film-player__video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; background: transparent; opacity: 0; transition: opacity .8s ease; }
.deka-brand .dk-film-player.is-playing .dk-film-player__video { opacity: 1; }
.deka-brand .dk-film-player.is-playing .dk-film-player__still { opacity: 0; }
.deka-brand .dk-film-player__video:focus { outline: none; }
.deka-brand .dk-film-player__wait { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; overflow: hidden; opacity: 0; transition: opacity .3s ease; }
.deka-brand .dk-film-player__wait::after { content: ""; position: absolute; top: 0; bottom: 0; width: 30%; background: var(--dk-cashmere); animation: dk-film-wait 1.2s cubic-bezier(.65, 0, .35, 1) infinite; }
.deka-brand .dk-film-player.is-waiting .dk-film-player__wait { opacity: 1; }
@keyframes dk-film-wait { from { left: -30%; } to { left: 100%; } }
.deka-brand .dk-film-player__close { position: absolute; top: 20px; right: 20px; z-index: 2; display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 14px; border: 1px solid rgba(250, 247, 246, .35); border-radius: 0; background: rgba(34, 33, 34, .6); color: var(--dk-off); font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; opacity: 0; transition: opacity .5s ease .5s, background .3s var(--dk-ease), color .3s var(--dk-ease); }
.deka-brand .dk-film-player.is-open .dk-film-player__close { opacity: 1; }
.deka-brand .dk-film-player__close:hover, .deka-brand .dk-film-player__close:focus-visible { background: var(--dk-off); color: var(--dk-black); }
@media (prefers-reduced-motion: reduce) {
  .deka-brand .dk-film-player, .deka-brand .dk-film-player__still, .deka-brand .dk-film-player__video { transition: none; }
}
@media (max-width: 40rem) {
  .deka-brand .dk-film { top: 150px; gap: 10px; }
  .deka-brand .dk-film__mark { width: 58px; }
  .deka-brand .dk-film__label { font-size: 10px; }
  .deka-brand .dk-film::before { width: 190px; height: 160px; }
  .deka-brand .dk-film-player__close { top: 12px; right: 12px; }
}

/* ---------- responsive (site-wide) ----------
   Keep this block last before reduced-motion: these phone/tablet rules override the desktop rules above. */
@media (max-width: 64rem) {
  .deka-brand .deka-hero__title { font-size: clamp(2rem, 5.4vw, 3.5rem); }
  /* the theme hides the photograph here */
  .deka-brand .deka-footer__inner { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-template-areas: "logo" "columns" "projects" "colophon"; padding-top: 56px; }
}
@media (max-width: 47.9375rem) {
  /* phones: the tag moves into the drawing's corner, where the theme put the old logo */
  .deka-brand .deka-apartment__brand { position: absolute; top: 2.8125rem; right: .9375rem; z-index: 1; }
}
@media (max-width: 37.5rem) {
  .deka-brand .deka-footer__inner { padding-block: 48px 24px; }
  .deka-brand .deka-footer__logo { margin-bottom: 36px; }
  .deka-brand .deka-footer__columns, .deka-brand .deka-footer__details, .deka-brand .deka-footer__projects { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .deka-brand .deka-footer__projects { margin-top: 36px; gap: 10px; }
  .deka-brand .deka-footer__colophon { flex-direction: column; margin-top: 36px; }
}
@media (max-width: 40rem) {
  .deka-brand .dk-lockup { --dk-lh: 26px; }
  .deka-brand .dk-tag { font-size: 9px; padding: 0 10px 0 9px; }
  .deka-brand .deka-project-tile__link > .dk-lockup, .deka-brand .deka-project-card > .dk-lockup { top: 12px; left: 12px; }
  .deka-brand .deka-project-tile__gauge { top: 12px; right: 12px; height: 26px; }
  .deka-brand .deka-project-tile__head { padding-top: 3.5rem; }
  .deka-brand .deka-header__logo-mark, .deka-brand .deka-header.is-scrolled:not(.is-menu-open) .deka-header__logo-mark { width: 7.5rem; }
  .deka-brand .deka-hero__title { font-size: 1.75rem; line-height: 1.1; }
  .deka-brand .deka-footer__logo { width: 3.75rem; }
  .deka-brand .deka-apartment__meta { font-size: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  .deka-brand .deka-project-tile__gauge, .deka-brand .deka-project-tile__gauge-text { transition: none; }
}

/* ---------- round 7: picker ---------- */
/* apartment picker: frosted bar at the bottom centre, shown between the hero and the footer (and not while the site menu is open).
   The component CSS owns position, glass and motion; this sets the palette and type (Cashmere icon square, black badge, mono label). */
.deka-brand .deka-picker { --deka-picker-ease: var(--dk-ease); --deka-picker-line: var(--dk-line-dark); font-family: var(--dk-body); }
.deka-brand .deka-picker__backdrop { background: rgba(34, 33, 34, .4); }
.deka-brand .deka-picker__trigger { background: transparent; color: var(--dk-black); }
.deka-brand .deka-picker__trigger:hover { background: rgba(250, 247, 246, .5); }
.deka-brand .deka-picker__trigger-icon { background: var(--dk-cashmere); color: var(--dk-black); }
.deka-brand .deka-picker__trigger-text { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; line-height: 1.4; color: var(--dk-black); }
.deka-brand .deka-picker__badge { background: var(--dk-black); color: var(--dk-off); }
.deka-brand .deka-picker__icon { border-color: var(--dk-line-dark); background: rgba(250, 247, 246, .8); }
.deka-brand .deka-picker__option:is(:hover, :focus-visible) .deka-picker__icon { border-color: var(--dk-black); background: var(--dk-black); }
.deka-brand :is(.deka-picker__line, .deka-picker__rect, .deka-picker__ripple) { stroke: var(--dk-black); }
.deka-brand :is(.deka-picker__dot, .deka-picker__cursor) { fill: var(--dk-black); }
.deka-brand .deka-picker__option:is(:hover, :focus-visible) :is(.deka-picker__line, .deka-picker__rect, .deka-picker__ripple) { stroke: var(--dk-cashmere); }
.deka-brand .deka-picker__option:is(:hover, :focus-visible) :is(.deka-picker__dot, .deka-picker__cursor) { fill: var(--dk-cashmere); }
.deka-brand .deka-picker__title { font-family: var(--dk-body); font-weight: 500; color: var(--dk-black); }
.deka-brand .deka-picker__desc { font-family: var(--dk-mono); font-size: 10px; font-weight: 500; letter-spacing: 0; color: var(--dk-graphite); }
.deka-brand .deka-picker__chevron polyline { stroke: var(--dk-stone); }
.deka-brand .deka-picker__option:is(:hover, :focus-visible) .deka-picker__chevron polyline { stroke: var(--dk-black); }

/* ---------- round 7: intro ---------- */
/* project intro: write-up in black with square Cashmere bullets; spec band (detail rows as numbered tiles or figures) on Concrete hairlines, mono indices, Graphite secondary copy, Cashmere tile markers */
.deka-brand .deka-project-intro { --deka-intro-rule: var(--dk-concrete); }
.deka-brand .deka-project-intro__text { color: var(--dk-black); }
.deka-brand :is(.deka-project-intro__text ul > li, .deka-project-intro__tile-index)::before { background: var(--dk-cashmere); }
.deka-brand :is(.deka-project-intro__spec-index, .deka-project-intro__tile-index) { font-family: var(--dk-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; line-height: 1.4; color: var(--dk-graphite); }
.deka-brand .deka-project-intro__spec-title { color: var(--dk-black); }
.deka-brand :is(.deka-project-intro__spec-lead, .deka-project-intro__spec-text, .deka-project-intro__spec-note, .deka-project-intro__tile-note) { color: var(--dk-graphite); }
.deka-brand :is(.deka-project-intro__tile-text, .deka-project-intro__spec-text--lead, .deka-project-intro__specs strong) { color: var(--dk-black); }
.deka-brand .deka-project-intro__figure-value { font-family: var(--dk-display); letter-spacing: 0; color: var(--dk-black); }

/* ---------- round 7: archive ---------- */
/* ---------- apartments browser: the dark filter column ----------
   The theme draws the title cell and the filter sidebar as one dark panel (bleeding to the viewport's left edge,
   sticky filter form on desktop) and takes every colour inside it from --deka-browser-panel-*; this points that
   palette at the brand: Black ground, Off-white text, Stone labels, hairlines on dark, Cashmere active fill with a
   black label. Geometry the brand had on the old light controls is restated here without their colours. */
.deka-brand .deka-browser {
  --deka-browser-panel: var(--dk-black); --deka-browser-panel-text: var(--dk-off); --deka-browser-panel-muted: var(--dk-stone);
  --deka-browser-panel-line: var(--dk-line); --deka-browser-panel-edge: rgba(250, 247, 246, .24); --deka-browser-panel-option-edge: rgba(250, 247, 246, .07); --deka-browser-panel-hover: rgba(250, 247, 246, .62);
  --deka-browser-panel-control: rgba(250, 247, 246, .03); --deka-browser-panel-accent: var(--dk-cashmere); --deka-browser-panel-accent-text: var(--dk-black);
}
/* the 24px split padding is desktop-only: stacked (<64rem) the panel and the results use the frame's own gutter */
@media (min-width: 64.0625rem) {
  .deka-brand .deka-browser__bar-title, .deka-brand .deka-browser__sidebar { padding-right: 24px; }
  .deka-brand .deka-browser__bar-tools, .deka-brand .deka-browser__results { padding-left: 24px; }
}
.deka-brand .deka-browser__bar-tools { border-color: var(--dk-concrete); }
.deka-brand .deka-filters__title { margin-bottom: 0; }
.deka-brand .deka-filters__project { min-height: 48px; padding: 8px; }
.deka-brand .deka-option { gap: 8px; padding: 9px 12px; }
.deka-brand .deka-range__input::-webkit-slider-thumb { border-radius: 0; }
.deka-brand .deka-range__input::-moz-range-thumb { border-radius: 0; }
.deka-brand .deka-filters__reset { margin-top: 4px; font-family: var(--dk-mono); font-size: 11px; letter-spacing: 0; text-transform: uppercase; }
.deka-brand .deka-filters__submit { padding: .875rem; }
/* project tiles: the DEKA | project tags turn light on the dark column. deka-brand.js builds them as --dark (stack
   image with black letters), so the light stack is painted over the image's box and the image itself hidden; the box
   is sized up front, so the tag does not sit on the mark before the image has loaded */
.deka-brand .deka-filters__project > .dk-lockup { color: var(--dk-off); }
.deka-brand .deka-filters__project > .dk-lockup > img { visibility: hidden; width: calc(var(--dk-lh) * 1.0114); }
.deka-brand .deka-filters__project > .dk-lockup::before { content: ""; position: absolute; top: 0; left: 0; width: calc(var(--dk-lh) * 1.0114); height: var(--dk-lh); background: url('../img/deka-stack-light.svg') no-repeat 0 50% / contain; }
.deka-brand .deka-filters__project > .dk-lockup .dk-tag, .deka-brand .deka-filters__project > .dk-lockup .dk-tag::after { border-color: rgba(250, 247, 246, .85); color: var(--dk-off); }
