/* ТЕССИНСКИЙ, V — стили. */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=Jost:wght@300;400;500;600&display=swap');

:root{
  --terracotta: #b1552e;
  --terracotta-deep: #8a3f22;
  --cream: #f4ece1;
  --cream-2: #ece0d1;
  --paper: #faf6ef;
  --ink: #211d18;
  --stone: #6d6a63;
  --stone-dark: #45433d;
  --charcoal: #2c2a26;
  --gold: #c7a06a;
  --line: rgba(33,29,24,0.12);
  --line-light: rgba(255,255,255,0.22);
  --radius: 2px;
  --ease: cubic-bezier(.22,.61,.36,1);
  --maxw: 1440px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Jost', sans-serif;
  font-weight:400;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video{max-width:100%;display:block;}
figure{margin:0;}
a{color:inherit;text-decoration:none;}
.serif{font-family:'Fraunces', serif;}

h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  font-weight:400;
  margin:0;
  letter-spacing:0.001em;
  color:var(--ink);
}
.on-dark h1,.on-dark h2,.on-dark h3,.on-dark p,.on-dark span{color:#f4ece1;}

.eyebrow{
  font-family:'Jost', sans-serif;
  font-size:11px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--terracotta);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.on-dark .eyebrow{color:var(--gold);}
.eyebrow::before{
  content:"";
  width:22px;height:1px;background:currentColor;display:inline-block;
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,64px);}
section{position:relative;}

/* ---------- preloader ---------- */
.preloader{
  position:fixed;inset:0;z-index:9999;background:var(--charcoal);
  display:flex;align-items:center;justify-content:center;
}
.preloader .mark{
  font-family:'Fraunces', serif;color:var(--cream);font-size:15px;
  letter-spacing:0.3em;text-transform:uppercase;opacity:.8;
}

/* ---------- nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;align-items:center;justify-content:space-between;
  padding:26px clamp(20px,5vw,64px);
  transition:padding .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease);
  mix-blend-mode:normal;
}
.nav .logo{font-family:'Fraunces', serif;font-size:19px;letter-spacing:0.08em;color:#fff;}
.nav .logo b{font-weight:500;}
.nav-links{display:flex;gap:34px;align-items:center;}
.nav-links a{
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.86);
  transition:color .25s;
}
.nav-links a:hover{color:var(--gold);}
.nav .btn{margin-left:8px;}
.nav.scrolled{
  padding:14px clamp(20px,5vw,64px);
  background:rgba(33,29,24,0.92);
  backdrop-filter:blur(10px);
  box-shadow:0 6px 30px rgba(0,0,0,0.18);
}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:22px;cursor:pointer;}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Jost', sans-serif;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;
  padding:14px 26px;border:1px solid currentColor;border-radius:var(--radius);
  cursor:pointer;background:transparent;color:inherit;
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
  white-space:nowrap;
}
.btn-solid{background:var(--terracotta);border-color:var(--terracotta);color:#fff;}
.btn-solid:hover{background:var(--terracotta-deep);border-color:var(--terracotta-deep);}
.btn-ghost-dark{color:#fff;border-color:rgba(255,255,255,0.55);}
.btn-ghost-dark:hover{background:#fff;color:var(--ink);}
.btn-ghost-light{color:var(--ink);border-color:rgba(33,29,24,0.4);}
.btn-ghost-light:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ---------- hero ---------- */
.hero{
  height:100svh;min-height:640px;position:relative;overflow:hidden;
  display:flex;align-items:flex-end;
}
.hero-media{position:absolute;inset:0;z-index:0;}
.hero-media video, .hero-media img{
  width:100%;height:100%;object-fit:cover;object-position:center 60%;
}
.hero-media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(20,17,13,0.42) 0%, rgba(20,17,13,0.06) 30%, rgba(20,17,13,0.62) 76%, rgba(20,17,13,0.9) 100%),
    linear-gradient(96deg, rgba(20,17,13,0.5) 0%, rgba(20,17,13,0.18) 42%, rgba(20,17,13,0) 68%);
}
.hero-content{position:relative;z-index:2;width:100%;padding:0 0 clamp(40px,7vh,88px);color:#fff;}
.hero-content .inner{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,64px);}
.hero-content .eyebrow{color:var(--gold);margin-bottom:22px;text-shadow:0 1px 12px rgba(20,17,13,0.5);}
.hero-title{
  font-size:clamp(48px,8.4vw,132px);line-height:0.94;font-weight:400;
  letter-spacing:0.005em;color:#fff;text-shadow:0 2px 40px rgba(20,17,13,0.45);
}
.hero-title em{font-style:italic;font-weight:400;color:var(--gold);}
.hero-sub{
  margin-top:22px;font-family:'Jost',sans-serif;font-weight:300;font-size:clamp(15px,1.5vw,19px);
  max-width:560px;color:rgba(255,255,255,0.88);line-height:1.6;
}
.hero-cta{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;}
.hero-scroll{
  position:absolute;right:clamp(20px,5vw,64px);bottom:40px;z-index:2;color:#fff;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.hero-scroll .line{width:1px;height:52px;background:rgba(255,255,255,0.5);position:relative;overflow:hidden;}
.hero-scroll .line i{position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--gold);animation:scrollline 2.2s ease-in-out infinite;}
@keyframes scrollline{0%{top:-100%;}50%{top:0;}100%{top:100%;}}
.hero-scroll span{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;writing-mode:vertical-rl;color:rgba(255,255,255,0.7);}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(36px);}
.reveal.in{opacity:1;transform:none;transition:opacity 1s var(--ease), transform 1s var(--ease);}
.stagger > *{opacity:0;transform:translateY(24px);}
.stagger.in > *{opacity:1;transform:none;transition:opacity .9s var(--ease), transform .9s var(--ease);}
.stagger.in > *:nth-child(1){transition-delay:.02s;}
.stagger.in > *:nth-child(2){transition-delay:.12s;}
.stagger.in > *:nth-child(3){transition-delay:.22s;}
.stagger.in > *:nth-child(4){transition-delay:.32s;}
.stagger.in > *:nth-child(5){transition-delay:.42s;}

