/* ============================================================
   INTRO — клубный дом. Дизайн-система.
   Палитра «тихая роскошь»: графит / тёплый off-white / латунь.
   ============================================================ */

:root{
    /* Палитра привязана к фирменным цветам introvert.bz:
       warm near-black #13100b · cream #feedba · off-white #eaeae6 · slate #303a46 */
    --ink:#13100b;          /* фирменный тёплый near-black */
    --ink-2:#1e1a13;
    --paper:#eaeae6;        /* фирменный off-white */
    --paper-2:#dedacf;
    --slate:#303a46;        /* фирменный слейт (вторичный) */
    --stone:#857e72;
    --stone-2:#b7b1a3;
    --brass:#c2a063;        /* акцент на светлом — тёплое золото в тон крему */
    --brass-2:#feedba;      /* фирменный крем — акцент на тёмном */
    --line:rgba(194,160,99,.30);
    --line-soft:rgba(19,16,11,.12);

    --maxw:1320px;
    --gut:clamp(20px,5vw,80px);
    --r:14px;

    --f-serif:'Fraunces',Georgia,serif;
    --f-sans:'Manrope',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;

    --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
    font-family:var(--f-sans);
    background:var(--paper);
    color:var(--ink);
    font-weight:400;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
}
body.lock{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;color:inherit;background:none;border:none}
::selection{background:var(--brass);color:var(--paper)}

/* Lenis */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}

/* ---------- Типографика ---------- */
.h-display{
    font-family:var(--f-serif);
    font-weight:340;
    font-optical-sizing:auto;
    line-height:1.02;
    letter-spacing:-.015em;
    font-size:clamp(2.1rem,5.3vw,5rem);
}
.h-display em{font-style:italic;color:var(--brass);font-weight:340}
.eyebrow{
    font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;
    color:var(--brass);font-weight:600;
}
.section-head{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.section-head .eyebrow{margin-bottom:18px}
.section-head--center{text-align:center}
.section-head--center .h-display{margin-inline:auto}
.section-sub{max-width:42ch;margin:22px auto 0;color:var(--stone);font-size:1.05rem}

/* ---------- Зерно / grain ---------- */
.grain{
    position:fixed;inset:-50%;z-index:9000;pointer-events:none;opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    animation:grain 7s steps(6) infinite;
}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-2%)}60%{transform:translate(-2%,4%)}80%{transform:translate(4%,2%)}100%{transform:translate(0,0)}}

/* ---------- Курсор ---------- */
.cursor{position:fixed;top:0;left:0;z-index:9500;pointer-events:none;mix-blend-mode:difference;display:none}
@media(hover:hover) and (pointer:fine){.cursor{display:block}}
.cursor__dot{position:fixed;width:6px;height:6px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}
.cursor__ring{position:fixed;width:38px;height:38px;border:1px solid rgba(255,255,255,.6);border-radius:50%;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),opacity .3s}
.cursor.is-hover .cursor__ring{width:62px;height:62px;border-color:var(--brass-2)}

/* ---------- Прелоадер ---------- */
.loader{position:fixed;inset:0;z-index:9800;background:var(--ink);display:grid;place-items:center;color:var(--paper)}
.loader__inner{display:flex;flex-direction:column;align-items:center;gap:14px}
.loader__brand{font-family:var(--f-serif);font-size:clamp(2rem,8vw,4rem);letter-spacing:.1em}
.loader__count{font-size:.8rem;letter-spacing:.2em;color:var(--brass-2)}
.loader.is-done{transform:translateY(-100%);transition:transform 1s var(--ease)}
body.preload{cursor:wait}

