:root{
  --bg:#050505;
  --card:#0b0b0d;
  --card-2:#101013;
  --text:#f5f5f5;
  --muted:rgba(255,255,255,.72);
  --muted-2:rgba(255,255,255,.54);
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(255,255,255,.14);
  --red:#8f1117;
  --red-2:#b0151b;
  --red-3:#5e090d;
  --max:1440px;
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:24px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.menu-open{overflow:hidden}
img,video{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
button{border:none;background:none}

.container{max-width:var(--max);margin:0 auto;padding:0 28px}
.section{position:relative}
.section--dark{
  background:#050505;
  color:#fff;
  overflow:hidden;
}

.section-red-edge{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(90deg,
      #050505 0%,
      #050505 79%,
      rgba(79,5,9,.88) 88%,
      rgba(126,8,13,.95) 94%,
      rgba(176,14,22,1) 100%);
}
.section-red-edge--connected{
  background:
    linear-gradient(90deg,
      #050505 0%,
      #050505 79%,
      rgba(79,5,9,.88) 88%,
      rgba(126,8,13,.95) 94%,
      rgba(176,14,22,1) 100%);
}

.section > .container,
.section > .select-home__wrap,
.ai-footer-minimal__container{position:relative;z-index:2}

.fade-up,
.fade-left,
.fade-right{
  opacity:0;
  filter:blur(8px);
  transition:
    opacity 1s cubic-bezier(.22,.61,.36,1),
    transform 1s cubic-bezier(.22,.61,.36,1),
    filter 1s cubic-bezier(.22,.61,.36,1);
}
.fade-up{transform:translateY(46px)}
.fade-left{transform:translateX(-36px)}
.fade-right{transform:translateX(36px)}
.fade-up.is-visible,
.fade-left.is-visible,
.fade-right.is-visible{
  opacity:1;
  transform:none;
  filter:none;
}

/* scroll top */
.scroll-top{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:100;
  width:56px;
  height:56px;
  border-radius:999px;
  border:1px solid rgba(176,14,22,.42);
  background:rgba(10,10,12,.86);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:.28s ease;
  backdrop-filter:blur(10px);
}
.scroll-top.show{opacity:1;visibility:visible;transform:none}
.scroll-top:hover{background:rgba(143,17,23,.18);border-color:rgba(176,14,22,.8)}
.scroll-top svg{width:20px;height:20px}

/* menu */
.menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.56);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.28s ease;
  z-index:95;
  backdrop-filter:blur(8px);
}
.menu-overlay.active{opacity:1;visibility:visible;pointer-events:auto}

.side-menu{
  position:fixed;
  left:0;
  top:0;
  height:100vh;
  width:min(940px,100%);
  z-index:110;
  background:#050505;
  border-right:1px solid var(--line);
  transform:translateX(-102%);
  transition:transform .42s cubic-bezier(.22,.61,.36,1);
  box-shadow:30px 0 70px rgba(0,0,0,.42);
}
.side-menu.active{transform:none}
.side-menu__wrap{display:grid;grid-template-columns:42% 58%;height:100%}
.side-menu__left{
  padding:96px 34px 30px;
  border-right:1px solid rgba(255,255,255,.06);
  background:#070707;
}
.side-menu__right{
  position:relative;
  padding:72px 24px 24px;
  background:#09090b;
  overflow:auto;
}
.side-menu__close{
  position:absolute;
  top:10px;
  right:16px;
  color:#fff;
  font-size:2.8rem;
  cursor:pointer;
  line-height:1;
}
.side-nav{display:flex;flex-direction:column;gap:14px}
.side-nav__item{
  min-height:64px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:rgba(255,255,255,.82);
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:.26s ease;
  letter-spacing:.04em;
}
.side-nav__item:hover,
.side-nav__item.active{
  color:#fff;
  padding-left:28px;
  border-bottom-color:rgba(176,14,22,.38);
}

