:root {
  --clr-bg:           #f4f1ec;
  --clr-bg-warm:      #ece7de;
  --clr-bg-dark:      #17140f;
  --clr-bg-dark-2:    #221e18;
  --clr-text:         #1a1714;
  --clr-text-muted:   #7a7168;
  --clr-accent:       #8a6940;
  --clr-accent-light: #c4a46a;
  --clr-border:       #ddd8cf;
  --clr-white:        #ffffff;

  --ff-serif:  'Cormorant Garamond', Georgia, serif;
  --ff-sans:   'Inter', system-ui, sans-serif;

  --fs-xs:   0.75rem;
  --fs-sm:   0.875rem;
  --fs-base: 1rem;
  --fs-lg:   1.125rem;
  --fs-xl:   1.375rem;
  --fs-2xl:  1.75rem;
  --fs-3xl:  2.5rem;
  --fs-4xl:  3.5rem;
  --fs-5xl:  5rem;
  --fs-hero: clamp(3rem, 8vw, 6.5rem);

  --fs-eyebrow: 10px;
  --radius: 2px;
  --transition: 400ms cubic-bezier(0.4, 0, 0.2, 1);
  --max-w: 1320px;
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --c-dark:   #0a0a0a;
  --c-dark2:  #111111;
  --c-gold:   #c4a46b;
  --c-gold2:  #d4b483;
  --c-white:  #ffffff;
  --c-w88:    rgba(255,255,255,.88);
  --c-w55:    rgba(255,255,255,.55);
  --c-w32:    rgba(255,255,255,.32);
  --c-w12:    rgba(255,255,255,.12);
  --c-w06:    rgba(255,255,255,.06);
  --f-serif:  'Cormorant Garamond', Georgia, serif;
  --f-sans:   'Inter', system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--ff-sans);
  font-size: var(--fs-base);
  color: var(--clr-text);
  background: var(--clr-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font: inherit; }

.container {
  width: 100%;
  max-width: var(--max-w);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.label {
  display: inline-block;
  font-family: var(--ff-sans);
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--clr-accent);
  background: none !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
.divider {
  display: block;
  width: 3rem;
  height: 1px;
  background: var(--clr-accent-light);
  margin-block: 1.25rem;
}

.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 24px 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background .35s ease, backdrop-filter .35s ease;
}
.site-header.is-scrolled,
.site-header.scrolled {
  background: rgba(244,241,236,0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(26,23,20,0.08);
}
.site-header.is-scrolled .site-logo,
.site-header.scrolled .site-logo { color: var(--clr-text); }
.site-header.is-scrolled .nav-primary a,
.site-header.scrolled .nav-primary a { color: var(--clr-text-muted); }
.site-header.is-scrolled .nav-primary a:hover,
.site-header.scrolled .nav-primary a:hover { color: var(--clr-text); }
.site-header.is-scrolled .menu-toggle__bar,
.site-header.scrolled .menu-toggle__bar { background: var(--clr-text); }
.site-logo {
  font-family: var(--ff-serif);
  font-size: 1.35rem;
  font-weight: 300;
  letter-spacing: .15em;
  color: rgba(255,255,255,.88);
  text-decoration: none;
  line-height: 1;
  transition: color .3s;
}
.site-logo:hover { color: var(--c-white); }
.nav-primary {
  list-style: none;
  display: flex;
  gap: 36px;
  margin: 0; padding: 0;
}
.nav-primary a {
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-w55);
  text-decoration: none;
  transition: color .2s;
}
.nav-primary a:hover { color: var(--c-w88); }
.site-header nav { margin-left: auto; }
.site-header .nav-cta { margin-left: 36px; }