/* ---------- Кнопки ---------- */
.btn{
    --bg:transparent;--fg:var(--ink);--bd:var(--ink);
    position:relative;display:inline-flex;align-items:center;justify-content:center;
    padding:16px 30px;border-radius:60px;font-size:.82rem;letter-spacing:.06em;
    font-weight:600;text-transform:uppercase;color:var(--fg);
    border:1px solid var(--bd);background:var(--bg);overflow:hidden;
    transition:color .5s var(--ease),border-color .5s var(--ease);will-change:transform;
}
.btn span{position:relative;z-index:2}
.btn::after{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);transition:transform .5s var(--ease);z-index:1}
.btn:hover::after{transform:translateY(0)}
.btn:hover{color:var(--paper);border-color:var(--ink)}
.btn--solid{--bg:var(--ink);--fg:var(--paper);--bd:var(--ink)}
.btn--solid::after{background:var(--brass)}
.btn--solid:hover{color:var(--ink);border-color:var(--brass)}
.btn--ghost{--bd:var(--line)}
.btn--line{--bd:var(--ink)}

/* === Кнопки адаптируются под фон секции ===
   На тёмных областях (шапка над hero, секция шахматки) — светлая схема,
   чтобы текст не сливался с фоном. Hero и Локация заданы в своих блоках. */
.nav .btn,
.choose .btn{ color:var(--paper); border-color:rgba(244,239,230,.5); }
.nav .btn::after,
.choose .btn::after{ background:var(--paper); }
.nav .btn:hover,
.choose .btn:hover{ color:var(--ink); border-color:var(--paper); }
/* solid на тёмном — заливка фирменным кремом, текст тёмный */
.choose .btn--solid{ background:var(--brass-2); color:var(--ink); border-color:var(--brass-2); }
.choose .btn--solid::after{ background:var(--paper); }
.choose .btn--solid:hover{ color:var(--ink); }

/* ---------- Навигация ---------- */
.nav{
    position:fixed;top:0;left:0;right:0;z-index:8000;
    display:flex;align-items:center;gap:28px;
    padding:22px var(--gut);
    transition:background .5s var(--ease),padding .5s var(--ease),color .5s var(--ease);
    color:var(--paper);mix-blend-mode:normal;
}
.nav.is-scrolled{background:rgba(22,20,15,.72);backdrop-filter:blur(14px);padding-top:14px;padding-bottom:14px}
.nav.is-light{color:var(--paper)}
.nav__logo{display:flex;align-items:center;gap:10px;font-family:var(--f-serif);font-size:1.25rem;letter-spacing:.12em}
.nav__menu{display:flex;gap:26px;margin-left:auto;font-size:.82rem;letter-spacing:.04em}
.nav__menu a{position:relative;opacity:.85;padding:4px 0}
.nav__menu a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--brass-2);transition:width .4s var(--ease)}
.nav__menu a:hover{opacity:1}.nav__menu a:hover::after{width:100%}
.nav__phone{font-size:.84rem;letter-spacing:.04em;opacity:.9}
.nav__cta{padding:11px 22px;font-size:.72rem}
.nav__burger{display:none;flex-direction:column;gap:5px;padding:6px}
.nav__burger span{width:26px;height:1.5px;background:currentColor;transition:.4s var(--ease)}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;
    padding:0 var(--gut) clamp(40px,7vh,90px);color:var(--paper);overflow:hidden}
.hero__media{position:absolute;inset:-8% 0;z-index:-2}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__veil{position:absolute;inset:0;background:
    linear-gradient(180deg,rgba(22,20,15,.55) 0%,rgba(22,20,15,.15) 35%,rgba(22,20,15,.75) 100%)}
.hero__content{position:relative;max-width:980px;margin-bottom:6vh}
.hero .eyebrow{color:var(--brass-2);margin-bottom:24px}
.hero__title{font-family:var(--f-serif);font-weight:330;line-height:.98;letter-spacing:-.02em;
    font-size:clamp(2.8rem,8.5vw,8rem)}