.projects-list{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.menu-project-card__image{
  aspect-ratio:1.9/1;
  overflow:hidden;
  background:#111;
  border:1px solid rgba(255,255,255,.05);
}
.menu-project-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(1) brightness(.8);
  transition:filter .28s ease;
}
.menu-project-card__title{
  margin-top:10px;
  font-family:'Oswald',sans-serif;
  letter-spacing:.12em;
  font-size:1rem;
  color:rgba(255,255,255,.86);
  text-transform:uppercase;
}
.menu-project-card:hover .menu-project-card__image img{
  filter:grayscale(0) brightness(.94);
}
.menu-project-card:hover .menu-project-card__title{color:#fff}

/* navbar - not fixed */
.navbar{
  position:absolute;
  top:0;left:0;right:0;
  z-index:90;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:28px 42px;
  transition:.3s ease;
}
.navbar.is-scrolled{
  padding:28px 42px;
  background:transparent;
  backdrop-filter:none;
  border-bottom:none;
}
.menu-trigger{
  color:#fff;
  display:inline-flex;
  gap:12px;
  align-items:center;
  cursor:pointer;
}
.menu-trigger__icon{width:16px;display:flex;flex-direction:column;gap:4px}
.menu-trigger__icon span{height:1.5px;background:#fff;border-radius:999px}
.menu-trigger__text{
  font-size:1rem;
  letter-spacing:.01em;
}
.brand-logo{
  font-family:'Oswald',sans-serif;
  font-size:2rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#fff;
}
.brand-logo-mobile{display:none;width:80px;height:80px}
.brand-logo-mobile img{width:100%;height:100%;object-fit:contain}
.navbar__icons{
  display:flex;
  justify-content:flex-end;
  gap:16px;
}
.nav-icon{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  opacity:.9;
}
.nav-icon svg{width:22px;height:22px}

/* hero */
.hero{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:#000;
}
.hero__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 78% 54%, rgba(143,17,23,.18), transparent 36%),
    linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.96) 58%, rgba(38,2,4,.8) 100%);
}
.hero__content{
  position:relative;
  z-index:2;
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:140px 0 80px;
}
.hero__content-inner{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  padding:0 42px;
}
.hero__grid{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0, 660px) minmax(280px, 440px);
  align-items:center;
  justify-content:space-between;
  gap:70px;
}
.hero__text{
  max-width:660px;
}
.hero__title{
  font-family:'Oswald',sans-serif;
  font-size:clamp(4rem,8vw,7rem);
  line-height:.92;
  font-weight:500;
  letter-spacing:-.04em;
  color:#fff;
  margin-bottom:22px;
}
.hero__meta{
  max-width:520px;
  color:rgba(255,255,255,.84);
  line-height:1.76;
  margin-bottom:30px;
  font-size:1rem;
}
.hero__actions{
  display:flex;
  align-items:center;
  gap:14px;
}
.hero__btn{
  display:inline-flex;
  min-width:210px;
  height:62px;
  padding:0 28px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:10px;
  background:rgba(255,255,255,.03);
  color:#fff;
  transition:.28s ease;
}
.hero__btn:hover{
  background:rgba(255,255,255,.08);
  transform:translateY(-2px);
}
.hero__logo-wrap{
  justify-self:start;
  width:min(440px,100%);
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.hero__logo{
  width:100%;
  max-height:430px;
  object-fit:contain;
  filter:drop-shadow(0 22px 54px rgba(0,0,0,.48));
}

/* about */
.about{
  padding:130px 0 120px;
}
.about__card{
  max-width:1040px;
  margin:0 auto;
  text-align:center;
}
.about__script{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(2.7rem,4.6vw,4.3rem);
  line-height:.96;
  color:#fff;
  margin-bottom:14px;
}
.about__mini{
  font-weight:700;
  letter-spacing:.18em;
  font-size:.74rem;
  color:#b7b7b7;
  text-transform:uppercase;
  margin-bottom:24px;
}
.about__text{
  max-width:940px;
  margin:0 auto;
}
.about__text > p,
.about__block p{
  color:#bcbcbc;
  line-height:1.88;
  font-size:.94rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.about__text > p{margin-bottom:24px}
.about__block{margin-top:18px}
.about__block h3{
  font-size:.88rem;
  letter-spacing:.18em;
  color:#fff;
  margin-bottom:10px;
  font-weight:500;
  text-transform:uppercase;
}

/* projects */
.projects{padding:110px 0 90px}
.projects__head{margin-bottom:34px}
.projects__head h2{
  font-family:'Oswald',sans-serif;
  font-weight:500;
  text-transform:uppercase;
  font-size:clamp(2.2rem,4.2vw,4rem);
  line-height:.96;
  color:#fff;
}
.projects__rows{display:flex;flex-direction:column;gap:26px}
.projects__row{display:flex;gap:26px;align-items:stretch}
.project-wide{
  flex:1 1 0;
  min-width:0;
  height:560px;
  overflow:hidden;
  position:relative;
  border:1px solid rgba(255,255,255,.05);
  background:#0a0a0c;
  transition:
    flex-basis .55s cubic-bezier(.22,.61,.36,1),
    flex-grow .55s cubic-bezier(.22,.61,.36,1),
    border-color .3s ease,
    box-shadow .3s ease;
}
.project-wide__media{position:absolute;inset:0}
.project-wide__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.8) saturate(.88);
  transform:none !important;
}
.project-wide__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.08) 44%, rgba(0,0,0,.86) 100%);
}
.project-wide__content{
  position:absolute;
  inset:auto 0 0 0;
  padding:24px 24px 22px;
  z-index:2;
}
.project-wide__footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.project-wide__title-wrap h3{
  font-family:'Oswald',sans-serif;
  font-size:1.9rem;
  font-weight:500;
  line-height:1;
  margin-bottom:10px;
  text-transform:uppercase;
}
.project-wide__title-wrap p{
  color:rgba(255,255,255,.82);
  line-height:1.72;
  max-width:90%;
}
.project-wide__arrow{
  width:50px;
  height:50px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.03);
  flex:0 0 50px;
  transition:.28s ease;
}
.project-wide__arrow svg{width:20px;height:20px}