.nav-cta {
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-gold);
  border: 1px solid rgba(196,164,107,.45);
  padding: 7px 18px;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.nav-cta:hover {
  background: var(--c-gold);
  color: var(--c-dark);
}
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  z-index: 101;
}
.menu-toggle__bar {
  display: block;
  width: 22px;
  height: 1px;
  background: var(--c-w88);
  transition: transform .28s cubic-bezier(.4,0,.2,1), opacity .2s;
  transform-origin: center;
}
.menu-toggle.is-open .menu-toggle__bar:first-child {
  transform: translateY(3px) rotate(45deg);
}
.menu-toggle.is-open .menu-toggle__bar:last-child {
  transform: translateY(-3px) rotate(-45deg);
}
.menu-overlay {
  position: fixed;
  inset: 0;
  background: var(--c-dark);
  z-index: 90;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 80px 40px 60px;
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.77,0,.175,1);
  will-change: transform;
}
.menu-overlay.is-open { transform: translateX(0); }
.menu-overlay__nav ul  { list-style: none; margin: 0; padding: 0; }
.menu-overlay__item {
  display: flex;
  align-items: baseline;
  text-decoration: none;
  padding: 16px 0;
  border-bottom: 1px solid var(--c-w06);
}
.menu-overlay__num {
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .18em;
  color: var(--c-w32);
  flex-shrink: 0;
}
.menu-overlay__label {
  font-family: var(--f-serif);
  font-size: clamp(2rem, 6vw, 2.8rem);
  font-weight: 300;
  color: var(--c-w88);
  line-height: 1;
  transition: color .2s;
}
.menu-overlay__item:hover .menu-overlay__label { color: var(--c-gold); }
.menu-overlay__footer {
  margin-top: auto;
  padding-top: 28px;
  border-top: 1px solid var(--c-w06);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.menu-overlay__footer a {
  font-family: var(--f-sans);
  font-size: 12px;
  color: var(--c-w55);
  text-decoration: none;
  letter-spacing: .05em;
  transition: color .2s;
}
.menu-overlay__footer a:hover { color: var(--c-w88); }
.site-footer {
  background: var(--c-dark);
  border-top: 1px solid var(--c-w06);
  padding: 40px 52px;
}
.site-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 28px;
}
.site-footer__brand { display: flex; flex-direction: column; }
.footer-logo {
  font-family: var(--f-serif);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-w88);
  text-decoration: none;
  display: block;
  margin-bottom: 6px;
}
.footer-tagline {
  font-family: var(--f-sans);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-w32);
}
.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-end;
}
.footer-contact__tel,
.footer-contact a {
  font-family: var(--f-sans);
  font-size: 12px;
  color: var(--c-w55);
  text-decoration: none;
  letter-spacing: .04em;
  transition: color .2s;
}
.footer-contact__tel:hover,
.footer-contact a:hover { color: var(--c-w88); }
.footer-rule {
  border: none;
  border-top: 1px solid var(--c-w06);
  margin: 0 0 20px;
}
div.footer-rule {
  height: 1px;
  background: var(--c-w06);
  margin-bottom: 20px;
}
.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.footer-nav {
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
}
.footer-nav a,
.footer-nav__link {
  font-family: var(--f-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-w32);
  text-decoration: none;
  transition: color .2s;
}
.footer-nav a:hover,
.footer-nav__link:hover { color: var(--c-w55); }
.footer-copy,
.footer-legal {
  font-family: var(--f-sans);
  font-size: 10px;
  color: var(--c-w32);
  letter-spacing: .1em;
}
@media (max-width: 900px) {
  .site-header { padding: 20px 24px; }
  .nav-primary, .nav-cta { display: none; }
  .menu-toggle { display: flex; }
  .site-footer { padding: 32px 24px; }
  .site-footer__inner { flex-direction: column; gap: 20px; }
  .site-footer__bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
  .footer-contact { align-items: flex-start; }
  .footer-nav { gap: 16px; }
}
@media (min-width: 901px) {
  .menu-overlay { display: none !important; }
}
.hero {
  position: relative;
  height: 100svh;
  min-height: 620px;
  overflow: hidden;
  background: var(--clr-bg-dark);
}
.hero-slides { position: absolute; inset: 0; }

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1200ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity;
}
.hero-slide.is-active { opacity: 1; pointer-events: auto; }

.hero-slide__bg { position: absolute; inset: 0; overflow: hidden; }
.hero-slide__img {
  width: 100%; height: 100%;
  object-fit: cover;
  transform: scale(1.05);
  transition: transform 9000ms ease;
}
.hero-slide.is-active .hero-slide__img { transform: scale(1); }
@media (min-width: 769px) {
  .hero-slide[data-index="0"] .hero-slide__img { object-position: 60% center; }
}

.projects__grid > .project-card--featured .project-card__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: 60% center;
}

.hero-slide__overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(to right, rgba(17,14,9,0.78) 0%, rgba(17,14,9,0.22) 58%, rgba(17,14,9,0) 100%),
    linear-gradient(to top,   rgba(17,14,9,0.65) 0%, rgba(17,14,9,0)   52%);
}

.hero-slide__content {
  position: absolute;
  bottom: clamp(5rem, 13vh, 9rem);
  left: var(--gutter);
  max-width: min(580px, 88vw);
  z-index: 2;
}

.hero-slide__eyebrow,
.hero-slide__title,
.hero-slide__location,
.hero-slide .hero-cta {
  opacity: 0;
  transform: translateY(14px);
}
.hero-slide__eyebrow {
  display: block;
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--clr-accent-light);
  margin-bottom: 0.9rem;
  transition: opacity 300ms ease, transform 300ms ease;
}
.hero-slide__title {
  font-family: var(--ff-serif);
  font-size: var(--fs-hero);
  font-weight: 300;
  line-height: 0.9;
  letter-spacing: -0.01em;
  color: var(--clr-white);
  margin-bottom: 0.75rem;
  transition: opacity 300ms ease, transform 300ms ease;
}
.hero-slide__title em {
  font-style: italic;
  color: var(--clr-accent-light);
  display: block;
}
.hero-slide__location {
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-bottom: 2rem;
  transition: opacity 300ms ease, transform 300ms ease;
}
.hero-slide .hero-cta {
  transition: opacity 300ms ease, transform 300ms ease,
              background var(--transition), border-color var(--transition), color var(--transition);
}

.hero-slide.is-active .hero-slide__title {
  opacity: 1; transform: none;
  transition: opacity 800ms ease 160ms, transform 800ms cubic-bezier(0.4,0,0.2,1) 160ms;
}
.hero-slide.is-active .hero-slide__eyebrow {
  opacity: 1; transform: none;
  transition: opacity 620ms ease 360ms, transform 620ms cubic-bezier(0.4,0,0.2,1) 360ms;
}
.hero-slide.is-active .hero-slide__location {
  opacity: 1; transform: none;
  transition: opacity 600ms ease 510ms, transform 600ms cubic-bezier(0.4,0,0.2,1) 510ms;
}
.hero-slide.is-active .hero-cta {
  opacity: 1; transform: none;
  transition: opacity 560ms ease 640ms, transform 560ms ease 640ms,
              background var(--transition), border-color var(--transition), color var(--transition);
}

.hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-size: var(--fs-sm);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--clr-white);
  border: 1px solid rgba(255,255,255,0.45);
  padding: 0.9rem 2rem;
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(4px);
}
.hero-cta::after { content: '→'; transition: transform var(--transition); }
.hero-cta:hover  { background: var(--clr-accent); border-color: var(--clr-accent); }
.hero-cta:hover::after { transform: translateX(4px); }