/* ---------- intro strip ---------- */
.intro{padding:clamp(80px,12vh,140px) 0 clamp(60px,9vh,100px);background:var(--paper);}
.intro .grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:end;}
.intro h2{font-size:clamp(30px,3.6vw,50px);line-height:1.18;font-weight:400;}
.intro p{color:var(--stone-dark);font-size:16px;line-height:1.75;max-width:480px;}
.intro-quote{font-family:'Fraunces', serif;font-style:italic;font-size:clamp(18px,1.7vw,22px);color:var(--terracotta-deep);line-height:1.55;border-left:2px solid var(--terracotta);padding-left:22px;}

/* ---------- numbers ---------- */
.numbers{background:var(--charcoal);padding:clamp(70px,10vh,110px) 0;}
.numbers .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
.num-item{border-top:1px solid var(--line-light);padding-top:22px;}
.num-item .val{font-family:'Fraunces', serif;font-size:clamp(36px,4.2vw,64px);color:var(--gold);line-height:1;}
.num-item .val sup{font-size:0.4em;margin-left:4px;color:#e9dcc4;}
.num-item .lbl{margin-top:12px;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(244,236,225,0.72);line-height:1.5;}

/* ---------- location ---------- */
.location{padding:clamp(90px,12vh,140px) 0;background:var(--cream);}
.location .head{max-width:640px;margin-bottom:56px;}
.location .head h2{font-size:clamp(30px,4vw,54px);margin-top:18px;line-height:1.14;}
.loc-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:start;}
.loc-media{position:relative;overflow:hidden;border-radius:var(--radius);}
.loc-media img,.loc-media video{width:100%;height:100%;object-fit:cover;}
.dist-list{display:flex;flex-direction:column;}
.dist-item{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:18px 0;border-bottom:1px solid var(--line);
}
.dist-item .name{font-size:15px;color:var(--ink);}
.dist-item .name small{display:block;color:var(--stone);font-size:12.5px;margin-top:3px;}
.dist-item .time{font-family:'Fraunces', serif;font-size:19px;color:var(--terracotta-deep);white-space:nowrap;}
.loc-media figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:18px 22px;
  background:linear-gradient(0deg, rgba(15,12,9,0.72) 0%, rgba(15,12,9,0) 100%);
  color:#fff;font-size:12.5px;letter-spacing:0.04em;
}