.projects__row:hover .project-wide{
  flex:0.95 1 0;
}
.projects__row:hover .project-wide:hover{
  flex:1.05 1 0;
  border-color:rgba(176,14,22,.28);
  box-shadow:0 18px 50px rgba(0,0,0,.24);
}
.projects__row:hover .project-wide .project-wide__media img{
  transform:none !important;
}
.projects__row:hover .project-wide:hover .project-wide__arrow{
  transform:translateX(4px);
  border-color:rgba(176,14,22,.44);
  background:rgba(176,14,22,.12);
}

/* select home */
.select-home{
  padding:100px 0 110px;
}
.select-home__wrap{
  position:relative;
  max-width:100%;
}
.select-home__badge{
  position:absolute;
  top:18px;
  left:18px;
  z-index:5;
  min-height:48px;
  padding:0 18px;
  border-radius:4px;
  background:rgba(21,25,29,.9);
  display:inline-flex;
  align-items:center;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.select-home__pan{
  position:relative;
  overflow:hidden;
  background:#0a0a0c;
}
.select-home__image{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}
.select-home__zone{
  position:absolute;
  display:block;
  background:rgba(143,17,23,.08);
  border:1px solid transparent;
  transition:.22s ease;
}
.select-home__zone:hover{
  background:rgba(143,17,23,.18);
  border-color:rgba(255,255,255,.22);
}
.select-home__zone--1{left:14.2%;top:20.5%;width:11.8%;height:31.5%}
.select-home__zone--2{left:31.4%;top:17.4%;width:10.6%;height:28.6%}
.select-home__zone--3{left:46.3%;top:17.8%;width:10.4%;height:26.8%}
.select-home__zone--4{left:62.1%;top:17.8%;width:10.2%;height:27.6%}
.select-home__zone--5{left:76.2%;top:24.8%;width:9.8%;height:30.2%}
.select-home__zone--6{left:24.5%;top:28.8%;width:12.3%;height:29.8%}
.select-home__zone--7{left:40.7%;top:31.2%;width:26.8%;height:25.8%}

/* apartments */
.apartments{padding:0 0 120px}
.apartments__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:28px;
}
.apartments__intro h2{
  font-family:'Oswald',sans-serif;
  font-weight:500;
  text-transform:uppercase;
  font-size:clamp(2rem,3.8vw,3.2rem);
  line-height:.96;
  color:#fff;
  margin-bottom:8px;
}
.apartments__intro p{
  color:var(--muted-2);
  line-height:1.7;
  max-width:520px;
}
.apartments__actions{
  display:flex;
  align-items:center;
  gap:18px;
}
.apartments__all{
  min-width:160px;
  height:50px;
  padding:0 22px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:.25s ease;
}
.apartments__all:hover{
  border-color:rgba(176,14,22,.42);
  background:rgba(176,14,22,.1);
}
.apartments__nav{display:flex;gap:12px}
.apartments__arrow{
  width:52px;
  height:52px;
  border-radius:999px;
  border:1px solid rgba(176,14,22,.44);
  background:rgba(143,17,23,.08);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.24s ease;
}
.apartments__arrow:hover{
  background:rgba(143,17,23,.18);
  border-color:rgba(176,14,22,.8);
  transform:translateY(-2px);
}
.apartments__arrow svg{width:20px;height:20px}