.hero__title .line{display:block;overflow:hidden}
.hero__title em{font-style:italic;color:var(--brass-2)}
.hero__lead{max-width:46ch;margin-top:30px;font-size:clamp(1rem,1.4vw,1.22rem);color:rgba(244,239,230,.86)}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero__actions .btn{color:var(--paper);border-color:rgba(244,239,230,.5)}
.hero__actions .btn::after{background:var(--paper)}
.hero__actions .btn:hover{color:var(--ink)}
/* solid на hero — фирменный крем + тёмный текст (был тёмный текст на тёмном фоне) */
.hero__actions .btn--solid{background:var(--brass-2);color:var(--ink);border-color:var(--brass-2)}
.hero__actions .btn--solid::after{background:var(--paper)}
.hero__actions .btn--solid:hover{color:var(--ink)}
.hero__scroll{position:absolute;left:var(--gut);bottom:26px;font-size:.7rem;letter-spacing:.2em;
    text-transform:uppercase;color:rgba(244,239,230,.7);display:flex;align-items:center;gap:12px}
.hero__scroll span{width:1px;height:42px;background:linear-gradient(var(--brass-2),transparent);display:block;animation:scrolldown 2s var(--ease) infinite}
@keyframes scrolldown{0%,100%{transform:scaleY(.4);opacity:.4;transform-origin:top}50%{transform:scaleY(1);opacity:1}}
.hero__facts{position:absolute;right:var(--gut);bottom:34px;display:flex;gap:38px;list-style:none;text-align:right}
.hero__facts li{display:flex;flex-direction:column}
.hero__facts b{font-family:var(--f-serif);font-size:clamp(1.6rem,2.6vw,2.6rem);font-weight:340;color:var(--paper)}
.hero__facts span{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-2)}

/* ---------- Marquee ---------- */
.marquee{background:var(--ink);color:var(--paper);overflow:hidden;padding:20px 0;white-space:nowrap}
.marquee__track{display:inline-flex;align-items:center;gap:30px;font-family:var(--f-serif);
    font-size:clamp(1.1rem,2vw,1.7rem);font-style:italic;will-change:transform;animation:marquee 30s linear infinite}
.marquee__track i{color:var(--brass);font-style:normal}
.marquee__track span{opacity:.92}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Манифест ---------- */
.manifesto{max-width:var(--maxw);margin:0 auto;padding:clamp(80px,14vh,180px) var(--gut);
    display:grid;grid-template-columns:auto 1fr;gap:clamp(30px,6vw,90px);align-items:start}
.manifesto__num{display:flex;flex-direction:column;gap:6px;font-family:var(--f-serif)}
.manifesto__num span{font-size:clamp(2.4rem,5vw,4.6rem);color:var(--brass);line-height:1}
.manifesto__num small{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--stone);font-family:var(--f-sans)}
.manifesto__text{max-width:60ch}
.manifesto__text .h-display{margin-bottom:34px}
.manifesto__text p{color:var(--ink-2);font-size:1.08rem;margin-top:18px;max-width:54ch}
.manifesto__img{grid-column:1/-1;margin-top:30px;border-radius:var(--r);overflow:hidden;aspect-ratio:21/9}
.manifesto__img img{width:100%;height:100%;object-fit:cover}

/* ---------- Локация ---------- */
.location{display:grid;grid-template-columns:1.05fr .95fr;min-height:80vh;align-items:stretch;background:var(--ink);color:var(--paper)}
.location__media{position:relative;overflow:hidden}
.location__media img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover}
.location__panel{padding:clamp(50px,9vw,120px) var(--gut);display:flex;flex-direction:column;justify-content:center}
.location__panel .eyebrow{margin-bottom:20px}
.location__panel .h-display{margin-bottom:36px}
.location__list{list-style:none;display:flex;flex-direction:column;gap:0}
.location__list li{padding:20px 0;border-top:1px solid rgba(202,168,115,.22);font-size:1.05rem;color:rgba(244,239,230,.85)}
.location__list li:last-child{border-bottom:1px solid rgba(202,168,115,.22)}
.location__list b{font-family:var(--f-serif);color:var(--brass-2);font-size:1.4rem;margin-right:14px;font-weight:340}
.location__panel .btn{margin-top:40px;align-self:flex-start;color:var(--paper);border-color:rgba(244,239,230,.4)}
.location__panel .btn:hover{color:var(--ink)}.location__panel .btn::after{background:var(--paper)}