.hero-nav {
  position: absolute;
  bottom: clamp(2.5rem, 5vh, 4rem);
  right: var(--gutter);
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.hero-nav__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px; height: 42px;
  border: 1px solid rgba(255,255,255,0.18);
  color: rgba(255,255,255,0.6);
  flex-shrink: 0;
  transition: border-color var(--transition), color var(--transition);
}
.hero-nav__btn:hover { border-color: var(--clr-accent-light); color: var(--clr-accent-light); }
.hero-nav__btn svg {
  width: 14px; height: 14px;
  stroke: currentColor; fill: none;
  stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;
}
.hero-nav__counter {
  font-family: var(--ff-serif);
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.35);
  letter-spacing: 0.1em;
  min-width: 52px; text-align: center;
  user-select: none;
}
.hero-nav__current { color: rgba(255,255,255,0.82); }

.hero-progress {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: rgba(255,255,255,0.06);
  z-index: 10;
  overflow: hidden;
}
.hero-progress__bar { height: 100%; background: var(--clr-accent-light); width: 0%; }

@media (max-width: 768px) {
  .hero-slide__content { bottom: clamp(4rem, 10vh, 6rem); }
  .hero-nav { bottom: 1.75rem; gap: 1rem; }
  .hero-nav__btn { width: 36px; height: 36px; }
  .hero-slide[data-index="0"] .hero-slide__img { display: none; }
  .hero-slide[data-index="0"] .hero-slide__bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('https://araya.bg/wp-content/themes/araya-child/assets/img/dragalevtsi-hero-mobile.jpg') center / cover no-repeat;
    transform: scale(1.05);
    transition: transform 9000ms ease;
  }
  .hero-slide[data-index="0"].is-active .hero-slide__bg::before { transform: scale(1); }
  .hero-slide[data-index="1"] .hero-slide__img { display: none; }
  .hero-slide[data-index="1"] .hero-slide__bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('https://araya.bg/wp-content/themes/araya-child/assets/img/krastovavada-hero-mobile.jpg') center / cover no-repeat;
    transform: scale(1.05);
    transition: transform 9000ms ease;
  }
  .hero-slide[data-index="1"].is-active .hero-slide__bg::before { transform: scale(1); }
  .hero-slide[data-index="2"] .hero-slide__img { display: none; }
  .hero-slide__eyebrow .eyebrow-sep { display: none; }
  .hero-slide__eyebrow .eyebrow-addr {
    display: block;
    margin-top: 0.4rem;
  }
}

.hero-slide[data-index="2"] .hero-slide__img { display: none; }
.hero-slide[data-index="2"] .hero-slide__bg {
  background: #0f0e0c;
  overflow: hidden;
}
.hero-slide[data-index="2"] .hero-slide__bg::before {
  content: '';
  position: absolute;
  inset: -20%;
  width: 140%;
  height: 140%;
  background: url('https://araya.bg/wp-content/themes/araya-child/assets/img/predlozhete-teren-hero.jpg?v=5') center / cover no-repeat;
  filter: blur(55px) brightness(0.13) saturate(0.25);
  transform: none !important;
  transition: none !important;
  z-index: 0;
}
.hero-slide[data-index="2"] .hero-slide__overlay {
  background:
    radial-gradient(ellipse at 18% 75%, rgba(180,148,92,0.07) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(90,80,70,0.04) 0%, transparent 45%),
    linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.1) 60%, rgba(0,0,0,0.4) 100%);
}
.hero-slide[data-index="2"] .hero-slide__content {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}

.concept {
  padding-block: 0;
  background: var(--clr-bg);
  overflow: hidden;
}
.concept .container {
  max-width: 100%;
  padding-inline: 0;
}
.concept__inner {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.concept__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: none;
  padding: clamp(5rem, 10vw, 9rem) max(var(--gutter), calc((100vw - var(--max-w)) / 2 + var(--gutter)));
}
.concept__text > * { max-width: min(680px, 55vw); }
.concept__heading {
  font-family: var(--ff-serif);
  font-size: clamp(3rem, 5vw, 4.5rem);
  font-weight: 300;
  line-height: 1.06;
  margin-bottom: 1.75rem;
}
.concept__body {
  font-size: var(--fs-lg);
  font-weight: 300;
  color: var(--clr-text-muted);
  line-height: 1.8;
  margin-bottom: 2rem;
}
.concept__image {
  position: relative;
  width: 100%;
  height: clamp(360px, 44vw, 680px);
  aspect-ratio: unset;
  overflow: hidden;
}
.concept__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 32% center;
  transition: transform 600ms ease;
}
.concept__image:hover img { transform: scale(1.03); }
.concept__image::after {
  content: '';
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  width: 28%;
  height: 28%;
  border-bottom: 2px solid var(--clr-accent);
  border-right: 2px solid var(--clr-accent);
  pointer-events: none;
}