.apartments__viewport{
  width:100%;
  overflow:hidden;
}

.apartments__slider{
  display:flex;
  gap:18px;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  padding:6px 6px 12px;
  scrollbar-width:none;
  -ms-overflow-style:none;
  touch-action:pan-x;
  -webkit-overflow-scrolling:touch;
}
.apartments__slider::-webkit-scrollbar{display:none}

.ap-card{
  position:relative;
  overflow:visible;
  flex:0 0 352px;
  min-height:505px;
  background:linear-gradient(180deg,#070707 0%,#0b0b0d 100%);
  border:1px solid rgba(176,14,22,.55);
  padding:18px;
  box-shadow:0 18px 50px rgba(0,0,0,.24);
  transition:.28s ease;
}
.ap-card:hover{
  transform:translateY(-4px);
  border-color:rgba(242,52,61,.9);
}
.ap-card__trace{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:3;
}
.ap-card__trace::before{
  content:"";
  position:absolute;
  inset:0;
  border:2px solid transparent;
  
  animation:borderSpin 2.8s linear infinite;
  box-sizing:border-box;
}

.ap-card__head h3{
  font-family:'Oswald',sans-serif;
  font-size:1.5rem;
  font-weight:500;
  letter-spacing:.01em;
  margin-bottom:14px;
}
.ap-card__plan{
  height:292px;
  border:1px solid rgba(255,255,255,.05);
  background:linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,.02));
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  margin-bottom:18px;
}
.ap-card__plan img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.ap-card__size{
  font-family:'Oswald',sans-serif;
  font-size:1.72rem;
  color:#f2343d;
  line-height:1.05;
  margin-bottom:10px;
}
.ap-card__details{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  color:var(--muted);
}
.ap-card__dot{
  width:4px;
  height:4px;
  border-radius:999px;
  background:#f2343d;
  display:inline-block;
  align-self:center;
}

