@font-face{font-family:Forum;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/forum-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Forum;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/forum-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:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope-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{
  --cream:#F8F1E3; --sand:#EEE3CC; --paper:#FFFCF5;
  --ink:#1F2B1C; --moss:#344830; --leaf:#5E7A4F; --muted:#6B6A5C;
  --sun:#E07E36; --aqua:#8CCFC7; --line:rgba(31,43,28,.14);
  --display:Forum,'Times New Roman',serif; --body:Manrope,system-ui,-apple-system,'Segoe UI',sans-serif;
  --gut:16px; --max:1240px; --curve:clamp(80px,14vw,220px);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.65 var(--body);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sun);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
@media(min-width:768px){:root{--gut:32px}}

h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.08;margin:0;letter-spacing:.01em}
h2{font-size:clamp(34px,5.4vw,64px)}
h3{font-size:clamp(24px,2.6vw,30px)}
p{margin:0 0 1em}
.label{display:flex;align-items:center;gap:14px;font:600 12px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;margin:0 0 22px;color:var(--moss)}
.label::before{content:"";width:44px;height:2px;background:var(--sun);flex:none}
.lead{font-size:clamp(17px,1.6vw,19px);color:var(--muted);max-width:640px}
section{padding:clamp(72px,10vw,140px) 0;scroll-margin-top:60px}