.highlights {
  background: var(--clr-bg-dark);
  padding-block: clamp(4rem, 8vw, 6rem);
}
.highlights .container {
  max-width: 100%;
  padding-inline: 0;
}
.highlights__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-left: 1px solid rgba(255,255,255,0.08);
}
.highlight-item {
  padding: 2.5rem 2rem;
  border-right: 1px solid rgba(255,255,255,0.08);
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.highlight-item__number {
  font-family: var(--ff-serif);
  font-size: var(--fs-5xl);
  font-weight: 300;
  color: var(--clr-white);
  line-height: 1;
  margin-bottom: 0.5rem;
}
.highlight-item__number span {
  font-size: var(--fs-2xl);
  color: var(--clr-accent-light);
}
.highlight-item__label {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.floor-selector {
  padding-block: clamp(5rem, 12vw, 9rem);
  background: var(--clr-bg-warm);
}
.floor-selector__header {
  text-align: center;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}
.floor-selector__heading {
  font-family: var(--ff-serif);
  font-size: var(--fs-4xl);
  font-weight: 300;
  line-height: 1.1;
  margin-bottom: 1rem;
}
.floor-selector__inner {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
}
.building-view {
  position: relative;
  user-select: none;
}
.building-view__img {
  width: 100%;
  display: block;
}
.building-view__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.building-view--elevation {
  position: static;
  overflow: visible;
  background: transparent;
}
.building-elevation {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius);
}
.building-view--elevation .floor-label {
  font-size: 1.8px;
  letter-spacing: 0.14em;
}
.building-view--elevation
.floor-group {
  cursor: pointer;
  outline: none;
}
.floor-group:focus,
.floor-group:focus-visible {
  outline: none;
}
.floor-group .floor-zone {
  fill: transparent;
  stroke: none;
  transition: fill 500ms cubic-bezier(0.25, 0, 0, 1);
}
.floor-group:hover .floor-zone {
  fill: rgba(212, 182, 128, 0.09);
}
.floor-group.is-active .floor-zone {
  fill: rgba(212, 182, 128, 0.16);
}
.floor-label {
  font-family: var(--ff-sans);
  font-size: 3.0px;
  font-weight: 400;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  fill: transparent;
  pointer-events: none;
  transition: fill 500ms cubic-bezier(0.25, 0, 0, 1);
}
.floor-group:hover .floor-label  { fill: rgba(255, 255, 255, 0.72); }
.floor-group.is-active .floor-label { fill: rgba(255, 255, 255, 0.85); }
.floor-divider {
  stroke: rgba(196, 164, 106, 0.22);
  stroke-width: 0.25;
  pointer-events: none;
}
.building-outline-path { pointer-events: none; display: none; }
.floor-tabs {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 1.5rem;
  border: 1px solid var(--clr-border);
}
.floor-tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  background: var(--clr-white);
  border-bottom: 1px solid var(--clr-border);
  cursor: pointer;
  transition: all var(--transition);
  font-size: var(--fs-sm);
  letter-spacing: 0.06em;
}
.floor-tab:last-child { border-bottom: none; }
.floor-tab:hover { background: var(--clr-bg); }
.floor-tab.is-active {
  background: var(--clr-accent);
  color: var(--clr-white);
  border-color: var(--clr-accent);
}
.floor-tab__name { font-weight: 500; text-transform: uppercase; }
.floor-tab__area {
  font-family: var(--ff-serif);
  font-size: var(--fs-lg);
  color: var(--clr-accent-light);
}
.floor-tab.is-active .floor-tab__area { color: rgba(255,255,255,0.7); }
.floor-panel { display: none; }
.floor-panel.is-active {
  display: block;
  animation: fadeSlideUp 350ms ease forwards;
}
@keyframes fadeSlideUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
.floor-panel__plan {
  width: 100%;
  border: 1px solid var(--clr-border);
  background: var(--clr-white);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.floor-panel__plan img {
  width: 100%;
  height: auto;
  display: block;
}
.floor-panel__meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--clr-border);
  border: 1px solid var(--clr-border);
  margin-bottom: 1.5rem;
}
.floor-meta-item {
  background: var(--clr-white);
  padding: 1rem;
  text-align: center;
}
.floor-meta-item__value {
  font-family: var(--ff-serif);
  font-size: var(--fs-2xl);
  font-weight: 400;
  color: var(--clr-text);
  display: block;
}
.floor-meta-item__label {
  font-size: var(--fs-xs);
  color: var(--clr-text-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.floor-panel__status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  background: var(--clr-white);
  border: 1px solid var(--clr-border);
}
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: var(--fs-sm);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.status-badge::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}
.status-badge.available { color: #4a7c59; }
.status-badge.reserved  { color: #a07340; }
.status-badge.sold      { color: #8b3a3a; }
.btn-view-apt {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: var(--fs-sm);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--clr-accent);
  border: 1px solid var(--clr-accent);
  padding: 0.65rem 1.25rem;
  transition: all var(--transition);
}
.btn-view-apt::after { content: '→'; transition: transform var(--transition); }
.btn-view-apt:hover {
  background: var(--clr-accent);
  color: var(--clr-white);
}
.btn-view-apt:hover::after { transform: translateX(4px); }

.location {
  padding-block: clamp(5rem, 12vw, 9rem);
  background: var(--clr-bg-dark);
  color: var(--clr-white);
}
.location__inner {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(3rem, 6vw, 6rem);
  align-items: center;
}
.location__heading {
  font-family: var(--ff-serif);
  font-size: var(--fs-4xl);
  font-weight: 300;
  line-height: 1.1;
  margin-bottom: 1.5rem;
}
.location__body {
  font-size: var(--fs-base);
  font-weight: 300;
  color: rgba(255,255,255,0.6);
  line-height: 1.9;
  margin-bottom: 2rem;
}
.location-features {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.location-features li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.7);
}
.location-features li::before {
  content: '';
  flex-shrink: 0;
  width: 1.5rem;
  height: 1px;
  background: var(--clr-accent-light);
}
.location__map {
  aspect-ratio: 4/3;
  background: var(--clr-bg-dark-2);
  border: 1px solid rgba(255,255,255,0.08);
  overflow: hidden;
}
.location__map iframe {
  width: 100%;
  height: 100%;
  border: none;
  filter: grayscale(0.3) contrast(0.9);
}

.contact {
  padding-block: clamp(5rem, 12vw, 9rem);
  background: var(--clr-bg);
}
.contact__inner {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: clamp(3rem, 6vw, 6rem);
  align-items: stretch;
}
.contact__heading {
  font-family: var(--ff-serif);
  font-size: var(--fs-4xl);
  font-weight: 300;
  line-height: 1.1;
  margin-bottom: 1.5rem;
}
.contact__body {
  font-size: var(--fs-base);
  color: var(--clr-text-muted);
  line-height: 1.8;
  margin-bottom: 2.5rem;
}
.contact-info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.contact-info__item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.contact-info__item-label {
  font-size: var(--fs-xs);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--clr-accent);
}
.contact-info__item-value {
  font-size: var(--fs-lg);
  color: var(--clr-text);
}
.contact-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.form-group label {
  font-size: var(--fs-xs);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--clr-text-muted);
}
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  background: var(--clr-white);
  border: 1px solid var(--clr-border);
  padding: 0.85rem 1rem;
  font-family: var(--ff-sans);
  font-size: var(--fs-base);
  color: var(--clr-text);
  outline: none;
  transition: border-color var(--transition);
  border-radius: var(--radius);
  appearance: none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--clr-accent);
}
.form-group textarea { resize: vertical; min-height: 120px; }
.form-submit {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  background: var(--clr-accent);
  color: var(--clr-white);
  font-size: var(--fs-sm);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 1rem 2.5rem;
  border: none;
  cursor: pointer;
  transition: all var(--transition);
  width: fit-content;
}
.form-submit::after { content: '→'; transition: transform var(--transition); }
.form-submit:hover { background: #70542f; }
.form-submit:hover::after { transform: translateX(4px); }

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 700ms ease, transform 700ms ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: none;
}
.reveal-delay-1 { transition-delay: 100ms; }
.reveal-delay-2 { transition-delay: 220ms; }
.reveal-delay-3 { transition-delay: 340ms; }