/* catalog */
.catalog{padding:0 0 120px}
.catalog__media{
  position:relative;
  min-height:480px;
  overflow:hidden;
  background:#0a0a0c;
}
.catalog__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(.02) brightness(.56) contrast(1.02);
}
.catalog__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.22) 46%, rgba(0,0,0,.40) 100%),
    linear-gradient(90deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.10) 50%, rgba(0,0,0,.22) 100%);
}
.catalog__content{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%, -50%);
  z-index:2;
  max-width:620px;
  width:100%;
  padding:0 24px;
  text-align:center;
}
.catalog__content h2{
  font-family:'Oswald',sans-serif;
  font-weight:500;
  text-transform:uppercase;
  font-size:clamp(2rem,4.6vw,4rem);
  line-height:.96;
  color:#fff;
  margin-bottom:14px;
}
.catalog__content p{
  color:rgba(255,255,255,.88);
  line-height:1.78;
  margin-bottom:28px;
}
.catalog__btn{
  min-width:220px;
  height:58px;
  padding:0 26px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:.28s ease;
}
.catalog__btn:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.3);
  transform:translateY(-2px);
}

/* contact */
.contact{padding:0 0 120px}
.contact__head{
  text-align:center;
  max-width:760px;
  margin:0 auto 34px;
}
.contact__head h2{
  font-family:'Oswald',sans-serif;
  font-weight:500;
  text-transform:uppercase;
  font-size:clamp(2rem,4.2vw,3.8rem);
  line-height:.96;
  color:#fff;
  margin-bottom:12px;
}
.contact__head p{
  color:rgba(255,255,255,.72);
  line-height:1.8;
}
.contact__boxes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-bottom:28px;
}
.contact-box{
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
    linear-gradient(180deg, rgba(176,14,22,.05), transparent);
  padding:34px 28px;
  min-height:210px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12px;
  box-shadow:0 18px 44px rgba(0,0,0,.18);
}
.contact-box__icon{
  width:74px;
  height:74px;
  border-radius:999px;
  border:1px solid rgba(176,14,22,.52);
  background:rgba(176,14,22,.12);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 8px;
}
.contact-box__icon svg{
  width:32px;
  height:32px;
}
.contact-box__label{
  font-size:.82rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.56);
  text-align:center;
}
.contact-box__value{
  font-size:1.22rem;
  line-height:1.65;
  color:#fff;
  text-align:center;
}
.map__frame{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
  min-height:360px;
}
.map__frame iframe{
  width:100%;
  height:460px;
  border:0;
  filter:grayscale(1) contrast(1.05) brightness(.82);
}

/* footer */
.ai-footer-minimal{
  position:relative;
  padding:0 0 30px;
  overflow:hidden;
}
.ai-footer-minimal__container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 28px;
  position:relative;
  z-index:2;
}
.ai-footer-minimal__top{
  display:grid;
  grid-template-columns:1.1fr 1.6fr;
  gap:54px;
  padding:56px 0 34px;
  border-top:1px solid rgba(255,255,255,.06);
}
.ai-footer-minimal__brand{max-width:420px}
.ai-footer-minimal__logo{
  font-family:'Oswald',sans-serif;
  font-size:3.8rem;
  line-height:.9;
  letter-spacing:.08em;
  display:inline-block;
  margin-bottom:18px;
}
.ai-footer-minimal__brand p{
  color:var(--muted);
  line-height:1.84;
}
.ai-footer-minimal__cols{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:34px;
}
.ai-footer-minimal__col{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ai-footer-minimal__col h4{
  color:#fff;
  font-size:.84rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  margin-bottom:6px;
}
.ai-footer-minimal__col a,
.ai-footer-minimal__col span{
  color:rgba(255,255,255,.66);
  line-height:1.82;
}
.ai-footer-minimal__col a:hover{color:#fff}
.ai-footer-minimal__bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.06);
}
.ai-footer-minimal__bottom p,
.ai-footer-minimal__bottom-links a{
  color:rgba(255,255,255,.54);
  font-size:.92rem;
}
.ai-footer-minimal__bottom-links{display:flex;gap:18px}

/* keep side gradient on mobile too */
@media (max-width:1200px){
  .contact__boxes{
    grid-template-columns:1fr;
  }
  .ai-footer-minimal__top{
    grid-template-columns:1fr;
  }
}