/* метки на фото */
.ph{position:relative;overflow:hidden;background:var(--sand)}
.ph img{width:100%;height:100%;object-fit:cover}
.tag{position:absolute;left:12px;bottom:12px;padding:5px 10px;border-radius:99px;font:600 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;background:rgba(255,252,245,.86);color:var(--ink);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none}
.tag.real{background:var(--sun);color:#fff}

/* шапка */
.top{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s}
.top .wrap{display:flex;align-items:center;gap:20px;height:64px}
.logo{font-family:var(--display);font-size:22px;letter-spacing:.26em;text-decoration:none;color:#fff;transition:color .3s;white-space:nowrap}
.top nav{display:none;gap:26px;margin-left:auto}
.top nav a{text-decoration:none;font-size:14px;color:#fff;opacity:.9;transition:color .3s}
.top nav a:hover{opacity:1;color:var(--sun)}
.lang{margin-left:auto;display:flex;gap:2px;border:1px solid rgba(255,255,255,.5);border-radius:99px;padding:3px;transition:border-color .3s}
.lang a{font:600 12px/1 var(--body);letter-spacing:.08em;padding:7px 10px;border-radius:99px;text-decoration:none;color:#fff;transition:color .3s}
.lang a[aria-current]{background:#fff;color:var(--ink)}
.top.solid{background:rgba(248,241,227,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.top.solid .logo,.top.solid nav a,.top.solid .lang a{color:var(--ink)}
.top.solid .lang{border-color:var(--line)}
.top.solid .lang a[aria-current]{background:var(--ink);color:var(--cream)}
@media(min-width:1080px){.top nav{display:flex}.lang{margin-left:8px}}

/* первый экран */
.hero{position:relative;min-height:100svh;padding:0;display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.hero picture,.hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,22,12,.55) 0%,rgba(14,22,12,0) 28%,rgba(14,22,12,0) 45%,rgba(14,22,12,.72) 100%)}
@media(max-width:899px){.hero::after{background:linear-gradient(180deg,rgba(14,22,12,.55) 0%,rgba(14,22,12,.1) 16%,rgba(14,22,12,.38) 34%,rgba(14,22,12,.82) 100%)}}
@media(min-width:900px){.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,22,12,.5) 0%,rgba(14,22,12,.2) 45%,rgba(14,22,12,0) 65%)}}
.hero .wrap{width:100%;padding-bottom:clamp(36px,6vw,72px);padding-top:110px}
.hero .where{font:600 12px/1.4 var(--body);letter-spacing:.24em;text-transform:uppercase;margin-bottom:18px;opacity:.92}
.hero h1{font-size:clamp(44px,8vw,108px);max-width:13ch;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.hero .sub{max-width:560px;margin:22px 0 30px;font-size:clamp(16px,1.5vw,19px);opacity:.94}
.hero .row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.price{display:flex;flex-direction:column}
.price b{font:400 clamp(30px,3.4vw,40px)/1 var(--display)}
.price small{font-size:12px;opacity:.8;margin-top:6px;letter-spacing:.04em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:99px;border:0;background:var(--sun);color:#fff;font:600 15px/1 var(--body);text-decoration:none;cursor:pointer;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px);background:#cc6d28}
.btn.ghost{background:transparent;border:1px solid currentColor}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
.hero .tag{left:auto;right:var(--gut);bottom:14px}
@media(min-width:900px){.hero .tag{bottom:auto;top:78px}}
.hero-in>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero-in>*:nth-child(2){animation-delay:.08s}.hero-in>*:nth-child(3){animation-delay:.16s}.hero-in>*:nth-child(4){animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* цифры */
.facts{background:var(--ink);color:var(--cream);padding:0}
.facts ul{list-style:none;margin:0 auto;padding:28px var(--gut);display:grid;grid-template-columns:repeat(2,1fr);gap:22px 16px;max-width:var(--max)}
.facts li{display:flex;flex-direction:column;gap:4px}
.facts b{font:400 clamp(34px,4vw,52px)/1 var(--display);color:#fff}
.facts span{font-size:13px;opacity:.72;line-height:1.35}
@media(min-width:768px){.facts ul{grid-template-columns:repeat(5,1fr);padding-top:40px;padding-bottom:40px}}

/* о проекте */
.split{display:grid;gap:40px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:72px}.split.rev>:first-child{order:2}}
.curve-r{border-radius:0 var(--curve) 0 0}
.curve-l{border-radius:var(--curve) 0 0 0}
.curve-b{border-radius:0 0 var(--curve) 0}
.about .ph{aspect-ratio:4/5}
.about .duo{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;align-items:end}
.about .duo .ph:last-child{aspect-ratio:3/4}
.points{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--line)}
.points li{padding:16px 0 16px 30px;border-bottom:1px solid var(--line);position:relative}
.points li::before{content:"";position:absolute;left:0;top:28px;width:16px;height:2px;background:var(--sun)}
.points b{display:block;font-weight:600}
.points span{color:var(--muted);font-size:15px}
.quote{font:400 clamp(26px,3vw,36px)/1.2 var(--display);margin:0 0 24px;color:var(--moss)}

/* крыша */
.roof{background:var(--moss);color:var(--cream);position:relative;overflow:hidden}
.roof .label{color:var(--aqua)}
.roof h2{color:#fff;max-width:13ch}
.roof .lead{color:rgba(248,241,227,.78)}
.meter{margin:34px 0 40px;position:relative;height:28px;max-width:720px}
.meter::before{content:"";position:absolute;left:0;right:0;top:13px;height:2px;background:linear-gradient(90deg,var(--aqua),rgba(140,207,199,.25))}
.meter::after{content:"";position:absolute;left:0;top:7px;width:2px;height:14px;background:var(--aqua);box-shadow:min(720px,calc(100vw - 2*var(--gut)) - 2px) 0 0 var(--aqua)}
.meter span{position:absolute;right:0;top:-18px;font:400 22px/1 var(--display);color:var(--aqua)}
.roof-grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.roof-grid .ph{aspect-ratio:4/3;border-radius:6px}
.roof-grid .big{grid-column:1/-1;aspect-ratio:16/9;border-radius:0 var(--curve) 0 0}
@media(min-width:900px){.roof-grid{grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto}.roof-grid .big{grid-column:1;grid-row:1/3;aspect-ratio:auto;min-height:520px}.roof-grid .ph:not(.big){aspect-ratio:auto}}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 40px}
.chips li{border:1px solid rgba(248,241,227,.28);border-radius:99px;padding:8px 14px;font-size:14px}

/* жизнь в доме */
.life-grid{display:grid;gap:18px;margin-top:44px}
@media(min-width:768px){.life-grid{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--paper);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}
.card .ph{aspect-ratio:4/3}
.card .txt{padding:22px 22px 26px}
.card h3{margin-bottom:10px}
.card p{color:var(--muted);font-size:15px;margin:0}
.evening{margin-top:18px;display:grid;gap:0;background:var(--ink);color:var(--cream);border-radius:0 0 var(--curve) 0;overflow:hidden}
.evening .ph{aspect-ratio:16/10}
.evening .txt{padding:clamp(26px,4vw,52px)}
.evening h3{color:#fff;margin-bottom:14px}
.evening p{color:rgba(248,241,227,.78)}
@media(min-width:900px){.evening{grid-template-columns:1.2fr 1fr;align-items:center}.evening .ph{aspect-ratio:auto;height:100%;min-height:420px}}

/* квартиры */
.units{background:var(--paper)}
.types{display:grid;gap:0;margin-top:44px;border-top:1px solid var(--line)}
.type{display:grid;gap:8px 24px;padding:26px 0;border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:baseline}
.type h3{font-size:clamp(26px,3vw,36px)}
.type .area{font:400 clamp(26px,3vw,40px)/1 var(--display);text-align:right;white-space:nowrap}
.type .area sup{font-size:.5em}
.type p{grid-column:1/-1;color:var(--muted);margin:0;max-width:640px}
.type .meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px}
.type .meta b{color:var(--sun);font-weight:600}
@media(min-width:900px){.type{grid-template-columns:1.1fr 1.6fr auto}.type p,.type .meta{grid-column:auto}.type .meta{grid-column:2;grid-row:2}.type .area{grid-column:3;grid-row:1/3}.type p{grid-column:2;grid-row:1}}
.every{display:flex;flex-wrap:wrap;gap:10px 28px;margin:26px 0 0;padding:0;list-style:none;font-size:15px}
.every li::before{content:"— ";color:var(--sun)}
.plans{display:grid;gap:14px;margin-top:48px}
@media(min-width:768px){.plans{grid-template-columns:repeat(3,1fr)}}
.plans figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;cursor:zoom-in}
.plans img{aspect-ratio:900/636;object-fit:contain;width:100%}
.plans figcaption{padding:12px 16px;font-size:14px;border-top:1px solid var(--line)}

/* каталог */
.catalog .head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}
.stock{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.stock b{color:var(--ink);font-weight:600}
.filters{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;background:var(--paper);padding:18px;border-radius:4px;margin-bottom:22px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{border:1px solid var(--line);background:transparent;border-radius:99px;padding:9px 15px;font-size:14px;cursor:pointer;min-height:40px}
.seg button[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.frow{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
.frow select{width:100%}
.frow label{display:flex;flex-direction:column;gap:6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.frow select,.frow input[type=range]{font:inherit;font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink)}
.frow select{appearance:none;-webkit-appearance:none;border:1px solid var(--line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231F2B1C' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center;border-radius:6px;padding:10px 32px 10px 12px;min-height:44px}
.frow .range{grid-column:1/-1}
.frow .range output{font:600 15px var(--body);color:var(--ink);letter-spacing:0;text-transform:none}
input[type=range]{width:100%;accent-color:var(--sun);min-height:32px}
.check{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--sun)}
@media(min-width:900px){.filters{grid-template-columns:auto minmax(0,1fr);align-items:center}.frow{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.6fr);grid-column:1/-1}.frow .range{grid-column:auto}}
.found{font-size:14px;color:var(--muted);margin:0 0 14px}
.apts{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.apt{background:var(--paper);border-radius:4px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;border:1px solid transparent;transition:border-color .2s,transform .2s}
.apt:hover{border-color:var(--line);transform:translateY(-2px)}
.apt .n{display:flex;justify-content:space-between;align-items:center}
.apt .n b{font:400 28px/1 var(--display);letter-spacing:.04em}
.st{font:600 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:99px;background:#E3EEDC;color:#2F5A23}
.st.reserved{background:#FBE7D3;color:#8A4510}
.st.sold{background:#E9E5DB;color:#6B6A5C}
.apt dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:14px}
.apt dt{color:var(--muted)}
.apt dd{margin:0;text-align:right}
.apt .pr{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.apt .pr b{font:400 24px/1 var(--display)}
.apt .pr small{color:var(--muted);font-size:12px}
.apt.is-sold{opacity:.6}
.apt.is-sold .pr b{text-decoration:line-through;text-decoration-thickness:1px}
.more{display:flex;justify-content:center;margin-top:24px}
.btn.dark{background:var(--ink)}
.btn.dark:hover{background:var(--moss)}
.note{font-size:13px;color:var(--muted);margin-top:18px}
.empty{padding:40px 0;text-align:center;color:var(--muted)}

/* доверие */
.trust{background:var(--sand)}
.trust-grid{display:grid;gap:12px;margin-top:40px}
@media(min-width:768px){.trust-grid{grid-template-columns:repeat(3,1fr)}}
.tcard{background:var(--paper);padding:24px;border-radius:4px}
.tcard b{display:block;font:400 22px/1.2 var(--display);margin-bottom:8px}
.tcard span{color:var(--muted);font-size:15px}
.show{margin-top:clamp(56px,8vw,96px)}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,420px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut) 14px;margin:30px calc(var(--gut)*-1) 0;scrollbar-width:thin}
.strip .ph{aspect-ratio:4/5;scroll-snap-align:start;border-radius:4px;cursor:zoom-in}
.strip.wide{grid-auto-columns:min(86vw,620px)}
.strip.wide .ph{aspect-ratio:16/10}
@media(min-width:1240px){.strip{margin-left:calc((100vw - var(--max))/-2 - 0px);margin-right:calc((100vw - var(--max))/-2);padding-left:calc((100vw - var(--max))/2 + var(--gut));padding-right:calc((100vw - var(--max))/2 + var(--gut))}}

/* галерея */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:28px}

/* расположение */
.loc-grid{display:grid;gap:40px}
@media(min-width:900px){.loc-grid{grid-template-columns:1fr 1fr;gap:72px}}
.dist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.dist li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}
.dist li b{font-weight:600;white-space:nowrap}
.dist li:first-child b{color:var(--sun)}
.addr{margin-top:28px;background:var(--paper);padding:22px;border-radius:4px}
.addr p{margin:0 0 14px}
.loc-grid .ph{aspect-ratio:1/1}

/* оплата */
.pay{background:var(--ink);color:var(--cream)}
.pay .label{color:var(--aqua)}
.pay h2{color:#fff}
.steps{list-style:none;margin:44px 0 0;padding:0;display:grid;gap:0;counter-reset:s}
.steps li{display:grid;grid-template-columns:auto 1fr auto;gap:4px 18px;padding:18px 0;border-bottom:1px solid rgba(248,241,227,.16);align-items:baseline}
.steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);font:400 15px/1 var(--display);color:var(--aqua);grid-row:1/3}
.steps b{font:400 clamp(28px,3vw,38px)/1 var(--display);color:#fff;grid-column:3;grid-row:1/3;white-space:nowrap}
.steps span{font-weight:600}
.steps small{color:rgba(248,241,227,.66);font-size:14px}
.bar{display:flex;height:10px;border-radius:99px;overflow:hidden;margin-top:30px;gap:3px}
.bar i{display:block;background:var(--aqua);opacity:.35}
.bar i.on{opacity:1}
.costs{margin-top:clamp(56px,7vw,84px)}
.costs h3{color:#fff;margin-bottom:16px}
.ctable{width:100%;border-collapse:collapse;font-size:15px}
.ctable td{padding:12px 0;border-bottom:1px solid rgba(248,241,227,.16);vertical-align:top}
.ctable td:last-child{text-align:right;padding-left:16px}
.pay .note{color:rgba(248,241,227,.6)}

/* контакты */
.contact{position:relative;color:#fff;padding:0;isolation:isolate}
.contact picture,.contact picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.contact::after{content:"";position:absolute;inset:0;background:rgba(14,22,12,.62);z-index:-1}
.contact .wrap{padding-top:clamp(84px,12vw,160px);padding-bottom:clamp(84px,12vw,160px)}
.contact h2{color:#fff;max-width:19ch}
.contact .lead{color:rgba(255,255,255,.86)}
.cbtns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.soon{display:inline-block;margin-top:18px;font-size:14px;opacity:.82;border:1px dashed rgba(255,255,255,.5);padding:10px 14px;border-radius:6px}

.foot{background:var(--ink);color:rgba(248,241,227,.66);font-size:13px;padding:44px 0 56px}
.foot .logo{color:var(--cream);display:inline-block;margin-bottom:16px}
.foot p{max-width:820px}
.foot a{color:var(--cream)}

/* окно просмотра фото */
.lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh}
.lb::backdrop{background:rgba(10,14,9,.92)}
.lb figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 12px 24px}
.lb img{max-height:calc(100vh - 120px);width:auto;max-width:100%;object-fit:contain}
.lb figcaption{color:#fff;font-size:13px;margin-top:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.8}
.lb button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;width:48px;height:48px;border-radius:99px;font-size:22px;cursor:pointer}
.lb .x{top:10px;right:10px}.lb .pv{left:10px;top:50%}.lb .nx{right:10px;top:50%}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}
@media(max-width:380px){.hero h1{font-size:40px}.btn{padding:0 20px}.logo{font-size:19px;letter-spacing:.2em}}