/* ---------- four houses intro ---------- */
.houses-intro{position:relative;padding:0;background:var(--charcoal);overflow:hidden;}
.houses-intro-media{position:relative;height:78vh;min-height:480px;}
.houses-intro-media img,.houses-intro-media video{width:100%;height:100%;object-fit:cover;}
.houses-intro-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(15,13,10,0.15), rgba(15,13,10,0.82));}
.houses-intro-copy{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(40px,7vh,80px) 0;
}
.houses-intro-copy h2{color:#fff;font-size:clamp(32px,5vw,72px);line-height:1.05;max-width:820px;}
.houses-intro-copy p{color:rgba(244,236,225,0.75);max-width:520px;margin-top:20px;font-size:15px;line-height:1.7;}
.house-names{display:flex;gap:30px;margin-top:30px;flex-wrap:wrap;}
.house-names a{
  font-family:'Fraunces', serif;font-style:italic;font-size:18px;color:var(--gold);
  border-bottom:1px solid rgba(199,160,106,0.4);padding-bottom:3px;
}
.house-names a span{display:block;font-family:'Jost',sans-serif;font-style:normal;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(244,236,225,0.55);margin-top:4px;}

/* ---------- house sections ---------- */
.house{padding:clamp(90px,13vh,150px) 0;}
.house.theme-aurora{background:#f6ede2;}
.house.theme-media{background:#e9e7e3;}
.house.theme-hespera{background:#f3e3d3;}
.house.theme-nox{background:#28272a;color:#fff;}
.house.theme-nox h2,.house.theme-nox h3,.house.theme-nox p,.house.theme-nox .lbl,.house.theme-nox .name,.house.theme-nox .dist-item .name{color:#f4ece1;}
.house-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;}
.house-grid.rev{direction:rtl;}
.house-grid.rev > *{direction:ltr;}
.house-media{position:relative;overflow:hidden;border-radius:var(--radius);}
.house-media img{width:100%;height:auto;object-fit:cover;transition:transform 1.2s var(--ease);}
.house-media:hover img{transform:scale(1.04);}
.house-tag{font-family:'Fraunces', serif;font-style:italic;font-size:15px;color:var(--terracotta-deep);}
.theme-nox .house-tag{color:var(--gold);}
.house-name{font-size:clamp(34px,5vw,64px);margin-top:8px;line-height:1;}
.house-claim{font-size:clamp(20px,2.2vw,28px);margin-top:16px;line-height:1.3;font-style:italic;font-weight:400;}
.house-copy{margin-top:20px;font-size:15.5px;color:var(--stone-dark);line-height:1.75;max-width:480px;}
.theme-nox .house-copy{color:rgba(244,236,225,0.78);}
.house-specs{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;}
.house-specs li{font-size:13.5px;padding-left:16px;position:relative;line-height:1.5;color:var(--stone-dark);}
.theme-nox .house-specs li{color:rgba(244,236,225,0.8);}
.house-specs li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:1px;background:var(--terracotta);}
.theme-nox .house-specs li::before{background:var(--gold);}
.house-meta{display:flex;gap:36px;margin-top:30px;}
.house-meta div .n{font-family:'Fraunces', serif;font-size:30px;color:var(--terracotta-deep);}
.theme-nox .house-meta div .n{color:var(--gold);}
.house-meta div .l{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);margin-top:4px;}
.house-cta{margin-top:34px;}

/* ---------- mood portraits (второй подблок дома / грандлобби / сад) ---------- */
.house-mood{display:flex;gap:36px;align-items:center;}
.house-mood.rev{flex-direction:row-reverse;}
.mood-media{flex:0 0 auto;width:38%;}
.mood-media img{width:100%;height:auto;border-radius:var(--radius);display:block;}
.mood-copy{flex:1;}
.house-media-capped img{max-width:420px;}
.house-mood-inline{max-width:280px;margin-top:32px;}
.house-mood-inline img{width:100%;height:auto;border-radius:var(--radius);display:block;}
.house-mood-inline figcaption{margin-top:10px;font-size:12px;letter-spacing:0.04em;color:var(--stone);}

/* ---------- architecture ---------- */
.architecture{padding:clamp(90px,13vh,150px) 0;background:var(--paper);}
.arch-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.arch-media{position:relative;}
.arch-media img{border-radius:var(--radius);}
.arch-facts{list-style:none;margin:26px 0 0;padding:0;}
.arch-facts li{padding:16px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--stone-dark);line-height:1.6;}
.credit-row{display:flex;gap:40px;margin-top:30px;flex-wrap:wrap;}
.credit-row div .k{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);}
.credit-row div .v{font-family:'Fraunces', serif;font-size:18px;margin-top:6px;}

/* ---------- landscape ---------- */
.landscape{position:relative;background:var(--terracotta-deep);color:#fff;overflow:hidden;}
.landscape-media{height:88vh;min-height:560px;position:relative;}
.landscape-media img,.landscape-media video{width:100%;height:100%;object-fit:cover;}
.landscape-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(20,12,7,0.78) 0%, rgba(20,12,7,0.1) 40%, rgba(20,12,7,0.5) 100%);}
.landscape-copy{position:absolute;left:0;right:0;bottom:0;padding:clamp(40px,7vh,84px) 0;z-index:2;}
.landscape-copy .eyebrow{color:var(--gold);}
.landscape-copy h2{color:#fff;font-size:clamp(30px,4.6vw,60px);max-width:760px;margin-top:16px;line-height:1.14;}
.landscape-copy p{color:rgba(255,255,255,0.82);max-width:520px;margin-top:18px;font-size:15px;line-height:1.7;}
.garden-extra{padding:clamp(70px,10vh,110px) 0;background:#fbf2e6;color:var(--ink);}
.garden-extra .band{border-radius:var(--radius);overflow:hidden;position:relative;}
.garden-extra .band img,.garden-extra .band video{width:100%;height:clamp(220px,38vh,420px);object-fit:cover;display:block;}
.garden-extra .band-cap{
  margin:18px 0 0;padding:0;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;
  font-size:13px;color:var(--stone);
}
.garden-split{display:flex;gap:48px;align-items:center;margin-top:64px;}

/* ---------- service ---------- */
.service{padding:clamp(90px,13vh,150px) 0;background:var(--charcoal);}
.service-head{max-width:640px;color:#fff;margin-bottom:56px;}
.service-head h2{color:#fff;margin-top:16px;font-size:clamp(30px,4vw,52px);line-height:1.14;}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(244,236,225,0.1);}
.service-card{
  background:#232320;padding:34px 28px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between;
  transition:background .3s;
}
.service-card:hover{background:#2c2a26;}
.service-card .n{font-family:'Fraunces', serif;font-size:14px;color:var(--gold);}
.service-card h4{color:#fff;font-size:19px;margin-top:22px;line-height:1.3;}
.service-card p{color:rgba(244,236,225,0.6);font-size:13.5px;margin-top:10px;line-height:1.6;}

/* ---------- autolounge ---------- */
.auto{padding:clamp(90px,13vh,150px) 0;background:#161513;color:#fff;}
.auto h2{color:#fff;font-size:clamp(30px,4vw,54px);margin-top:16px;line-height:1.14;}
.auto p{color:rgba(244,236,225,0.75);margin-top:18px;font-size:15px;line-height:1.75;max-width:480px;}
.auto-facts{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;}
.auto-facts li{font-size:13.5px;color:rgba(244,236,225,0.75);padding-left:16px;position:relative;line-height:1.5;}
.auto-facts li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:1px;background:var(--gold);}

/* ---------- prive ---------- */
.prive{padding:clamp(90px,13vh,150px) 0;background:var(--cream);}
.prive-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;}
.prive-tiers{display:flex;flex-direction:column;gap:0;margin-top:30px;}
.prive-tier{padding:22px 0;border-top:1px solid var(--line);}
.prive-tier:last-child{border-bottom:1px solid var(--line);}
.prive-tier .t{font-family:'Fraunces', serif;font-style:italic;font-size:20px;color:var(--terracotta-deep);}
.prive-tier p{margin-top:8px;font-size:14px;color:var(--stone-dark);}
.partners-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 30px;margin-top:10px;}
.partner-cat{border-top:1px solid var(--line);padding-top:16px;}
.partner-cat .k{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--terracotta);}
.partner-cat .v{margin-top:8px;font-size:14px;color:var(--stone-dark);line-height:1.55;}

/* ---------- developer ---------- */
.developer{padding:clamp(90px,13vh,150px) 0;background:var(--paper);}
.dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
.dev-col h3{font-size:20px;margin-bottom:14px;}
.dev-col p{font-size:14.5px;color:var(--stone-dark);line-height:1.75;margin-bottom:10px;}
.dev-list{list-style:none;padding:0;margin:14px 0 0;}
.dev-list li{font-size:14px;color:var(--stone-dark);padding:10px 0;border-top:1px solid var(--line);}

/* ---------- lead form ---------- */
.lead{padding:clamp(90px,13vh,150px) 0;background:var(--charcoal);position:relative;overflow:hidden;}
.lead-bg{position:absolute;inset:0;z-index:0;opacity:0.25;}
.lead-bg img{width:100%;height:100%;object-fit:cover;}
.lead > .wrap{position:relative;z-index:1;}
.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.lead h2{color:#fff;font-size:clamp(30px,4.4vw,56px);line-height:1.14;}
.lead p{color:rgba(244,236,225,0.72);margin-top:18px;font-size:15px;line-height:1.7;max-width:440px;}
.lead-facts{display:flex;gap:30px;margin-top:34px;flex-wrap:wrap;}
.lead-facts div .n{font-family:'Fraunces', serif;color:var(--gold);font-size:26px;}
.lead-facts div .l{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(244,236,225,0.6);margin-top:4px;}
.lead-card{background:#232320;padding:clamp(30px,4vw,48px);border-radius:var(--radius);}
.lead-tabs{display:flex;gap:8px;margin-bottom:28px;}
.lead-tab{
  flex:1;text-align:center;padding:14px 10px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;
  border:1px solid rgba(244,236,225,0.25);color:rgba(244,236,225,0.7);cursor:pointer;transition:all .25s;
  background:transparent;font-family:'Jost',sans-serif;
}
.lead-tab.active{background:var(--terracotta);border-color:var(--terracotta);color:#fff;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(244,236,225,0.55);margin-bottom:8px;}
.field input{
  width:100%;background:transparent;border:none;border-bottom:1px solid rgba(244,236,225,0.3);
  color:#fff;font-family:'Jost',sans-serif;font-size:16px;padding:10px 2px;outline:none;
  transition:border-color .25s;
}
.field input:focus{border-color:var(--gold);}
.field input::placeholder{color:rgba(244,236,225,0.35);}
.hp{position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;width:0;}
.lead-submit{width:100%;margin-top:8px;justify-content:center;}
.lead-note{font-size:11.5px;color:rgba(244,236,225,0.45);margin-top:16px;line-height:1.6;}
.lead-status{margin-top:16px;font-size:13.5px;padding:12px 14px;border-radius:var(--radius);display:none;}
.lead-status.ok{display:block;background:rgba(115,168,111,0.16);color:#a9d6a4;border:1px solid rgba(115,168,111,0.4);}
.lead-status.err{display:block;background:rgba(196,90,74,0.16);color:#e0a89b;border:1px solid rgba(196,90,74,0.4);}

/* ---------- footer ---------- */
footer{background:#161513;color:rgba(244,236,225,0.6);padding:60px 0 26px;}
.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(244,236,225,0.12);}
.footer-top .logo{font-family:'Fraunces', serif;color:#fff;font-size:20px;letter-spacing:0.06em;}
.footer-top p{font-size:13px;line-height:1.7;margin-top:14px;max-width:320px;}
.footer-col h5{color:#fff;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:16px;font-weight:400;}
.footer-col a,.footer-col span{display:block;font-size:13.5px;margin-bottom:10px;color:rgba(244,236,225,0.65);}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;font-size:11.5px;color:rgba(244,236,225,0.4);}

/* ---------- интерьеры резиденций ---------- */
.interiors{padding:clamp(80px,11vh,130px) 0;background:var(--charcoal);color:var(--cream);}
.interiors .head{max-width:720px;margin-bottom:44px;}
.interiors h2{color:#fff;font-size:clamp(28px,3.6vw,46px);line-height:1.16;margin-top:16px;}
.interiors .head p{color:rgba(244,236,225,0.7);margin-top:16px;font-size:15px;line-height:1.75;}
.interiors-hero{position:relative;overflow:hidden;border-radius:var(--radius);}
.interiors-hero img{width:100%;height:clamp(340px,62vh,700px);object-fit:cover;}
@media (max-width:760px){
  /* широкий кадр гостиной в узком слоте резался почти вдвое — отдаём натуральную пропорцию */
  .interiors-hero img{height:auto;aspect-ratio:16/10;object-fit:cover;}
}
.interiors-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:38px;}
.interiors-facts div .n{font-family:'Fraunces',serif;font-size:clamp(28px,3.4vw,42px);color:var(--gold);line-height:1;}
.interiors-facts div .l{font-size:12.5px;letter-spacing:0.06em;color:rgba(244,236,225,0.62);margin-top:10px;line-height:1.55;}

/* ---------- карточки сервиса (4:5) ---------- */
.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.service-card-photo{position:relative;overflow:hidden;background:#232320;aspect-ratio:4/5;}
.service-card-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(0.86);
  transition:transform 1.1s var(--ease);}
.service-card-photo:hover img{transform:scale(1.04);}
.service-card-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 24px;
  background:linear-gradient(0deg, rgba(15,12,9,0.9) 0%, rgba(15,12,9,0) 100%);}
.service-card-photo figcaption b{display:block;font-family:'Fraunces',serif;font-size:19px;color:#fff;font-weight:400;}
.service-card-photo figcaption span{display:block;font-size:12.5px;color:rgba(244,236,225,0.68);margin-top:7px;line-height:1.6;}

/* ---------- визуальный ряд Element Privé ---------- */
.prive-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:64px;}
.prive-visual figure{margin:0;position:relative;overflow:hidden;background:var(--cream-2);}
.prive-visual img{width:100%;aspect-ratio:3/4;height:auto;object-fit:cover;
  transition:transform 1.1s var(--ease);}
.prive-visual figure:hover img{transform:scale(1.05);}
.prive-visual figure.cap-narrow img{max-width:400px;margin:0 auto;}
.prive-visual figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:16px 18px;
  background:linear-gradient(0deg, rgba(15,12,9,0.8) 0%, rgba(15,12,9,0) 100%);
  font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.9);
}

/* ---------- скролл-скраб (проезд по территории) ---------- */
.scrub{position:relative;height:360vh;background:#15120e;}
.scrub-sticky{position:sticky;top:0;height:100vh;overflow:hidden;}
.scrub-sticky canvas,.scrub-poster{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
}
.scrub-sticky::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(15,12,9,0.55) 0%, rgba(15,12,9,0.05) 34%, rgba(15,12,9,0.2) 62%, rgba(15,12,9,0.82) 100%);
}
.scrub-copy{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  padding:0 0 clamp(48px,9vh,110px);color:#fff;
}
.scrub-copy .inner{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,64px);}
.scrub-copy h2{color:#fff;font-size:clamp(28px,4.4vw,58px);line-height:1.14;max-width:700px;margin-top:16px;}
.scrub-copy p{color:rgba(255,255,255,0.8);max-width:520px;margin-top:18px;font-size:15px;line-height:1.7;}
.scrub-hint{
  position:absolute;top:calc(50% - 20px);right:clamp(18px,4vw,48px);z-index:3;
  writing-mode:vertical-rl;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;
  color:rgba(255,255,255,0.55);
}
@media (max-width:600px){.scrub{height:280vh;}}

/* ---------- полоса фасадов ---------- */
.facade-strip{background:var(--paper);padding:0 0 clamp(60px,9vh,100px);}
.facade-strip .band{position:relative;overflow:hidden;}
.facade-strip .band img,.facade-strip .band video{width:100%;height:clamp(240px,42vh,480px);object-fit:cover;display:block;}
.facade-strip .band-cap{
  max-width:var(--maxw);margin:22px auto 0;padding:0 clamp(20px,5vw,64px);
  display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;
  font-size:13px;color:var(--stone);
}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .nav-links{display:none;}
  .nav-toggle{display:block;}
  .intro .grid,.loc-grid,.arch-grid,.prive-grid,.dev-grid,.lead-grid{grid-template-columns:1fr;}
  .house-grid,.house-grid.rev{grid-template-columns:1fr;direction:ltr;}
  .house-grid.rev{display:flex;flex-direction:column-reverse;}
  .house-mood,.house-mood.rev,.garden-split{flex-direction:column;align-items:flex-start;gap:24px;}
  .mood-media,.house-mood.rev .mood-media{width:100%;max-width:340px !important;}
  .numbers .grid{grid-template-columns:1fr 1fr;}
  .service-grid{grid-template-columns:1fr 1fr;}
  .partners-grid{grid-template-columns:1fr;}
  .service-cards{grid-template-columns:1fr 1fr;}
  .prive-visual{grid-template-columns:1fr 1fr;}
  .interiors-facts{grid-template-columns:1fr;gap:22px;}
  .footer-top{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .hero-scroll{display:none;}
  .hero-content .eyebrow{font-size:10px;letter-spacing:0.16em;}
  .prive-visual{grid-template-columns:1fr 1fr;}
  .service-grid{grid-template-columns:1fr;}
  .numbers .grid{grid-template-columns:1fr 1fr;gap:26px;}
  .house-specs{grid-template-columns:1fr;}
  .auto-facts{grid-template-columns:1fr;}

  /* полосы — только горизонтальные исходники, максимум 60vh */
  .facade-strip .band img,.facade-strip .band video,.garden-extra .band img,.garden-extra .band video{height:auto;max-height:60vh;}

  /* портретные слоты (7:10) — натуральная пропорция, максимум 76vh */
  .house-media img,.arch-media img{height:auto;max-height:76vh;width:auto;max-width:100%;margin:0 auto;}

  /* mood-портреты — карточка 4:5, ограничение по ширине 72vw */
  .mood-media{width:72vw !important;max-width:72vw !important;}
  .mood-media img{aspect-ratio:4/5;object-fit:cover;height:auto;}

  /* карточки сервиса — свайп-лента 72vw со scroll-snap */
  .service-cards{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;grid-template-columns:none;-webkit-overflow-scrolling:touch;}
  .service-cards .service-card-photo{flex:0 0 72vw;scroll-snap-align:center;}

  /* локация — кадр сверху, список ниже */
  .loc-media img,.loc-media video{height:52vh;object-position:78% center;}
}

@media (prefers-reduced-motion: reduce){
  .reveal,.stagger > *{opacity:1 !important;transform:none !important;}
  html{scroll-behavior:auto;}
}

/* ==================================================================
   ВИДЖЕТ ЗАЯВКИ — постоянный лид-магнит.
   Один и тот же DOM (#lw-panel) работает и как мобильный bottom-sheet,
   и как десктопная карточка 320px — режим переключает медиа-запрос,
   логика открытия/закрытия общая (см. initLeadWidget в js/main.js).
   Заменяет старый .sticky-cta.
   ================================================================== */

/* ---------- мобильный нижний бар ---------- */
.lw-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:610;
  height:56px;display:none;align-items:center;justify-content:space-between;gap:14px;
  padding:0 16px;background:rgba(33,29,24,0.97);backdrop-filter:blur(8px);
  border-top:1px solid rgba(244,236,225,0.14);
  transform:translateY(100%);transition:transform .35s var(--ease);
}
.lw-bar.lw-bar--show{transform:translateY(0);}
.lw-bar-text{color:#fff;font-size:12.5px;font-family:'Fraunces', serif;font-style:italic;line-height:1.3;}
.lw-bar-btn{padding:11px 20px;font-size:11px;flex:0 0 auto;}
.lw[data-state="submitted"] .lw-bar-btn{display:none;}

/* ---------- десктопная пилюля ---------- */
.lw-pill{
  display:none;position:fixed;right:28px;bottom:28px;z-index:610;
  align-items:center;gap:10px;padding:14px 22px;
  background:var(--charcoal);color:#fff;border:1px solid rgba(244,236,225,0.18);
  border-radius:999px;font-family:'Jost', sans-serif;font-size:12px;letter-spacing:0.08em;
  text-transform:uppercase;cursor:pointer;box-shadow:0 12px 34px rgba(0,0,0,0.28);
  transition:background .25s, transform .25s;
}
.lw-pill:hover{background:#2c2a26;}
.lw-pill-dot{width:8px;height:8px;border-radius:50%;background:var(--terracotta);flex:0 0 auto;display:block;}
.lw-pill[aria-expanded="true"]{transform:scale(0.97);}

/* ---------- затемнение фона (только мобильный bottom-sheet) ---------- */
.lw-overlay{
  position:fixed;inset:0;z-index:615;background:rgba(15,12,9,0.55);
  opacity:0;pointer-events:none;transition:opacity .3s var(--ease);
}
.lw-overlay.lw-overlay--show{opacity:1;pointer-events:auto;}

/* ---------- панель: стили общие для sheet и card ---------- */
.lw-panel{
  position:fixed;z-index:620;background:#232320;color:#f4ece1;border-radius:var(--radius);
}
.lw-handle{display:none;}
.lw-close{
  position:absolute;top:14px;right:14px;width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:none;color:rgba(244,236,225,0.6);
  font-size:15px;cursor:pointer;transition:color .2s;
}
.lw-close:hover{color:#fff;}
.lw-body{padding:26px 24px 24px;}
.lw-title{font-family:'Fraunces', serif;font-weight:400;font-style:italic;font-size:16px;line-height:1.4;color:#f4ece1;padding-right:26px;}
.lw-tabs{display:flex;gap:8px;margin:20px 0;}
.lw-tab{
  flex:1;text-align:center;padding:11px 8px;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;
  border:1px solid rgba(244,236,225,0.25);color:rgba(244,236,225,0.7);cursor:pointer;
  background:transparent;font-family:'Jost',sans-serif;transition:all .25s;
}
.lw-tab.active{background:var(--terracotta);border-color:var(--terracotta);color:#fff;}
.lw-panel .field{margin-bottom:14px;}
.lw-panel .field label{display:block;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(244,236,225,0.55);margin-bottom:7px;}
.lw-panel .field input{
  width:100%;background:transparent;border:none;border-bottom:1px solid rgba(244,236,225,0.3);
  color:#fff;font-family:'Jost',sans-serif;font-size:16px;padding:9px 2px;outline:none;
  transition:border-color .25s;
}
.lw-panel .field input:focus{border-color:var(--gold);}
.lw-panel .field input::placeholder{color:rgba(244,236,225,0.35);}
.lw-submit{width:100%;margin-top:6px;justify-content:center;}
.lw-status{margin:0 24px 20px;font-size:13px;padding:10px 12px;border-radius:var(--radius);display:none;}
.lw-status.ok{display:block;background:rgba(115,168,111,0.16);color:#a9d6a4;border:1px solid rgba(115,168,111,0.4);}
.lw-status.err{display:block;background:rgba(196,90,74,0.16);color:#e0a89b;border:1px solid rgba(196,90,74,0.4);}
.lw-success{padding:34px 24px 30px;}
.lw-success p{font-family:'Fraunces', serif;font-style:italic;font-size:16px;line-height:1.5;color:#f4ece1;margin:0;}

/* ---------- десктоп (>600): пилюля + карточка 320px, без скролла страницы ---------- */
@media (min-width:601px){
  .lw-pill{display:flex;}
  .lw-panel{
    right:28px;bottom:92px;width:320px;max-width:calc(100vw - 40px);
    box-shadow:0 20px 60px rgba(0,0,0,0.35);
    opacity:0;transform:translateY(12px);pointer-events:none;
    transition:opacity .25s var(--ease), transform .25s var(--ease);
  }
  .lw-panel.lw-panel--show{opacity:1;transform:none;pointer-events:auto;}
}

/* ---------- мобильный (≤600): нижний бар + bottom-sheet ---------- */
@media (max-width:600px){
  .lw-bar{display:flex;}
  .lw-panel{
    left:0;right:0;bottom:0;width:100%;border-radius:16px 16px 0 0;
    max-height:80vh;overflow-y:auto;
    transform:translateY(100%);transition:transform .32s var(--ease);
  }
  .lw-panel.lw-panel--show{transform:translateY(0);}
  .lw-handle{
    display:block;width:36px;height:4px;border-radius:2px;
    background:rgba(244,236,225,0.3);margin:12px auto 0;
  }
}

@media (prefers-reduced-motion: reduce){
  .lw-bar,.lw-panel,.lw-overlay{transition:none !important;}
}

/* ---------- скролл ----------
   Привязка (scroll-snap) убрана намеренно: на телефоне она тормозила инерцию
   и останавливала страницу между блоками. Обычный скролл + плавные появления
   читаются как более дорогая работа, чем принудительные прыжки. */

/* кинематографичный вход: медиа чуть подаётся вперёд, текст догоняет */
@media (prefers-reduced-motion: no-preference){
  .house-media,
  .arch-media,
  .interiors-hero,
  .loc-media{
    overflow:hidden;
  }
  .house-media img,
  .arch-media img,
  .interiors-hero img{
    transform:scale(1.06);
    transition:transform 1.4s var(--ease);
  }
  .reveal.in .house-media img,
  .reveal.in .arch-media img,
  .reveal.in img,
  .house-grid.in .house-media img{
    transform:scale(1);
  }
}

/* ==================================================================
   ОГЛАВЛЕНИЕ (TOC) — боковая панель-книга, выезжает СПРАВА.
   Заменяет старое мобильное меню: раньше .nav-toggle раскрывал
   .nav-links вниз (inline display + класс open-mobile из main.js).
   Замечание заказчика: «сайд бар должен не сверху открываться, а
   справа сбоку» + «оглавление как у книги, по главам, с чёткими
   переходами». Кнопка теперь открывает эту панель на ЛЮБОЙ ширине
   экрана — не только на мобиле; .nav-links на десктопе остаётся как
   отдельный, более короткий путь навигации.
   ================================================================== */

/* кнопка: раньше пряталась на десктопе через display:none выше по файлу
   и появлялась только на ≤980px — теперь видна всегда */
.nav-toggle{
  display:flex;align-items:center;gap:10px;
  background:none;border:none;color:#fff;cursor:pointer;
  padding:6px;font-family:'Jost',sans-serif;
}
.nav-toggle-icon{display:flex;flex-direction:column;gap:4px;width:22px;flex:0 0 auto;}
.nav-toggle-icon i{display:block;height:1px;background:currentColor;}
.nav-toggle-icon i:nth-child(1){width:100%;}
.nav-toggle-icon i:nth-child(2){width:72%;}
.nav-toggle-icon i:nth-child(3){width:86%;}
.nav-toggle-label{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;}
@media (max-width:640px){
  .nav-toggle-label{display:none;} /* на узких экранах остаётся только иконка */
}

/* затемнение под панелью — общее для любой ширины экрана */
.toc-overlay{
  position:fixed;inset:0;z-index:900;background:rgba(15,12,9,0.55);
  opacity:0;pointer-events:none;transition:opacity .34s var(--ease);
}
.toc-overlay.toc-overlay--show{opacity:1;pointer-events:auto;}

/* сама панель */
.toc-panel{
  position:fixed;top:0;right:0;bottom:0;z-index:910;
  width:320px;max-width:86vw;
  background:#232320;color:#f4ece1;
  display:flex;flex-direction:column;
  box-shadow:-24px 0 60px rgba(0,0,0,0.35);
  transform:translateX(100%);
  transition:transform .36s var(--ease);
}
.toc-panel.toc-panel--show{transform:translateX(0);}
@media (min-width:768px){
  .toc-panel{width:340px;}
}

/* полоса прогресса чтения — необязательное усиление подсветки главы */
.toc-progress{position:relative;height:2px;background:rgba(244,236,225,0.12);flex:0 0 auto;}
.toc-progress i{position:absolute;left:0;top:0;bottom:0;width:0%;background:var(--terracotta);display:block;transition:width .15s linear;}

.toc-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:24px 24px 16px;flex:0 0 auto;
}
.toc-head-label{
  font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.24em;
  text-transform:uppercase;color:rgba(244,236,225,0.5);
}
.toc-close{
  width:30px;height:30px;display:flex;align-items:center;justify-content:center;
  background:transparent;border:none;color:rgba(244,236,225,0.6);
  font-size:15px;cursor:pointer;transition:color .2s;
}
.toc-close:hover{color:#fff;}

.toc-list{
  flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;padding:2px 0 20px;
}

/* пронумерованные главы — номер во Fraunces, название в Jost капсом с разрядкой, как .eyebrow */
.toc-item,.toc-subitem{
  display:flex;align-items:baseline;gap:14px;
  padding:14px 24px;border-top:1px solid rgba(244,236,225,0.1);
  transition:background .2s, color .2s;
}
.toc-list > .toc-item:first-child{border-top:none;}
.toc-num{
  font-family:'Fraunces',serif;font-size:15px;color:rgba(244,236,225,0.4);
  flex:0 0 auto;min-width:22px;transition:color .2s;
}
.toc-label{
  font-family:'Jost',sans-serif;font-size:12.5px;letter-spacing:0.1em;
  text-transform:uppercase;color:rgba(244,236,225,0.82);line-height:1.4;transition:color .2s;
}
.toc-item:hover,.toc-subitem:hover{background:rgba(244,236,225,0.06);}
.toc-item:hover .toc-label,.toc-item:hover .toc-num{color:#fff;}
.toc-subitem:hover{color:#fff;}

.toc-item.active{background:rgba(244,236,225,0.07);}
.toc-item.active .toc-num{color:var(--gold);}
.toc-item.active .toc-label{color:#fff;}

/* «Четыре дома» — визуальная вложенность подпунктов домов под общей главой */
.toc-group{display:flex;flex-direction:column;}
.toc-sub{display:flex;flex-direction:column;background:rgba(0,0,0,0.16);}
.toc-subitem{
  padding:10px 24px 10px 60px;border-top:1px solid rgba(244,236,225,0.06);
  font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:rgba(244,236,225,0.6);
  transition:color .2s;
}
.toc-subitem.active{color:var(--gold);}

/* заявка — последний пункт, выделен терракотой, прижат к низу панели */
.toc-item--accent{margin-top:auto;}
.toc-item--accent .toc-num,.toc-item--accent .toc-label{color:var(--terracotta);}
.toc-item--accent:hover{background:rgba(177,85,46,0.14);}
.toc-item--accent:hover .toc-num,.toc-item--accent:hover .toc-label{color:#fff;}
.toc-item--accent.active{background:rgba(177,85,46,0.2);}

@media (prefers-reduced-motion: reduce){
  .toc-panel,.toc-overlay,.toc-progress i{transition:none !important;}
}

/* во время программного скролла к главе scroll-snap перетягивал бы
   секцию строго под верх окна, «съедая» поправку на высоту шапки —
   на время анимации привязку отключаем (см. scrollToChapter в js/main.js) */
html.toc-scrolling{scroll-snap-type:none;}

/* ---------- мобильная плотность и разбор наложений (по записи экрана 31.07) ---------- */
@media (max-width:820px){
  /* Текст сада лежал абсолютом поверх видео: при длинном заголовке он вылезал
     за пределы секции и наезжал на следующий блок. Ставим его в поток. */
  .landscape{display:flex;flex-direction:column;}
  .landscape-media{height:52vh;min-height:0;}
  .landscape-copy{position:static;padding:30px 0 36px;background:var(--terracotta-deep);}
  .landscape-copy h2{font-size:clamp(26px,7vw,34px);}

  /* Секции занимали по экрану пустоты сверху и снизу — ужимаем ритм,
     чтобы контент шёл плотно и не приходилось листать «ничто». */
  .location,.house,.service,.auto,.prive,.developer,.lead,.interiors,.architecture,.garden-extra{
    padding-top:clamp(48px,7vh,72px);
    padding-bottom:clamp(48px,7vh,72px);
  }
  .house-grid,.arch-grid,.loc-grid,.prive-grid,.dev-grid,.lead-grid,.intro .grid{gap:26px;}
  .houses-intro-media{height:62vh;min-height:0;}
  .interiors .head{margin-bottom:26px;}

  /* Портретные кадры занимали почти весь экран — ограничиваем,
     чтобы рядом с картинкой всегда было видно начало текста. */
  .house-media img,.arch-media img{max-height:62vh;width:100%;object-fit:cover;}
  .interiors-hero img{max-height:52vh;}
}

/* Плавное появление — но контент никогда не остаётся невидимым:
   элементы раскрываются с запасом до входа в экран (см. rootMargin в main.js). */
.reveal{transform:translateY(22px);}
.reveal.in{transition:opacity .7s var(--ease), transform .7s var(--ease);}

/* ---------- добивка ритма на телефоне ---------- */
@media (max-width:820px){
  /* между полосой-кадром и следующей секцией зияла пустая полоса в пол-экрана */
  .facade-strip{padding-top:clamp(28px,4vh,44px) !important;padding-bottom:clamp(28px,4vh,44px) !important;}
  .facade-strip .band-cap,.garden-extra .band-cap{
    margin-top:14px;gap:6px;font-size:12.5px;line-height:1.5;
  }
  .house-mood,.garden-split{margin-top:28px !important;}
  .service-head,.interiors .head{margin-bottom:22px;}
  .num-item{padding-top:16px;}
  .numbers{padding:clamp(44px,6vh,64px) 0;}
  .intro{padding:clamp(48px,7vh,72px) 0 clamp(36px,5vh,52px);}

  /* появление быстрее — на телефоне длинная анимация читается как подвисание */
  .reveal.in{transition:opacity .45s var(--ease), transform .45s var(--ease);}
  .stagger.in > *{transition:opacity .45s var(--ease), transform .45s var(--ease);}
}

/* согласие под кнопкой в виджете заявки */
.lw-note{
  margin:14px 0 0;font-size:11px;line-height:1.5;
  color:rgba(244,236,225,0.45);
}

/* ================================================================
   03.08 — контраст текста (WCAG AA) перед выходом на боевой домен.
   Терракота и --stone задавались под кремовый фон, но применялись и в
   угольных секциях; заголовки там наследовали --ink и уходили в чёрный
   по чёрному. Палитра прежняя — меняется ступень под конкретный фон.
   ================================================================ */
:root{ --terracotta-ink:#8a3f22; }   /* терракота для мелкого текста по крему */

.eyebrow{color:var(--terracotta-ink);}
.numbers .eyebrow,.houses-intro .eyebrow,.service .eyebrow,.auto .eyebrow,
.lead .eyebrow,.interiors .eyebrow,.theme-nox .eyebrow,.on-dark .eyebrow,
footer .eyebrow,.landscape-copy .eyebrow{color:var(--gold);}

/* в угольных секциях заголовки и текст идут светлыми */
.auto h2,.auto h3,.auto h4,.service h2,.service h3,.interiors h2,.interiors h3,
.numbers h2,.numbers h3,.lead h2,.lead h3,.theme-nox h2,.theme-nox h3{color:#fff;}
.auto p,.service p,.interiors p{color:rgba(244,236,225,0.78);}

/* мелкие подписи: по крему — глубже, по углю — светлее */
.dist-item .name small,.credit-row div .k,.house-mood-inline figcaption,
.house-meta div .l{color:var(--stone-dark);}
.theme-nox .house-meta div .l,.auto .house-meta div .l,.interiors .house-meta div .l,
.theme-nox .house-mood-inline figcaption,.auto .house-mood-inline figcaption,
.theme-nox .credit-row div .k{color:rgba(244,236,225,0.72);}

/* золото по глубокой терракоте даёт 3.08 — берём кремовый */
.theme-nox .eyebrow,[style*="8a3f22"] .eyebrow{color:var(--cream);}

/* контурная кнопка для светлых участков (парная к .btn-ghost-dark) */
.btn-ghost-ink{color:var(--ink);border-color:rgba(33,29,24,0.42);}
.btn-ghost-ink:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

/* на мобилке .landscape-copy получает подложку --terracotta-deep,
   и золото по ней даёт 3.08 — там надстрочная идёт кремовой */
@media (max-width:980px){
  .landscape-copy .eyebrow{color:var(--cream);}
}
/* терракота 11px по крему — 4.26, добираем до нормы */
.partner-cat .k{color:var(--terracotta-ink);}

/* парная к терракотовой: угольная заливка для светлого низа кадра */
.btn-solid-ink{background:var(--charcoal);border-color:var(--charcoal);color:#fff;}
.btn-solid-ink:hover{background:#1a1916;border-color:#1a1916;color:#fff;}