@media (max-width: 1024px) {
  .highlights__grid { grid-template-columns: repeat(2, 1fr); }
  .floor-selector__inner { grid-template-columns: 1fr; }
  .building-view { max-width: 660px; margin-inline: auto; }
  .projects__grid { grid-template-columns: 1fr; }
  .project-card--featured { min-height: 480px; }
  .projects__side { flex-direction: row; }
  .project-card--upcoming { min-height: 200px; }
  .project-card--featured .project-card__desc { opacity: 1; transform: none; }
}
@media (max-width: 768px) {
  .nav-primary, .nav-cta { display: none; }
  .concept__image { height: 60vw; min-height: 240px; }
  .concept__text { padding: clamp(2.5rem, 7vw, 4rem) var(--gutter); }
  .concept__text > * { max-width: none; }
  .location__inner { grid-template-columns: 1fr; }
  .location__map { margin-inline: calc(-1 * var(--gutter)); border-left: none; border-right: none; }
  .contact__inner { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .floor-panel__meta { grid-template-columns: 1fr 1fr; }
  .offerings__grid { grid-template-columns: repeat(2, 1fr); }
  .projects__side { flex-direction: column; }
}
@media (max-width: 480px) {
  .highlights__grid { grid-template-columns: 1fr; }
  .offerings__grid { grid-template-columns: 1fr; }
  .concept__heading,
  .floor-selector__heading,
  .location__heading,
  .contact__heading,
  .offerings__heading,
  .projects__heading { font-size: var(--fs-3xl); }
  .project-card--featured { min-height: 400px; }
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 36px;
  height: 36px;
  align-items: flex-end;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 0;
  z-index: 1001;
  flex-shrink: 0;
}
.menu-toggle__bar {
  display: block;
  height: 1px;
  background: rgba(255,255,255,0.85);
  transition: width 280ms ease, transform 350ms cubic-bezier(0.4,0,0.2,1), opacity 200ms ease;
  transform-origin: right center;
}
.menu-toggle__bar:first-child { width: 22px; }
.menu-toggle__bar:last-child  { width: 14px; }
.site-header.scrolled .menu-toggle__bar { background: var(--clr-text); }
.site-header.menu-open .menu-toggle__bar { background: rgba(255,255,255,0.85) !important; }
.menu-toggle.is-open .menu-toggle__bar:first-child {
  width: 21px;
  transform: translateY(3px) rotate(-45deg);
}
.menu-toggle.is-open .menu-toggle__bar:last-child {
  width: 21px;
  transform: translateY(-3px) rotate(45deg);
}

.menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: var(--clr-bg-dark);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(5rem,12vw,8rem) var(--gutter) clamp(3rem,8vw,6rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 400ms cubic-bezier(0.4,0,0.2,1), visibility 400ms;
}
.menu-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.menu-overlay__nav { list-style: none; }
.menu-overlay__nav li { border-bottom: 1px solid rgba(255,255,255,0.07); }
.menu-overlay__item {
  display: flex;
  align-items: baseline;
  gap: 1.25rem;
  padding: 1.4rem 0;
  text-decoration: none;
  transform: translateY(18px);
  opacity: 0;
  transition: color var(--transition),
              transform 450ms cubic-bezier(0.4,0,0.2,1),
              opacity 380ms ease;
}
.menu-overlay.is-open .menu-overlay__item { transform: none; opacity: 1; }
.menu-overlay.is-open li:nth-child(1) .menu-overlay__item { transition-delay: 70ms; }
.menu-overlay.is-open li:nth-child(2) .menu-overlay__item { transition-delay: 150ms; }
.menu-overlay.is-open li:nth-child(3) .menu-overlay__item { transition-delay: 230ms; }
.menu-overlay__num {
  font-family: var(--ff-sans);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: var(--clr-accent-light);
  flex-shrink: 0;
  padding-bottom: 0.1rem;
}
.menu-overlay__label {
  font-family: var(--ff-serif);
  font-size: clamp(2rem,6vw,3.5rem);
  font-weight: 300;
  color: rgba(255,255,255,0.88);
  line-height: 1;
  transition: color var(--transition);
}
.menu-overlay__item:hover .menu-overlay__label { color: var(--clr-accent-light); }
.menu-overlay__footer {
  position: absolute;
  bottom: clamp(2rem,5vw,3.5rem);
  left: var(--gutter);
  right: var(--gutter);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.07);
  opacity: 0;
  transition: opacity 380ms ease 310ms;
}
.menu-overlay.is-open .menu-overlay__footer { opacity: 1; }
.menu-overlay__footer a {
  font-family: var(--ff-sans);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.35);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: color var(--transition);
}
.menu-overlay__footer a:hover { color: var(--clr-accent-light); }
@media (max-width: 768px)  { .menu-toggle { display: flex; } }
.menu-overlay__parcels {
  position: absolute;
  bottom: calc(clamp(2rem, 5vw, 3.5rem) + 6.6rem);
  left: var(--gutter);
  right: var(--gutter);
  display: block;
  text-align: center;
  font-family: var(--ff-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #c4a46a;
  text-decoration: none;
  border: 1px solid rgba(196, 164, 106, .55);
  border-radius: 2px;
  padding: 1.05rem 1rem;
  opacity: 0;
  transition: opacity .4s ease .25s, background .25s ease, color .25s ease;
}
.menu-overlay.is-open .menu-overlay__parcels { opacity: 1; }
.menu-overlay__parcels:hover { background: #a8853f; border-color: #a8853f; color: #fff; }

@media (min-width: 769px)  { .menu-overlay { display: none !important; } }

.site-footer {
  background: var(--clr-bg-dark);
  padding-top: clamp(4rem, 8vw, 6rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
.site-footer__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
.footer-logo {
  font-family: var(--ff-serif);
  font-size: clamp(2.8rem, 6vw, 4.5rem);
  font-weight: 300;
  color: rgba(255,255,255,0.82);
  letter-spacing: 0.12em;
  display: block;
  line-height: 1;
  margin-bottom: 0.6rem;
}
.footer-tagline {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.22);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.footer-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.45rem;
}
.footer-contact__tel {
  font-family: var(--ff-serif);
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  color: rgba(255,255,255,0.42);
  letter-spacing: 0.04em;
  transition: color var(--transition);
}
.footer-contact__tel:hover { color: var(--clr-accent-light); }
.footer-rule {
  height: 1px;
  background: rgba(255,255,255,0.07);
}
.site-footer__mid {
  padding-block: clamp(1.5rem, 3.5vw, 2.25rem);
}
.footer-nav {
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  flex-wrap: wrap;
}
.footer-nav__link {
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  cursor: pointer;
  transition: color var(--transition);
  position: relative;
}
.footer-nav__link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--clr-accent-light);
  transition: width 350ms cubic-bezier(0.4, 0, 0.2, 1);
}
.footer-nav__link:hover { color: var(--clr-accent-light); }
.footer-nav__link:hover::after { width: 100%; }
.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: clamp(1.5rem, 3.5vw, 2.25rem);
  border-top: 1px solid rgba(255,255,255,0.07);
  flex-wrap: wrap;
  gap: 0.5rem;
}
.footer-copy {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.18);
  letter-spacing: 0.06em;
}
.footer-legal {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.1);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .site-footer__top { flex-direction: column; align-items: flex-start; gap: 2.5rem; }
  .footer-contact { align-items: flex-start; }
  .footer-nav { flex-direction: column; align-items: flex-start; gap: 1.2rem; }
}