/* ---------- Архитектура / галерея ---------- */
.architecture{padding:clamp(80px,14vh,170px) 0}
.architecture .section-head{margin-bottom:54px}
.architecture .h-display{margin-top:14px}
.gallery{padding:0 var(--gut);overflow:visible}
.gallery .swiper-slide{width:min(62vw,820px);height:auto}
.gallery__slide figcaption{margin-top:16px;font-size:.82rem;letter-spacing:.04em;color:var(--stone);text-transform:uppercase}
.gallery__media{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--paper-2)}
.gallery__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gallery__slide:hover .gallery__media img{transform:scale(1.05)}
.gallery__nav{display:flex;gap:12px;margin-top:38px;padding-left:0}
.gallery__btn{width:54px;height:54px;border:1px solid var(--line);border-radius:50%;font-size:1.1rem;
    display:grid;place-items:center;transition:.4s var(--ease)}
.gallery__btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- Lifestyle ---------- */
.life{max-width:var(--maxw);margin:0 auto;padding:clamp(60px,10vh,140px) var(--gut)}
.life .section-head{padding:0;margin-bottom:50px}
.life__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.life__card{position:relative;border-radius:var(--r);overflow:hidden;background:var(--ink);color:var(--paper);min-height:340px;display:flex;flex-direction:column;justify-content:flex-end}
.life__card--wide{grid-column:span 2}
.life__img{position:absolute;inset:0}
.life__img img{width:100%;height:100%;object-fit:cover;opacity:.62;transition:transform 1.2s var(--ease),opacity .6s}
.life__card:hover .life__img img{transform:scale(1.06);opacity:.5}
.life__body{position:relative;padding:30px;z-index:2}
.life__body h3{font-family:var(--f-serif);font-weight:360;font-size:1.5rem;margin-bottom:10px}
.life__body p{color:rgba(244,239,230,.8);font-size:.96rem;max-width:36ch}
.life__card--quote{background:var(--brass);color:var(--ink);align-items:center;justify-content:center;text-align:center;padding:40px}
.life__card--quote blockquote{font-family:var(--f-serif);font-style:italic;font-size:1.4rem;line-height:1.3}

/* ---------- Лоты ---------- */
.lots{max-width:var(--maxw);margin:0 auto;padding:clamp(50px,8vh,110px) var(--gut)}
.lots .section-head{padding:0;margin-bottom:50px}
.lots__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-soft)}
.lot{padding:40px 30px 36px;border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);
    display:flex;flex-direction:column;gap:8px;transition:background .5s var(--ease)}
.lot:nth-child(3n){border-right:none}
.lot:hover{background:var(--paper-2)}
.lot h3{font-family:var(--f-serif);font-weight:360;font-size:1.6rem}
.lot__area{color:var(--brass);font-weight:600;letter-spacing:.02em}
.lot__desc{color:var(--stone);font-size:.96rem;margin:4px 0 18px;flex:1}
.lot__price{font-family:var(--f-serif);font-size:1.25rem}
.lot__link{margin-top:14px;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);
    border-bottom:1px solid var(--brass);align-self:flex-start;padding-bottom:3px;transition:gap .3s}
.lot__link:hover{color:var(--brass)}