@media (max-width:991px){
  .container,
  .ai-footer-minimal__container{
    padding:0 20px;
  }

  .navbar{padding:20px 20px}
  .navbar.is-scrolled{padding:20px 20px}

  .brand-logo--text{display:none}
  .brand-logo-mobile{display:block}

  .hero__content-inner{
    margin-left:0;
    padding:0 20px;
  }

  .projects__row{
    flex-direction:column;
  }

  .project-wide{
    height:470px;
  }

  .apartments__top{
    flex-direction:column;
    align-items:flex-start;
  }

  .apartments__actions{
    width:100%;
    justify-content:space-between;
  }

  .side-menu{
    width:min(760px,100%);
  }
  .side-menu__wrap{
    grid-template-columns:1fr;
  }
  .side-menu__left{
    padding:84px 20px 18px;
    border-right:none;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .side-menu__right{
    padding:58px 20px 24px;
  }

  .ai-footer-minimal__cols{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:767px){
  .hero__title{
    font-size:3.8rem;
  }
  .hero__meta{
    font-size:.95rem;
  }

  .projects__head h2,
  .catalog__content h2,
  .contact__head h2{
    font-size:2.4rem;
  }

  .about{
    padding:100px 0 90px;
  }

  .about__script{
    font-size:2.7rem;
  }

  .about__text > p,
  .about__block p{
    font-size:.84rem;
    letter-spacing:.04em;
    line-height:1.76;
  }

  .about__mini{
    font-size:.68rem;
  }

  .project-wide{
    height:410px;
  }

  .ap-card{
    flex-basis:312px;
    min-height:475px;
  }
  .ap-card__plan{
    height:248px;
  }

  .catalog__content{
    max-width:100%;
  }

  .contact-box{
    min-height:190px;
  }

  .contact-box__icon{
    width:68px;
    height:68px;
  }

  .contact-box__icon svg{
    width:28px;
    height:28px;
  }

  .ai-footer-minimal__cols{
    grid-template-columns:1fr;
  }

  .ai-footer-minimal__bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width:560px){
  .container,
  .ai-footer-minimal__container{
    padding:0 16px;
  }

  .navbar{
    padding:18px 16px;
  }

  .menu-trigger__text{
    font-size:.92rem;
  }

  .nav-icon{
    width:20px;
    height:20px;
  }

  .hero__content{
    padding:110px 0 70px;
  }

  .hero__title{
    font-size:3.1rem;
  }

  .hero__btn{
    width:100%;
    min-width:100%;
  }

  .projects,
  .select-home,
  .apartments,
  .catalog,
  .contact{
    padding-bottom:90px;
  }

  .project-wide{
    height:390px;
  }
  .project-wide__content{
    padding:18px;
  }
  .project-wide__title-wrap h3{
    font-size:1.62rem;
  }
  .project-wide__title-wrap p{
    font-size:.9rem;
    max-width:100%;
  }

  .select-home__badge{
    top:14px;
    left:14px;
    min-height:42px;
    font-size:.76rem;
  }
  .select-home__pan{
    width:100vw;
    overflow-x:auto;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .select-home__pan::-webkit-scrollbar{display:none}
  .select-home__image{
    width:auto;
    min-width:1400px;
    height:80vh;
    object-fit:cover;
  }

  .apartments__actions{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .apartments__all{
    width:100%;
  }

  .ap-card{
    flex-basis:292px;
    min-height:462px;
  }
  .ap-card__head h3{
    font-size:1.38rem;
  }
  .ap-card__size{
    font-size:1.55rem;
  }

  .catalog__media{
    min-height:400px;
  }

  .catalog__content{
    padding:0 18px;
  }

  .contact-box{
    padding:24px 18px;
    min-height:176px;
  }
  .contact-box__icon{
    width:62px;
    height:62px;
  }
  .contact-box__icon svg{
    width:26px;
    height:26px;
  }
  .contact-box__value{
    font-size:1.02rem;
  }

  .map__frame iframe{
    height:360px;
  }

  .ai-footer-minimal__logo{
    font-size:3rem;
  }

  .section-red-edge,
  .section-red-edge--connected{
    background:
      linear-gradient(90deg,
        #050505 0%,
        #050505 79%,
        rgba(79,5,9,.88) 88%,
        rgba(126,8,13,.95) 94%,
        rgba(176,14,22,1) 100%);
  }
}

































/* ================================
   FINAL FIX: HERO LOGO + MOBILE + PROJECTS
================================ */
.project-wide,
.project-wide:hover,
.project-wide__media img,
.project-wide:hover .project-wide__media img,
.projects__row:hover .project-wide .project-wide__media img,
.projects__row:hover .project-wide:hover .project-wide__media img{
  transform:none !important;
}

.project-wide__arrow,
.project-wide:hover .project-wide__arrow,
.projects__row:hover .project-wide:hover .project-wide__arrow{
  transform:none !important;
}

.projects__row:hover .project-wide{
  flex:0.94 1 0;
}
.projects__row:hover .project-wide:hover{
  flex:1.06 1 0;
  border-color:rgba(176,14,22,.28);
  box-shadow:none;
}

@media (max-width:991px){
  .brand-logo--text,
  .brand-logo-mobile,
  .navbar__center{
    display:none !important;
  }

  .hero__content-inner{
    max-width:100%;
    padding:0 20px;
  }

  .hero__grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .hero__logo-wrap{
    justify-self:start;
    width:min(340px,76vw);
    margin-left:6px;
  }

  .projects__row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .project-wide,
  .projects__row:hover .project-wide,
  .projects__row:hover .project-wide:hover{
    display:block !important;
    width:100% !important;
    flex:none !important;
    height:470px !important;
    min-height:470px !important;
  }
}

@media (max-width:560px){
  .navbar__center,
  .brand-logo-mobile,
  .navbar__right,
  .nav-icon{
    display:none !important;
  }

  .navbar{
    grid-template-columns:1fr auto;
    padding:18px 16px;
  }

  .hero{
    min-height:100svh;
    background:#000;
  }

  .hero__overlay{
    background:
      radial-gradient(circle at 52% 62%, rgba(143,17,23,.12), transparent 44%),
      linear-gradient(180deg, #000 0%, #000 68%, #140204 100%);
  }

  .hero__content{
    min-height:100svh;
    align-items:flex-end;
    padding:96px 0 46px;
  }

  .hero__content-inner{
    height:100%;
    display:flex;
    align-items:flex-end;
    padding:0 20px;
  }

  .hero__grid{
    width:100%;
    min-height:calc(100svh - 150px);
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
    gap:34px;
  }

  .hero__logo-wrap{
    order:1;
    width:min(285px,82vw);
    margin-left:4px;
    margin-bottom:8px;
    padding:0;
  }

  .hero__logo{
    width:100%;
    max-height:300px;
    object-fit:contain;
  }

  .hero__text{
    order:2;
    width:100%;
  }

  .hero__title{
    font-size:3.18rem;
    margin-bottom:16px;
  }

  .hero__meta{
    margin-bottom:22px;
    font-size:.95rem;
    line-height:1.7;
  }

  .hero__btn{
    width:100%;
    min-width:100%;
    height:56px;
  }

  .projects{
    padding-top:88px;
    padding-bottom:90px;
  }

  .projects__rows{
    gap:22px;
  }

  .projects__row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .project-wide,
  .projects__row:hover .project-wide,
  .projects__row:hover .project-wide:hover{
    display:block !important;
    width:100% !important;
    height:390px !important;
    min-height:390px !important;
    flex:none !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  .project-wide__media,
  .project-wide__overlay{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
  }

  .project-wide__media img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  .project-wide__content{
    padding:18px;
  }

  .project-wide__title-wrap h3{
    font-size:1.62rem;
  }

  .project-wide__title-wrap p{
    font-size:.9rem;
    max-width:100%;
  }
}