.menu-overlay__close {
  position: absolute;
  top: 24px;
  right: 28px;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: rgba(255,255,255,0.55);
  transition: color 0.2s;
  padding: 0;
  line-height: 1;
  z-index: 100;
}
.menu-overlay__close:hover { color: rgba(255,255,255,0.95); }

.contact-details {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 2rem;
}
.contact-detail {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.contact-detail__label {
  font-family: var(--ff-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--clr-accent);
}
.contact-detail__value {
  font-size: var(--fs-base);
  color: var(--clr-text);
  line-height: 1.6;
}
.contact-detail__value a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}
.contact-detail__value a:hover { color: var(--clr-accent); }
.contact-detail__phones {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.contact-detail__phones a {
  font-size: var(--fs-base);
  color: var(--clr-text);
  text-decoration: none;
  transition: color 0.2s;
}
.contact-detail__phones a:hover { color: var(--clr-accent); }

.contact__map {
  position: relative;
  overflow: hidden;
  min-height: 420px;
}
.contact__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  pointer-events: none;
}
.contact__map-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 14px 16px;
  text-decoration: none;
  cursor: pointer;
  background: transparent;
  transition: background 0.22s;
}
.contact__map-cta {
  background: rgba(244,241,234,0.94);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(196,164,107,0.40);
  color: #1c1a17;
  font-family: var(--ff-sans);
  font-size: 8.5px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 8px 14px;
  transition: background 0.2s, border-color 0.2s;
}
@media (max-width: 768px) {
  .contact__map { min-height: 300px; }
}