/* ---------- Шахматка Profitbase (заглушка) ---------- */
.choose{padding:clamp(70px,12vh,160px) 0;background:var(--ink-2);color:var(--paper)}
.choose .h-display em,.choose .eyebrow{color:var(--brass-2)}
.choose .section-sub{color:var(--stone-2)}
.pb-wrap{max-width:var(--maxw);margin:54px auto 0;padding:0 var(--gut)}
.pb-widget{position:relative;border:1px solid rgba(202,168,115,.22);border-radius:var(--r);overflow:hidden;min-height:440px}
.pb-stub{position:relative;min-height:440px}
.pb-stub__grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(10,1fr);gap:8px;padding:26px;opacity:.5}
.pb-cell{display:block;border-radius:4px;aspect-ratio:3/4;background:#3a352b}
.pb-cell--free{background:rgba(202,168,115,.55)}
.pb-cell--soon{background:rgba(202,168,115,.22)}
.pb-cell--sold{background:#2c281f}
.pb-stub__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;
    background:radial-gradient(ellipse at center,rgba(33,30,24,.78),rgba(33,30,24,.95));text-align:center;padding:30px}
.pb-stub__overlay p{max-width:36ch;color:var(--stone-2);font-size:1.05rem}
.pb-legend{list-style:none;display:flex;gap:26px;justify-content:center;margin-top:24px;font-size:.78rem;color:var(--stone-2);letter-spacing:.04em}
.pb-legend li{display:flex;align-items:center;gap:9px}
.pb-legend i{width:14px;height:18px;border-radius:3px;display:block}

/* ---------- CTA / форма ---------- */
.cta{max-width:var(--maxw);margin:0 auto;padding:clamp(70px,12vh,160px) var(--gut);
    display:grid;grid-template-columns:1fr .85fr;gap:clamp(40px,7vw,100px);align-items:center}
.cta__left .eyebrow{margin-bottom:20px}
.cta__left .h-display{margin-bottom:28px}
.cta__left>p{color:var(--ink-2);font-size:1.08rem;max-width:46ch}
.cta__bullets{list-style:none;margin:30px 0;display:flex;flex-direction:column;gap:14px}
.cta__bullets li{position:relative;padding-left:30px;color:var(--ink-2)}
.cta__bullets li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:1px;background:var(--brass)}
.cta__contacts{display:flex;gap:28px;font-family:var(--f-serif);font-size:1.3rem}
.cta__contacts a{border-bottom:1px solid var(--line);padding-bottom:4px;transition:border-color .4s}
.cta__contacts a:hover{border-color:var(--brass)}

.form-card{background:var(--ink);color:var(--paper);border-radius:var(--r);padding:clamp(28px,4vw,46px);box-shadow:0 40px 80px -40px rgba(22,20,15,.5)}
.form-card__title{font-family:var(--f-serif);font-weight:360;font-size:1.6rem;margin-bottom:26px}

/* ---------- Поля формы ---------- */
.lead-form{display:flex;flex-direction:column;gap:18px}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.field{position:relative}
.field input{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(244,239,230,.28);
    padding:18px 0 12px;color:var(--paper);font-size:1rem;transition:border-color .4s}
.field input:focus{outline:none;border-color:var(--brass-2)}
.field label{position:absolute;left:0;top:18px;color:var(--stone-2);font-size:1rem;pointer-events:none;
    transition:transform .35s var(--ease),font-size .35s var(--ease),color .35s}
.field input:focus+label,.field input:not(:placeholder-shown)+label{transform:translateY(-20px);font-size:.72rem;letter-spacing:.08em;color:var(--brass-2)}
.lead-form .btn{margin-top:8px;width:100%;color:var(--ink);border-color:var(--brass-2)}
.lead-form .btn::after{background:var(--paper)}
.lead-form .btn--solid{background:var(--brass-2);border-color:var(--brass-2);color:var(--ink)}
.lead-form .btn--solid:hover{color:var(--ink)}
/* текст кнопки обёрнут в <span>; в футере его перекрывает .footer__col span — фиксим цвет */
.lead-form .btn span{color:var(--ink)}
.form-note{font-size:.74rem;color:var(--stone-2);line-height:1.5}
.form-note a{border-bottom:1px solid var(--line);color:var(--stone-2)}
.form-status{font-size:.9rem;min-height:0;transition:min-height .3s}
.form-status.is-error{color:#e9a17c;min-height:1.4em}
.form-status.is-ok{color:var(--brass-2);min-height:1.4em}
.lead-form.is-sending{opacity:.6;pointer-events:none}

/* баннер успеха без JS (?form=ok) */
.form-banner{position:fixed;top:0;left:0;right:0;z-index:8200;background:var(--brass-2);color:var(--ink);
    text-align:center;padding:14px 20px;font-size:.92rem;font-weight:500;letter-spacing:.02em}

/* компактная форма (hero/footer) */
.lead-form--compact .field input{border-color:rgba(244,239,230,.22)}

/* ---------- Футер ---------- */
.footer{background:var(--ink);color:var(--paper);padding:clamp(60px,9vh,110px) var(--gut) 36px}
.footer__top{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;
    padding-bottom:50px;border-bottom:1px solid rgba(244,239,230,.12)}
.footer__logo{font-family:var(--f-serif);font-size:2rem;letter-spacing:.1em;display:block;margin-bottom:14px}
.footer__brand p{color:var(--stone-2);max-width:24ch}
.footer__col{display:flex;flex-direction:column;gap:12px}
.footer__col h4{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-2);margin-bottom:6px;font-weight:600}
.footer__col a,.footer__col span{color:rgba(244,239,230,.78);font-size:.95rem}
.footer__col a:hover{color:var(--paper)}
.footer__col--form .lead-form{gap:14px}
.footer__bottom{max-width:var(--maxw);margin:0 auto;padding-top:26px;display:flex;flex-wrap:wrap;gap:16px 40px;
    align-items:center;justify-content:space-between;font-size:.78rem;color:var(--stone)}