.araya-apt-pop{position:fixed;z-index:320;pointer-events:auto;cursor:pointer;text-decoration:none;width:140px;height:140px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;font-family:var(--f-sans,'Inter',sans-serif);box-shadow:0 6px 22px rgba(0,0,0,.30);opacity:0;transform:scale(.88);transition:opacity .2s ease,transform .24s cubic-bezier(.22,1,.36,1);}
.araya-apt-pop.is-visible{opacity:1;transform:scale(1);}
.araya-apt-pop__name{font-size:1.7rem;font-weight:500;line-height:1;letter-spacing:.01em;}
.araya-apt-pop__status{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:7px 0;padding:4px 12px;border-radius:20px;background:rgba(0,0,0,.20);}
.araya-apt-pop__area{font-size:13px;font-weight:400;opacity:.95;}
.araya-apt-pop__area sup{font-size:.62em;}
.araya-apt-pop.available{background:#cf9a55;}
.araya-apt-pop.reserved{background:#c08a2e;}
.araya-apt-pop.sold{background:#a23b34;}
@media (max-width:640px){.araya-apt-pop{width:120px;height:120px;}.araya-apt-pop__name{font-size:1.45rem;}}

.araya-apt-pop,.araya-apt-pop:link,.araya-apt-pop:visited,.araya-apt-pop:hover,.araya-apt-pop:focus,.araya-apt-pop:active{color:#fff !important;text-decoration:none !important;}
.araya-apt-pop:hover .araya-apt-pop__name,.araya-apt-pop:hover .araya-apt-pop__status,.araya-apt-pop:hover .araya-apt-pop__area,.araya-apt-pop *{color:#fff !important;}

.phases{background:var(--clr-bg);padding:clamp(48px,7vw,96px) 24px;border-top:1px solid var(--clr-border);}
.phases__inner{max-width:var(--max-w,1320px);margin:0 auto;}
.phases__header{margin-bottom:clamp(36px,5vw,64px);}
.phases__title{font-family:var(--ff-serif);font-weight:300;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.05;color:var(--clr-text);margin:.4rem 0 0;}
.phases__title em{font-style:italic;color:var(--clr-accent);}
.phases__track{display:flex;list-style:none;margin:0;padding:0;}
.phase{flex:1 1 0;min-width:0;position:relative;text-align:center;}
.phase__btn{display:flex;flex-direction:column;align-items:center;width:100%;background:none;border:0;padding:0 6px;margin:0;cursor:pointer;font-family:var(--ff-sans);color:inherit;-webkit-tap-highlight-color:transparent;}
.phase__num{font-family:var(--ff-serif);font-size:clamp(1.9rem,3.2vw,2.9rem);font-weight:500;line-height:1;color:var(--clr-text);}
.phase__label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--clr-text-muted);margin-top:6px;}
.phase__rail{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:64px;margin:14px 0;}
.phase:not(:last-child) .phase__rail::after{content:"";position:absolute;top:50%;left:50%;width:100%;height:5px;transform:translateY(-50%);background:var(--clr-border);z-index:0;border-radius:3px;}
.phase__node{position:relative;z-index:1;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--clr-white);border:2px solid var(--clr-border);color:#c9c2b6;transition:transform .25s ease,box-shadow .25s ease;}
.phase__btn:hover .phase__node{transform:scale(1.08);box-shadow:0 6px 18px rgba(138,105,64,.28);}
.phase__status{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;border-radius:3px;background:#e7e2d8;color:#8d8478;margin-top:4px;}
.phase__desc{display:block;font-size:13px;line-height:1.4;color:var(--clr-text-muted);margin-top:16px;max-width:150px;}
.phase--done .phase__node{background:linear-gradient(150deg,#cdb072,#a8853f);border-color:#a8853f;color:#fff;box-shadow:0 4px 14px rgba(138,105,64,.30);}
.phase--done .phase__rail::after{background:linear-gradient(90deg,#bda05f,#a8853f);}
.phase--done .phase__status{background:linear-gradient(150deg,#cdb072,#a8853f);color:#fff;}
.phase--progress .phase__node{background:var(--clr-white);border-color:#a8853f;color:#a8853f;}
.phase--progress .phase__status{background:var(--clr-white);color:#a8853f;border:1px solid #d9c79b;}
.phase--progress .phase__num{color:var(--clr-text);}
.phase--todo .phase__num{color:#b9b2a6;}
@media (max-width:780px){
  .phases__track{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    scroll-padding-left:24px;
    gap:0;
    margin:0 -24px;
    padding:6px 24px 2px;
    scrollbar-width:none;
  }
  .phases__track::-webkit-scrollbar{display:none;}
  .phase{flex:0 0 31%;min-width:122px;scroll-snap-align:center;}
  .phase__rail{height:58px;margin:12px 0;}
  .phase__node{width:48px;height:48px;}
  .phase__desc{font-size:12px;max-width:118px;margin-top:12px;}
}
@media (max-width:480px){ .phase{flex:0 0 40%;min-width:116px;} }
.phase-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;}
.phase-modal.is-open{display:flex;}
.phase-modal__backdrop{position:absolute;inset:0;background:rgba(20,16,12,.72);backdrop-filter:blur(3px);}
.phase-modal__dialog{position:relative;z-index:1;background:var(--clr-bg);max-width:1000px;width:100%;max-height:88vh;overflow:auto;padding:clamp(28px,4vw,48px);border-radius:var(--radius);box-shadow:0 24px 70px rgba(0,0,0,.4);}
.phase-modal__close{position:absolute;top:14px;right:18px;background:none;border:0;font-size:30px;line-height:1;color:var(--clr-text-muted);cursor:pointer;}
.phase-modal__eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--clr-accent);}
.phase-modal__title{font-family:var(--ff-serif);font-weight:500;font-size:clamp(1.5rem,3vw,2.2rem);color:var(--clr-text);margin:6px 0 24px;line-height:1.1;}
.phase-modal__imgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;}
.phase-modal__fig{margin:0;overflow:hidden;border-radius:var(--radius);background:var(--clr-bg-warm);cursor:pointer;position:relative;}
.phase-modal__fig img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .35s ease;}
.phase-modal__fig:hover img{transform:scale(1.04);}
.phase-modal__fig::after{content:"";position:absolute;inset:0;background:rgba(20,16,12,0);transition:background .25s ease;}
.phase-modal__fig:hover::after{background:rgba(20,16,12,.12);}

.phase-lightbox{position:fixed;inset:0;z-index:1100;display:none;align-items:center;justify-content:center;background:rgba(12,10,8,.94);padding:24px;}
.phase-lightbox.is-open{display:flex;}
.phase-lightbox__img{max-width:88vw;max-height:86vh;object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.5);border-radius:2px;}
.phase-lightbox__close{position:absolute;top:18px;right:22px;background:none;border:0;font-size:34px;line-height:1;color:#fff;cursor:pointer;opacity:.85;}
.phase-lightbox__close:hover{opacity:1;}
.phase-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#fff;width:52px;height:52px;border-radius:50%;font-size:28px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;transition:background .2s ease;}
.phase-lightbox__nav:hover{background:rgba(255,255,255,.18);}
.phase-lightbox.is-multi .phase-lightbox__nav{display:flex;}
.phase-lightbox__nav--prev{left:18px;}
.phase-lightbox__nav--next{right:18px;}
.phase-lightbox__count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-family:var(--ff-sans);font-size:12px;letter-spacing:.14em;opacity:.75;display:none;}
.phase-lightbox.is-multi .phase-lightbox__count{display:block;}
@media (max-width:640px){
  .phase-lightbox__nav{width:42px;height:42px;font-size:22px;}
  .phase-lightbox__nav--prev{left:8px;} .phase-lightbox__nav--next{right:8px;}
}
.offerings__cta-wrap{text-align:center;margin-top:clamp(40px,5vw,64px);}
.offerings__cta{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--ff-sans);font-size:var(--fs-sm);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--clr-white);background:#a8853f;padding:17px 40px;border-radius:2px;text-decoration:none;transition:background .28s ease;}
.offerings__cta:hover{background:#946f2f;}
.offerings__cta-arrow{transition:transform .3s ease;}
.offerings__cta:hover .offerings__cta-arrow{transform:translateX(4px);}

.imp-ui-layers-menu-wrap{display:none !important;}

.inquiry{background:var(--clr-bg);padding:clamp(48px,7vw,90px) 24px;}
.inquiry__inner{max-width:760px;margin:0 auto;}
.inquiry__heading{font-family:var(--ff-serif);font-weight:400;font-size:clamp(1.9rem,4vw,3rem);color:var(--clr-text);margin:.5rem 0 .75rem;line-height:1.05;}
.inquiry__heading em{font-style:italic;color:var(--clr-accent);}
.inquiry__lead{color:var(--clr-text-muted);font-size:var(--fs-base);margin:0 0 1.75rem;}
.inquiry__apt{display:inline-block;font-size:13px;letter-spacing:.03em;color:var(--clr-text);background:rgba(138,105,64,.10);border:1px solid rgba(138,105,64,.30);border-radius:2px;padding:8px 14px;margin:0 0 1.25rem;}
.inquiry__apt strong{font-weight:600;}
.inquiry__note{padding:14px 18px;border-radius:2px;margin:0 0 1.5rem;font-size:14px;}
.inquiry__note--ok{background:rgba(74,124,89,.10);border:1px solid rgba(74,124,89,.35);color:#3d6b4a;}
.inquiry__note--err{background:rgba(139,58,58,.08);border:1px solid rgba(139,58,58,.30);color:#8b3a3a;}
.inquiry__hint{font-size:13px;color:#8b3a3a;margin:-.5rem 0 1rem;}
.inquiry__hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}
.inquiry__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.inquiry__field{display:flex;flex-direction:column;gap:8px;}
.inquiry__field--full{grid-column:1 / -1;}
.inquiry__field span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--clr-text-muted);font-weight:600;}
.inquiry__field input,.inquiry__field textarea{font-family:var(--ff-sans);font-size:15px;color:var(--clr-text);background:var(--clr-white,#fff);border:1px solid var(--clr-border);border-radius:2px;padding:13px 14px;transition:border-color .2s ease;}
.inquiry__field input:focus,.inquiry__field textarea:focus{outline:none;border-color:var(--clr-accent);}
.inquiry__field textarea{resize:vertical;min-height:110px;}
.inquiry__submit{margin-top:1.5rem;display:inline-flex;align-items:center;gap:.7rem;font-family:var(--ff-sans);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:#1c1a17;border:0;border-radius:2px;padding:1.05rem 2.2rem;cursor:pointer;transition:background .28s ease;}
.inquiry__submit:hover{background:#2e2a23;}
.inquiry__submit span{transition:transform .28s ease;}
.inquiry__submit:hover span{transform:translateX(4px);}
@media (max-width:560px){.inquiry__grid{grid-template-columns:1fr;}.inquiry__submit{width:100%;justify-content:center;}}

.project-stats--mob{display:none;}
@media (max-width:768px){
  .project-stats--desk{display:none;}
  .project-stats--mob{display:block;}
}