.footer__legal{flex:1;min-width:240px;max-width:60ch}

/* ---------- Reveal (появление блоков через IntersectionObserver) ---------- */
[data-reveal]{opacity:0;transform:translateY(24px);filter:blur(6px);
    transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);
    will-change:opacity,transform}
[data-reveal].is-in{opacity:1;transform:none;filter:none}
body.no-anim [data-reveal]{opacity:1!important;transform:none!important;filter:none!important}
.split-line{display:block;overflow:hidden}
.split-line>span{display:block}

/* ---------- Адаптив ---------- */
@media(max-width:1080px){
    .nav__menu,.nav__phone{display:none}
    .nav__burger{display:flex}
    .nav__cta{margin-left:auto}
    .cta{grid-template-columns:1fr;gap:46px}
    .location{grid-template-columns:1fr}
    .location__media{min-height:52vh}
    .life__grid{grid-template-columns:repeat(2,1fr)}
    .life__card--wide{grid-column:span 2}
    .footer__top{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
    .manifesto{grid-template-columns:1fr;gap:24px}
    .hero__facts{display:none}
    .hero__scroll{display:none}
    .gallery .swiper-slide{width:84vw}
    .life__grid{grid-template-columns:1fr}
    .life__card--wide,.life__card--quote{grid-column:span 1}
    .lots__grid{grid-template-columns:1fr}
    .lot{border-right:none}
    .pb-stub__grid{grid-template-columns:repeat(7,1fr)}
    .footer__top{grid-template-columns:1fr}
    .cta__contacts{flex-direction:column;gap:10px}
}

/* мобильное меню */
.nav__drawer{position:fixed;inset:0;z-index:7900;background:var(--ink);color:var(--paper);
    display:flex;flex-direction:column;justify-content:center;gap:8px;padding:var(--gut);
    transform:translateX(100%);transition:transform .6s var(--ease)}
.nav__drawer.is-open{transform:translateX(0)}
.nav__drawer a{font-family:var(--f-serif);font-size:2rem;font-weight:340;padding:8px 0;border-bottom:1px solid rgba(244,239,230,.1)}

/* amoCRM кнопка-чат: держим под прелоадером, аккуратный отступ.
   Полная стилизация (цвет/иконка/каналы) — в панели amoCRM, не здесь. */
[class*="amo-button"],[id*="amo_social_button"],iframe[src*="amocrm"],iframe[src*="gso.amocrm"]{
    z-index:7700!important;
}
@media(max-width:720px){
    [class*="amo-button"],iframe[src*="amocrm"]{margin-bottom:6px}
}

/* доступность: уважение к prefers-reduced-motion */
@media(prefers-reduced-motion:reduce){
    *{animation-duration:.001ms!important;transition-duration:.001ms!important}
    [data-reveal]{opacity:1!important;transform:none!important}
    .grain{display:none}
}
